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

  1. 修改配置文件, 以便yum下载时产生包
vim /etc/yum.conf
keepcache=1
  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.

  1. 找到包
# 安装包
# /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

因为下载的时候拥有所有包的依赖关系,安装的时候即使不按照顺序来也能达到同样的效果.

posted @ 2021-06-29 09:59  Jrri  阅读(8706)  评论(0编辑  收藏  举报