本文利用一个比较简单方便的方法为Ubuntu1804_server的服务器离线安装GCC 7.5

之前写过一篇关于离线安装软件的文章。可是如果生产服务器有大量需要离线安装升级软件的话,还是建议去一劳永逸的搭建一个‘apt’源,如果并不是经常离线安装软件的话,看看之前我的博文估计就能应付了。

Ubuntu系统光盘上的软件包少的可怜,上次我使用Ubuntu 1804 server的安装光盘建了‘apt’源,本来想像着能够安装一些常用的软件的,可是就连最常用的‘vim’它都没有包含进去,大家也不要对ubuntu的安装光盘抱有太大的希望了,大家可以查看一下,‘desktop’的光盘才2G多,‘server’的光盘1G都不到,你还希望它能包含多少安装包呢?不像‘centos everything’动辄10个GB。

好了,废话不多说,开始今天的教程。

1.首先准备好和离线机器相同的在线系统

什么意思呢,也就是说你要有一台和你的无互联网环境的服务器相同的系统的联网服务器,当然你可以在虚拟机上,或者你的测试环境中搭建,硬件无需相同,但是在线服务器和离线服务器的系统版本要一致。比如你的离线服务器是ubuntu 1804 server那么你就需要准备一台相同的可以联网的ubuntu 1804 server

2.下载离线安装包

本文就以安装GCC 7.5为例给大家进行示范,希望读者诸君能够举一反三。

首先使用‘gcc -v’命令查看一下系统中安装‘GCC’没有。

gcc -v

image.png
看来这台机器是没有安装‘gcc’的。

使用‘apt-get install’命令下载并安装‘GCC’

‘apt’和‘apt-get’命令的区别就是后者在安装软件之前先将所需的安装包下载到本地然后再安装,而‘apt’命令直接联网安装并不下载。

我们正是利用了‘apt-get’先下载再安装的特点,来收集所需的离线安装包的,用这种方法收集的离线安装包可用性和成功率都要比你千辛万苦的到Linux package网站上手动一个一个依赖去下载要好的多。

好了,原理咱们明白了,是不是所有的离线安装都能搞定了啊。

‘apt-get’命令将安装包都下载到/var/cache/apt/archives目录下,为了避免其他安装包的干扰,使用‘apt clean all’命令将该目录下的缓存包清理一下。

apt clean all

image.png
现在我这个目录下是干净的了,接下来就下载安装‘gcc 7.5’。

apt-get install -y gcc

image.png
好了安装成功了,验证一下吧。

gcc -v

image.png
再看一下/var/cache/apt/archives目录下都有什么了吧。
image.png
看到没,这一堆deb包,如果你挨个去网上下载需要浪费很多时间吧。

接下来我们需要把除‘lock’和‘partial’之两个文件和文件夹之外的所有‘deb’包下载到U盘,然后再到离线的机器上去安装。

3.在离线的服务器上安装GCC7.5

先确认一下目标服务器上有没有安装‘gcc’。
image.png
看来是没有安装。

然后把我们U盘中的‘GCC7.5’离线包上传到服务器上,目录你可以自定,这里我上传到了‘/home/username/gcc_deb’目录下。

cd gcc_deb
dpkg -i *.deb

image.png
image.png
安装没有报错,验证一下吧。
image.png
好了,本教程就到这里了,大家学会了没有?

关注我,和博主一起进步。