CentOS 利用 yum 下载离线包 离线部署服务器

2021年07月26日 116点热度 0人点赞 0条评论

在 linux 环境部署项目的时候,有时候会遇到 客户那边是内网环境,这时候很多 yum 包无法在线下载,以下提供几种方法可以方便的在客户内网部署 yum 包

Downloadonly工具

安装工具

yum install yum-plugin-downloadonly

命令格式

yum install –-downloadonly 软件包名(可加上版本号,指定版本)

软件包保存位置

默认保存到/var/cache/yum/ 下的软件相应的repo的源的目录的packages目录下

cachedir=/var/cache/yum/basearch/releasever

/var/cache/yum/x86_64/7/base/packages
- x86_64是指令集
- 7 是 centos版本
- base 是 repo源
- packages 包所在最后一层目录

vi /etc/yum.conf 

[main] 

cachedir=/var/cache/yum 

keepcache=1 

#将 keepcache=0 修改为 keepcache=1 
#保留的rpm安装包在 /var/cache/yum

1 默认rpm包保留在/var/cache/yum下,找出来并拷贝到需要安装的服务器上。
2 用以下命令安装

# 因为部分rpm包互相依赖,只能用此方法安装。
rpm -ivh *.rpm --nodeps --force

指定目录安装

也可以通过 –downloaddir 来指定位置,软件包和依赖的软件将被下载到此目录
yum install –-downloadonly –-downloaddir=/root/mypackages/ vim

Yumdownloader工具

我们可以通过 yum 命令的 Yumdownloader 插件下载 RPM 软件包及其所有依赖包。

安装工具

yum install yum-utils

命令格式

yumdownloader --resolve --destdir=存放位置 软件包名
- –resolve 可选,意为下依赖包
- –destdir 可选,指定软件存放位置,不加放到当前目录

例如:yumdownloader --resolve httpd #下载httpd最新安装包及依赖

[root@localhost http-2.4.6bao-yilai]# ls
apr-1.4.8-5.el7.x86_64.rpm       httpd-2.4.6-90.el7.centos.x86_64.rpm        mailcap-2.1.41-2.el7.noarch.rpm
apr-util-1.5.2-6.el7.x86_64.rpm  httpd-tools-2.4.6-90.el7.centos.x86_64.rpm

然后我们可以将这些包上传到其他机器,利用rpm -ivh *命令,一键安装。

[root@localhost http-2.4.6bao-yilai]# rpm -ivh *
准备中...                          ################################# [100%]
正在升级/安装...
   1:apr-1.4.8-5.el7                  ################################# [ 20%]
   2:apr-util-1.5.2-6.el7             ################################# [ 40%]
   3:httpd-tools-2.4.6-90.el7.centos  ################################# [ 60%]
   4:mailcap-2.1.41-2.el7             ################################# [ 80%]
   5:httpd-2.4.6-90.el7.centos        ################################# [100%]
[root@localhost http-2.4.6bao-yilai]# rpm -q httpd
httpd-2.4.6-90.el7.centos.x86_64
[root@localhost http-2.4.6bao-yilai]# systemctl start httpd.service 
[root@localhost http-2.4.6bao-yilai]# 

标准安装命令

yumdownloader –-resolve –-destdir=/root/mypackages/ vim

开发软件包

yumdownloader "@Development Tools" --resolve --destdir /root/mypackages/

reposync工具

我们可以通过 yum 命令的reposync命令下载 某一个repo源的所有RPM 软件包。

##命令格式
reposync -r repo源的名称 -p 指定下载的路径(可选)

软件包保存位置:
默认,将会下载软件包到当前目录下(自动生成repo源的目录及Packges)

浮生一程

读书-行路-悦人-识物