yum本地包的获取与安装
yum包安装
需要在无外网服务器上用yum安装软件
分为两步走:
- 产生包
- 使用包
产生包
下载安装yum-utils
,yum install -y yum-utils
方法有三:
方法一: repotrack
# 下载依赖到当前目录
repotrack httpd php subversion mod_dav_svn
repotrack不仅能下载包的依赖, 还会下载依赖所需要的依赖
方法二: yumdownloader
yumdownloader httpd php subversion mod_dav_svn
# 指定目录(不指定为当前目录)
yumdownloader --destdir=/apps/yumtmp/downloader httpd php subversion mod_dav_svn
# 下载包时,同时下载相关依赖
yumdownloader --resolve --destdir=/apps/yumtmp/downloader httpd php subversion mod_dav_svn
yumdownloader 只下载包的依赖
方法三: yum指定downloadonly
- 修改配置文件, 以便yum下载时产生包
vim /etc/yum.conf
keepcache=1
- 下载软件, 并生成包
yum install --downloadonly httpd php subversion mod_dav_svn
yum install --downloadonly --downloaddir=/tmp/yumpackages httpd php subversion mod_dav_svn
yum
指定downloadonly和yumdownloader
都可以获取包.
不过,前者获取依赖的判断依据,是以所在服务器当前情况为准的. 如果需要下载的包依赖A,B,C. 而所在服务器有B, 则只下载A,C.
- 找到包
# 安装包
# /var/cache/yum/x86_64/7/base/packages
/var/cache/yum/base/packages
# 更新包
/var/cache/yum/updates/packages
使用包
将包拷贝进需要安装的内网, 调用安装.
方法有以下几种:
方法一: yum -C install
把下载的包,拷贝进缓存包的默认目录/var/cache/yum/base/packages
使用命令yum -C install [packageName]
从缓存中安装包
方法二: yum localinstall
直接指定本地包的文件
# 安装当前目录下所有的包
yum localinstall *.rpm
方法三: rpm -ivh --force
暴力安装当前目录下所有的包, 忽略依赖顺序, 简单又省事
rpm -ivh --force *.rpm
因为下载的时候拥有所有包的依赖关系,安装的时候即使不按照顺序来也能达到同样的效果.