内网环境下,出于安全考虑等,服务器系统被禁止访问互联网,这种情况下要安装软件包无法使用官方软件源或者官方网站列出的镜像软件源。因此只能通过维护一个本地源,或者下载软件包并传递到本地使用dpkg进行安装。
这里介绍后一种安装方式。
使用dpkg离线安装软件包
要离线安装软件包,首先要下载软件包,可以在官网下载,但不太便利,推荐在能访问互联网的系统上维护一个和内网机器系统版本一致的测试系统,在测试系统中下载并安装软件包,确认不会有问题后,将软件包及其依赖传递到内网机器系统进行安装。
具体下载方式
-
apt install --download-only software_name
-
第一步会下载软件包及其依赖的包,下载的目的位置是*/var/cache/apt/archives*,将下载好的包打包好,用于向内网传递。下载时 apt 会告诉你下载了哪些包,你也可以通过
apt depends software_name
查看软件有哪些依赖。
需要注意的是,第一步使用的下载方法只会下载目的软件包和未安装的依赖,此外是否只下载目的软件包及其依赖,而不下载其依赖的依赖,本人尚未验证。
如果要递归查询软件的依赖,可以借助工具 apt-rdepends ,安装 apt-rdepends ,然后执行apt-rdepends software_name
,递归查询其软件依赖。apt download $(apt-rdepends software_name |grep -v "^ ")
可以确保所有需要的包都能够被下载。
具体安装方式
将在测试系统下载好的软件包及其依赖传递到内网机器系统后,执行dpkg -i *
安装下载好的包(当前目录应该只用来存放下载的包)。
需要注意的是,dpkg 按照 deb 包在文件系统中的排列顺序来安装包,假如排在前面的包依赖排在后面的包,前面的包将安装失败,不过没有关系,不缺少依赖的包会安装成功,再次执行dpkg -i *
,依赖补全的包就可以安装成功,如此循环,直到所有的包都安装成功。
参考资料
https://blog.csdn.net/zgp210317/article/details/120586189
标签:依赖,内网,deepin,apt,软件包,安装,下载 From: https://www.cnblogs.com/realzhangsan/p/17922046.html