【yum】解决离线安装依赖包的方法

如果搭建一个高可用的反向代理,需要在两台服务器上安装 nginx 和 keepalived,那么怎么离线安装它的依赖呢?

6624809-cf070924cad5b4ad.png

解决办法是,下载所有所需的rpm包和它的依赖,拷贝到目标安装机器上,然后搭建一个本地yum仓库,安装完成之后删除本地仓库。

反向代理所需:  nginx  keepalived

搭建仓库 所需:  createrepo

一、新建一台CentOS7 mini虚拟机,联网下载所有所需的rpm包和其依赖

#yum -y  install epel-release

# mkdir /root/abc

# yum  -y  install  createrepo   --downloadonly    --downloaddir=/root/abc

# yum  -y  install nginx  keepalived   --downloadonly    --downloaddir=/root/abc


注: yum  -y  install   XXX    --downloadonly    --downloaddir=/XXX

安装软件包xxx下载到/xxx位置,然后记得指定--downloadonly,只下载,不安装。

此方法,会将主软件包和基于你现在的操作系统缺少的依赖关系包一并下载!

基于你现在的操作系统,意味着不同版本的操作系统(桌面版、mini版等)下载的软件依赖包个数会不一样!

你的操作系统已装的包越多,那么下下来的依赖会越少,所以请选择合适的基操作系统!

下载完成后,我们可以看到/root/abc 下有多个rpm包(主包及其依赖),接下来我们就利用这些rpm包搭建一个本地yum仓库。

6624809-72255c0a02132195

二、拷贝下载的rpm包到离线目标机器(假设为/root/abc),搭建本地yum仓库

将目标机器系统自带的仓库文件,转移备份

# mkdir  /etc/yum.repos.d/backup

#  mv    /etc/yum.repos.d/*.repo    /etc/yum.repos.d/backup

# yum clean all

安装搭建仓库所需的的软件包,主包为createrepo,请按如下顺序安装:

# cd /root/abc

  rpm -qa | grep libxml2 | xargs rpm -e --nodeps

  rpm -qa | grep deltarpm| xargs rpm -e --nodeps

  rpm -ivh  deltarpm-3.6-3.el7.x86_64.rpm

  rpm -ivh  python-deltarpm-3.6-3.el7.x86_64.rpm

  rpm -ivh  libxml2-2.9.1-6.el7_2.3.x86_64.rpm

  rpm -ivh  libxml2-python-2.9.1-6.el7_2.3.x86_64.rpm

  rpm -ivh  createrepo-0.9.9-28.el7.noarch.rpm

6624809-f95142aaf6ea7a73

# mkdir  -p    /var/ftp/pub/localrepo

# cp  -f   /root/abc/*    /var/ftp/pub/localrepo

# touch /etc/yum.repos.d/localrepo.repo

#echo "[localrepo]"                                                 >> /etc/yum.repos.d/localrepo.repo

#echo "name=Local Repository"                            >> /etc/yum.repos.d/localrepo.repo

#echo "baseurl=file:///var/ftp/pub/localrepo"          >> /etc/yum.repos.d/localrepo.repo

#echo "gpgcheck=0"                                             >> /etc/yum.repos.d/localrepo.repo

#echo "enabled=1"                                                >> /etc/yum.repos.d/localrepo.repo

#createrepo -v /var/ftp/pub/localrepo

#yum repolist

6624809-c1ab36fe64a8e133

三、利用本地yum仓库,安装所需软件包

因为我们已利用我们所需的软件和其依赖包搭建了本地仓库,安装过程中yum会自己解决依赖包安装的顺序。

createrepo 在上面已安装,下面无需再装。

# yum -y install   nginx  keepalived

6624809-32b6d70c29a680fd
6624809-336ae03c415b0a43

四、安装完成后,删除搭建的本地yum仓库,恢复系统yum仓库文件

# rm  -rf    /var/ftp/pub/localrepo

# rm  -rf   /etc/yum.repos.d/localrepo.repo

# mv   /etc/yum.repos.d/backup/*.repo   /etc/yum.repos.d/

#  rm  -rf  /etc/yum.repos.d/backup

# yum clean all

猜你喜欢

转载自blog.csdn.net/weixin_33816821/article/details/87230968
今日推荐