YUM概述
YUM (Yellow dog Updater Modified)
- 基于RPM包构建的软件更新机制
- 可以自动解决依赖关系
- 所有软件包由集中的YUM软件仓库提供
YUM工具概述
YUM的配置文件
- 基本设置:/etc/yum.conf
- 仓库设置:/etclyum.repos.d/*.repo
- 日志文件: /var/log/yum.log
缓存目录
- 存放下载的软件包、仓库信息等数据
- 位于 /var/cache/yum/$basearch/ $releasever
软件包查询
- 查询软件包
yum list [软件名]
yum info [软件名]
yum search <关键词>
yum whatprovides <关键词>
- 示例
[root@localhost ~]# yum list
[root@localhost ~]# yum list httpd
[root@localhost ~]# yum info vsftpd
[root@localhost ~]# yum search gcc
[root@localhost ~]# yum whatprovides vim
- 查询软件包组
yum grouplist [包组名]
yum groupinfo <包组名>
- 示例
[root@localhost ~]# yum grouplist
[root@localhost ~]# yum grouplist gnome-desktop
[root@localhost~ ]# yum groupinfo gnome-desktop
软件安装、升级
- 安装升级
yum install [软件名]
yum groupinstall <包组名>
- 升级软件
yum update
yum groupupdate
- 示例
[root@localhost ~]# yum -y install net-snmp
[root@localhost ~]# yum -y groupinstall gnome-desktop
[root@localhost ~]# yum -y update
卸载软件
- 卸载软件
yum remove <软件名>
yum group remove <包组名>
- 示例
[root@localhost ~]# yum -y remove autofs
[root@localhost ~]# yum -y groupremove gnome-desktop
本地临时搭建yum源仓库
mount /dev/sr0 /mnt #挂载光盘
cd /etc/yum.repos.d/
mkdir backup #创建目录存放原yum仓库配置文件的备份
mv C* backup/ #将所有原yum配置文件移到backup目录备份
cp backup/CentOS-Base.repo local.repo #拷贝一个模板到本目录下命名为local.repo
vi local.repo
配置修改如下
[development] 名为development才能使用kickstart的软件包选择
name=CentOS
baseurl=file:///mnt #yum仓库软件包的路径
gpgcheck=0
enabled=1
#gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
本地yum源就搭好了
yum clean all #清除原yum的缓存
yum makecache #重新载入新的缓存信息
yum -y install vsftpd #可以开始新的yum安装了
局域网网络yum安装源部署
服务器端20.0.0.11
[root@dns1 ~]# mkdir /var/ftp/CentOS7 #新建目录CentOS7,因为/var/ftp/目录是ftp协议文件共享的目录,我们的软件仓库需要通过ftp共享给客户机,故建在此处
[root@dns1 ~]# cp -rf /mnt/* /var/ftp/CentOS7 #将光盘自带的仓库文件复制到此共享目录,作为我们的软件仓库
上面是光盘自带的,若我们用自己收集的更多软件包来做仓库,可以如下操作
先将我们自己准备的rpm安装软件包(必须包括存在依赖关系的所有安装文件)放在目录/var/ftp/other下
[root@dns1 ~]# yum -y install createrepo #安装createrepo工具
[root@dns1 ~]# cd /var/ftp/other #需先手动创建other目录
[root@dns1 other]# createrepo -g /mnt/repodata/repomd.xml ./ #以现有的repodata为模板创建repodata数据文件
[root@dns1 ~]# yum -y install vsftpd #安装vsftp
[root@dns1 ~]# chkconfig vsftpd on #检测vsftp
[root@dns1 ~]# systemctl start vsftpd #启动服务vsftp
在window浏览器上访问ftp://20.0.0.11/CentOS7/ 可以看到共享的目录文件
客户端配置软件仓位置20.0.0.129
yum工具的软件仓库信息存放在/etc/yum.repos.d目录下扩展名为.repo的文件中
[root@a ~]# cd /etc/yum.repos.d/
[root@a ~]# touch CentOS7.repo
[root@a ~]# vi /etc/yum.repos.d/CentOS7.repo
[base]
name=YUM1
baseurl=ftp://20.0.0.11/CentOS7 #设置仓库额位置
enabled=1
gpgcheck=0
[other]
name=YUMother
baseurl=ftp://20.0.0.11/other
enabled=1
gpgcheck=0
[/etc/yum.repos.d/目录下若有其他的*.repo文件,建议删除或备份到其他目录,以免启用其他的文件