yum(全称为 Yellow dog Updater, Modified)
yum作用
yum是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载,RPM包并且安装,可以自动处理依赖性关系.
yum工作原理
基于c/s机构,在server端,存放了rpm包及rpm元数据,元数据的内容包括:rpm包说明、版本信息、依赖性等。客户端需要用yum时。写一个配置文件,把路径指向yum服务器,客户端向服务端发起请求,服务端先把元数据信息缓存至客户端,根据缓存信息再下载对应的rpm包至客户端进行安装。
yum缓存带来的额外问题
如果yum服务端地址发生改变,客户端也重新指定了路径,但客户端中缓存rpm的元数据还是比较老旧的,会导致安装失败,此时需要清除yum缓存,执行命令yum clean all。
yum配置文件
/etc/yum.conf
[main] ###yum的名称
cachedir=/var/cache/yum/$basearch/$releasever ###元数据缓存,$basearch表示架构$releasever 表示版 本信息
keepcache=0 ###rpm包缓存,0表示不缓存
debuglevel=2
logfile=/var/log/yum.log ###日志信息
exactarch=1
obsoletes=1
gpgcheck=1 ###检查rpm包签名和完整性
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
配置yum
1.确保本地光盘已经挂载
mount /dev/sr0 /mnt/cdrom
2.在/etc/yum.repos.d/目录下编辑一个配置文件,以.repo后缀结尾的文件,如果该目录下还有系统自带配置的yum,先暂时禁用
[base] ###容器名称
baseurl=file:///mnt/cdrom ###本地yum路径,找到光盘中repodata父目录即为yum路径
gpgcheck=0 ###不检rpm包查签名和完整性
一个简单的yum源配置完成,注:file后面的路径跟的是本地yum源的路径,http、https、ftp则跟的是网络yum的路径
3.还可以根据需要添加epel源
[base]
baseurl=file:///mnt/cdrom
gpgcheck=0
[epel]
baseurl=https://mirrors.aliyun.com/epel/7/x86_64/
gpgcheck=0
添加完成后清除缓存yum clean all
3.检查签名和完整性
gpgcheck=0表示不检查签名和完整性,检查签名和完整性需要导入公钥后才能检查,把此项换成gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-CentOS-7,系统则可根据路径自动导入密钥,也可以手动导入密钥rpm –import RPM-GPG-KEY-CentOS-6。
4.临时禁用repo容器,在其后面加上
enabled=0
5.baseurl可以写多个路径
baseurl=file:///mnt/cdrom
http://172.20.0.1/centos/7/
6.mirrorlist列表
mirrorlist=/data/baselist
baselist存放的内容如:
file:///mnt/cdrom
http://172.20.0.1/centos/7/
yum相关命令
yum repolist 列出所有repo容器
yum repolist 列出所有repo容器包括禁用的
yum list 列出所有包(缓存元数据)
配置网络yum源
按照https://mirrors.aliyun.com/centos/7/os/x86_64/格式配置一个专门yum服务器,为网络中的多台服务器提供yum服务(实验环境centos7)
1.在服务端安装http并启动服务 服务器ip172.20.109.4
yum -y install httpd
systemctl start httpd
注意关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
2.在/var/www/html/下创建目录
mkdir -p centos/{6,7}/os/x86_64
3.把6和7版本光盘中文件分别拷入/var/www/html/centos/6/os/x86_64和/var/www/html/centos/7/os/x86_64目录中,或者以光盘挂载形式
cp -avr /mnt/cdrom/* /var/www/html/centos/7/os/x86_64/
scp -vr /mnt/cdrom/* /var/www/html/centos/6/os/x86_64/
4.在浏览器上分别输入路径
http://172.20.109.4/ centos/7/os/x86_64/
http://172.20.109.4/ centos/6/os/x86_64/
5.在网络中的所有客户端服务器均可根据版本选择设置baseurl
baseurl= http://172.20.109.4/ centos/7/os/x86_64/
baseurl= http://172.20.109.4/ centos/6/os/x86_64/
也可以引用变量,无论在6版本和7版本,写成如下形式:
baseurl= http://172.20.109.4/ centos/ $releasever/os/ $basearch/
本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/96812