以安装 glibc-2.17-292.el7.i686.rpm 为例:
在需要安装的主机上直接执行安命令,来查看需要的依赖包
sudo yum install glibc-2.17-292.el7.i686.rpm
可以查看到需要的依赖包
Error downloading packages:
nspr-4.21.0-1.el7.x86_64: [Errno 256] No more mirrors to try.
nss-softokn-freebl-3.44.0-5.el7.x86_64: [Errno 256] No more mirrors to try.
glibc-2.17-292.el7.i686: [Errno 256] No more mirrors to try.
nss-softokn-freebl-3.44.0-5.el7.i686: [Errno 256] No more mirrors to try.
nss-util-3.44.0-3.el7.x86_64: [Errno 256] No more mirrors to try.
使用linux下载
yum install --downloadonly --downloaddir=/opt/package/python-gobject nspr-4.21.0-1.el7.x86_64
或者使用yumdownloader
安装 yumdownloader
yum install yum-utils -y
--resolve可以同时下载该包的依赖
# 下载包
yumdownloader --resolve --destdir=/opt/package/test nspr-4.21.0-1.el7.x86_64
# 下载所有依赖包
yumdownloader --resolve --alldeps --destdir=/opt/package system-lsb-core-4.1-47.0.1.an8.x86_64
在rpm官网搜索并下载所有依赖包:
RPM官网地址: RPM Search
RPM其他下载地址:https://pkgs.org/
找到自己对应的版本,我的是centos7,如果没有直接选择Scientific Linux 7版本
注意:如果下载地址是ftp://ftp.pbone.net/mirror/开头,则可以使用工具下载,例如迅雷
将所有的依赖包下载上传到离线主机之后,切换目录到依赖包目录,使用 sudo yum localinstall xxx 安装,将所有依赖包都加上,以空格隔开:
sudo yum localinstall glibc-2.17-292.el7.i686.rpm nspr-4.21.0-1.el7.x86_64.rpm nss-softokn-freebl-3.44.0-5.el7.x86_64.rpm nss-util-3.44.0-3.el7.x86_64.rpm nss-softokn-freebl-3.44.0-5.el7.i686.rpm
注意:如果安装时遇到依赖包冲突,或者依赖嵌套太多,可以考虑强制安装,加参数:--nodeps --force
sudo rpm -ivh python-gobject-3.22.0-1.el7_4.1.x86_64.rpm python-gobject-base-3.22.0-1.el7_4.1.x86_64.rpm cairo-gobject-1.15.12-4.el7.x86_64.rpm cairo-1.15.12-4.el7.x86_64.rpm gobject-introspection-1.56.1-1.el7.x86_64.rpm pycairo-1.8.10-8.el7.x86_64.rpm --nodeps --force
这样就安装成功
如果觉得一个以下下载依赖包麻烦,可以找一个有网的相同环境的主机
通过修改联网机yum配置,在使用yum install xxx 的时候直接将这些依赖保存在指定目录中,而不是直接删除,便于后面将这些依赖包拷贝到离线服务器中。具体操作如下:
vim /etc/yum.conf
cachedir=/var/cache/yum # yum install xxx中xxx依赖的存储位置
keepcache=1 # 改为keepcache=1这样yum install xxx下载的rpm包就不会删除
运行安装命令下载依赖
sudo yum install glibc-2.17-292.el7.i686.rpm
到 /var/cache/yum 目录下即可看到所有依赖包