我们通常在Linux中yum安装的时候相当方便,但是yum的安装需要有网,如果某一天我们在一个无网络离线环境下想要安装某个东西那就很让人头疼,本篇教大家两个在有网环境下安装yum源中某个组件时顺便保存rpm包的方式,这样在离线环境下就可直接离线rpm包安装了,但是注意无论是那种方式,均需要保证当前linux没有安装你需要保存的yum包
第一种方式:开启yum自带的缓存功能
第一步:修改/etc/yum.conf
文件,文件开头如下
[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=5
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release
我们把keepcache
的值改成从0
改成1
,修改完成保存退出,无需手动做生效等操作,自动及时生效。
第二步:进入/var/cache/yum
文件夹下,通常这个文件夹下根据系统类别分,为不同的文件夹,一般如果你没有做一键安装依赖等操作,那就只有一个以你系统类别为名字的文件夹,比如我的是x86_64
-7
,我们进入其中
第三步:进入该文件后,你会看见如base
、extras
这些文件夹,这些文件夹就是对应了你yum源的仓库,默认情况下这些不同的仓库文件夹里面会有一个packages
文件夹,这个文件夹默认应该是空的
第四步:现在我们以安装expect
为例,演示一下效果,我们正常运行yum install -y expect
,当安装结束后,你要看所有拉取到的安装包,它们的源是谁,如下图expect
以及它依赖的tcl
均来自于base
随后去/var/cache/yum
下找对应的仓库进入旗下的packages
文件夹,你就可以看到所下载的所有包
第二种方式:yum专门提供了yum-plugin-downloadonly插件
这个插件的好处在于,不需要担心包的混乱,第一种方式保存在了固定的路径下,但是不可能说我们每次安装都要去整理一遍包,因此我们可以使用yum-plugin-downloadonly
插件,将yum上的包直接下载到某个用来区分的文件夹下,并且该插件只用来下载安装包,而不会向第一种方式那样产生安装
第一步:安装yum-plugin-downloadonly
yum install yum-plugin-downloadonly
第二步:使用该插件下载安装包
yum install --downloadonly --downloaddir=/opt/wangyang tcl expect
注意目标文件夹需要自行创建,并且下载的包需要写全,这个插件不会自动检查依赖
第三步:最后我们进入目标文件夹就可以看到安装包了