公司研发网络与互联网不通,服务器需要安装的程序都要通过下载 rpm 程序包进行离线安装,但是 rpm 程序包在安装时经常会出现依赖缺失的情况。
强烈推荐:本方法理论上可以下载所有 linux 离线程序安装包
1、安装 repotrack 工具
yum -y install yum-utils 指定下载路径及程序包名称进行下载
/usr/bin/repotrack [options] package1 [package2] [package..]
以下载 nginx 为例
/usr/bin/repotrack -p /home/nginx/ nginx
-p 指定下载路径
/home/nginx/ 为保存路径
将下载好的所有 rpm 打成压缩包方便拷贝
tar -zcvf nginx.tar.gz /home/nginx/
tar -zxvf nginx.tar.gz rpm -ivh --nodeps --force home/nginx/*.rpm
在内网服务器上解压缩并安装程序
2、使用yum
yum reinstall --downloadonly --downloaddir=/tmp/ openssl-devel
--downloadonly仅下载
--downloaddir指定下载目录
3、配置yum
下载的时候自动保存
/etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever #保存路径
keepcache=1
debuglevel=2
logfile=/var/log/yum.log
4、reposync
远端仓库同步到本地
reposync
:可以将远端Yum仓库里面的所有安装包全部下载到本地目录中。 该命令是来自于 yum-utils 软件包里面的。
reposync --repo ks10-adv-updates -p ./ks10-adv-updates