首先,我要关心的问题仍然是如何离线或者本地yum安装rpm包?这其中的关键当然是获取rpm包到本地,这其中的麻烦事是去解析依赖关系。然而,我发现一个极为简单的方法可以不用操心rpm包依赖关系,不多不少的获取全部rpm包,现在直接贴出来:
-
设置可用的源,以及可以装rpm的干净环境
-
开启缓存,vim /etc/yum.conf 设置
cachedir=/var/cache/yum/basearch/releasever keepcache=1
-
为了知道具体用了哪些rpm包,可以先清除缓存包
yum clean packages
-
开始正常安装,记录下所有用到的源,注意不要添加参数-y
yum install xxx
由于开启了缓存,所有包都会下载到缓存目录对应的目录下,目录由yum.conf中cachedir参数设置的,一般在/var/cache/yum下面,例如对于常用的yum源remi-safe其缓存就在下面目录:
/var/cache/yum/x86_64/7/remi-safe/package/
因为我们记录了所有依赖的源,因此所有这些源目录下package/的所有rpm包就是我们所用到包,不会少!
又因为我们一开始就清除了所有缓存包package,因此我们得到的rpm包也不会多!
不多也不少——因此我们得到的rpm包正好是我们所需的全部依赖。
-
将4步得到的所有rpm包复制出来,然后在其目录下执行
yum localinstall -y ./*.rpm
进行安装,或者建立本地库进行安装
这样就得到了所有的、已经做过依赖解析的rpm包,剩下的你就可以自由发挥了。