本次成功案例是ubuntu-server-16.04.5
一、我们所处的背景是Linux服务器完全处于无网状态,而且没有装gcc,make等环境。我们在该背景下,安装离线数据包
.首先在一台有网的相同的服务器上进行操作。
1.apt-cache search XXX (查找XXX有哪些软件包),找到XXX 软件,然后执行apt-get -d install XXX,执行完后,XXX的依赖包就会下载保存在/var/cache/apt/archives里面。在这里注明一点,我曾经在apt-get -d install gcc后进行下面的步骤失败了,后来是apt-get install gcc直接安装后,gcc -v查看后确实安装上了gcc,才成功的。原因是什么呢,我只发现-d安装后deb包没有直接安装上的多,相差的还是很大的。所以建议直接安装,确保把所有的包都已经下载完毕了。
2.生成依赖关系
1>.根目录下新建一个文件夹
$ sudo mkdir offlinePackage
2>.将下载的deb包拷贝到上述新建的文件夹下
$ sudo cp -r /var/cache/apt/archives /offlinePackage
3>.修改文件夹的权限,可读可写可执行
$ sudo chmod 777 -R /offlinPackage/
4>.建立deb包的依赖关系
$ sudo dpkg-scanpackages /offlinePackage/ /dev/null |gzip >/offlinePackage/Packages.gz -r
如果出现错误:sudo: dpkg-scanpackages: command no