yum离线安装软件

注:
这也是别人的东西, 我是搬运工,搬运过来自己的笔记吧!

出现这样的要求,原因很简单,是因为我们经常有无法访问公网,还有各种墙的问题,导致很简单的一个命令就是无法执行,这就需要先在另外一个可以正常访问的机器上将相关的安装包下载下来再弄到需要安装的机器上进行安装。或者通过自己搭建的yum源,将相关安装包更新上去再进行安装。

yum本地安装后再拿到其他机器安装

yum下载的rpm包离线安装

#修改yum设置,让rpm包缓存到本地
vi /etc/yum.conf 

#修改keepcache为1
keepcache=1  

#清空yum缓存
yum clean all

#安装你要离线安装的rpm包
yum install xxx.rpm -y  

#rpm包缓存到了/var/cache/yum下面
cd /var/cache/yum
find ./ -name *.rpm

#找到你的rpm包,并拷走就可以离线安装了

yum离线下载安装包

方法一:yum
yum命令本身就可以用来下载一个RPM包,标准的yum命令提供了–downloadonly(只下载)的选项来达到这个目的。

$ sudo yum install --downloadonly <package-name>

默认情况下,一个下载的RPM包会保存在下面的目录中:

/var/cache/yum/x86_64/[centos/fedora-version]/[repository]/packages

以上的[repository]表示下载包的来源仓库的名称(例如:base、fedora、updates)
如果你想要将一个包下载到一个指定的目录(如/tmp):

$ sudo yum install --downloadonly --downloaddir=/tmp <package-name>

注意,如果下载的包包含了任何没有满足的依赖关系,yum将会把所有的依赖关系包下载,但是都不会被安装。
另外一个重要的事情是,在CentOS/RHEL 6或更早期的版本中,你需要安装一个单独yum插件(名称为 yum-plugin-downloadonly)才能使用–downloadonly命令选项:

$ sudo yum install yum-plugin-downloadonly

如果没有该插件,你会在使用yum时得到以下错误:
Command line error: no such option: --downloadonly

方法二: Yumdownloader
另外一个下载RPM包的方法就是通过一个专门的包下载工具–yumdownloader。 这个工具是yum工具包(包含了用来进行yum包管理的帮助工具套件)的子集。

$ sudo yum install yum-utils

下载一个RPM包:

$ sudo yumdownloader <package-name>

下载的包会被保存在当前目录中。你需要使用root权限,因为yumdownloader会在下载过程中更新包索引文件。与yum命令不同的是,任何依赖包不会被下载。
下载lsof示例:

yumdownloader lsof --resolve --destdir=/data/mydepot/  #resolve下载依赖