YUM是基于rpm但更胜于rpm的软件管理工具
YUM的优点:
1、更方便的管理rpm软件包
2、自动解决了rpm的依赖问题
3、可以配置多个“资源仓库”
…
1、服务器端:在服务器上面存放了所有的RPM软件包,然后以相关的功能去分析每个RPM文件的依赖性关系,将这些数据记录成文件存放在服务器的某特定目录内。
2、客户端:如果需要安装某个软件时,先下载服务器上面记录的依赖性关系文件(可通过WWW或FTP方式,本地YUM通过file方式),通过对下载的纪录数据进行分析,然后取得所有相关的软件,一次全部下载下来进行安装。
主要软件包:yum-3.2.22-26.el5
yum配置文件:/etc/yum.conf (通常无需修改)
仓库配置文件目录:/etc/yum.repos.d/
yum的缓存目录:/var/cache/yum
yum的日志文件:/var/log/yum.log
要创建索引文件,需要使用createrepo命令,软件包:createrepo.noarch
1、挂载光驱
要有仓库,挂载LINUX安装盘就可以得到所有软件包
[root@localhost /]# mount /dev/sr0 /mnt #临时挂载在/mnt下
mount: block device /dev/sr0 is write-protected, mounting read-only
/dev/sr0 表示第一个光驱
/dev/sr1 表示第二个光驱
注意:如果是卸载挂载的光驱:umount /dev/sr0
[root@localhost /]# ls /mnt/Packages/ #查看光盘自带所有软件包
2、设置仓库配置文件,仓库配置文件保存在/etc/yum.repos.d目录
注意:
配置文件一定要在/etc/yum.repos.d目录下,不能在/etc/yum.repos.d目录的子目录下,并且要以.repo结尾。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<span style="font-size: 16px;">[root@localhost /]# cd /etc/<span style="color: rgba(0, 0, 0, 1);">yum.repos.d [root@localhost yum.repos.d]# ls CentOS</span>-Base.repo CentOS-fasttrack.repo CentOS-<span style="color: rgba(0, 0, 0, 1);">Vault.repo CentOS</span>-Debuginfo.repo CentOS-<span style="color: rgba(0, 0, 0, 1);">Media.repo [root@localhost yum.repos.d]# mkdir bak [root@localhost yum.repos.d]# mv </span>*.repo bak <span style="color: rgba(0, 128, 0, 1);">//</span><span style="color: rgba(0, 128, 0, 1);">移除影响系统识别配置文件的其他文件</span><span style="color: rgba(0, 0, 0, 1);"> [root@localhost yum.repos.d]# ls bak [root@localhost yum.repos.d]# vim localyum.repo [root@localhost yum.repos.d]# cat localyum.repo [local_yum] </span><span style="color: rgba(0, 128, 0, 1);">//</span><span style="color: rgba(0, 128, 0, 1);">仓库标签,用于标识不同的仓库</span><span style="color: rgba(0, 0, 0, 1);"> name</span>=local yum <span style="color: rgba(0, 128, 0, 1);">//</span><span style="color: rgba(0, 128, 0, 1);">说明信息,描述的作用</span><span style="color: rgba(0, 0, 0, 1);"> baseurl</span>=file:<span style="color: rgba(128, 128, 128, 1);">///</span><span style="color: rgba(0, 128, 0, 1);">mnt //指定仓库路径,file://表示访问本地硬盘的文件</span><span style="color: rgba(0, 0, 0, 1);"> gpgcheck</span>=<span style="color: rgba(128, 0, 128, 1);">0</span> <span style="color: rgba(0, 128, 0, 1);">//</span><span style="color: rgba(0, 128, 0, 1);">gpgcheck用来校验软件是否官方出品,等于0表示不校验</span><span style="color: rgba(0, 0, 0, 1);"> enabled</span>=<span style="color: rgba(128, 0, 128, 1);">1</span> <span style="color: rgba(0, 128, 0, 1);">//</span><span style="color: rgba(0, 128, 0, 1);">可以使用该仓库</span></span> |
注意:
1、如果校检即gpgcheck=1,则需要导入公钥(两种方式)
1、写入配置文件gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
2、rpm –import /mnt/RPM-GPG-KEY-CentOS-6 #rpm命令导入公钥
2、如果不校检即gpgcheck=0,不检测则不需要导入公钥
3、清空缓存
[root@localhost yum.repos.d]# yum clean all
4、可以安装软件了,安装前可以查看一下,有哪些软件可以安装的
1 2 3 4 5 6 7 8 9 10 |
<span style="font-size: 16px;"><span style="color: rgba(0, 0, 0, 1);">[root@localhost yum.repos.d]# yum list ………… <span style="color: rgba(255, 0, 0, 1);">#@开头的表示已经安装了</span> ………… [root@localhost yum.repos.d]# yum list </span>| grep <span style="color: rgba(128, 0, 0, 1);">"</span><span style="color: rgba(128, 0, 0, 1);">tree</span><span style="color: rgba(128, 0, 0, 1);">"</span><span style="color: rgba(0, 0, 0, 1);"> tree.x86_64 </span><span style="color: rgba(128, 0, 128, 1);">1.5</span>.<span style="color: rgba(128, 0, 128, 1);">3</span>-<span style="color: rgba(128, 0, 128, 1);">3</span><span style="color: rgba(0, 0, 0, 1);">.el6 local_yum [root@localhost yum.repos.d]# yum install tree.x86_64 …… [root@localhost yum.repos.d]# yum install </span>-<span style="color: rgba(0, 0, 0, 1);">y zsh.x86_64 <span style="color: rgba(0, 128, 0, 1);">//不需要手工输入y</span> ……</span></span> |
5、如果需要卸载软件,如何卸载?
[root@localhost yum.repos.d]# yum -y remove zsh.x86_64 卸载zsh软件
基于ftp的网络yum搭建
基于http的网络yum搭建类同于ftp
1、服务端
IP:172.16.11.99
1、安装vsftpd软件,并启动
前提:关闭防火墙和selinux
[root@server /]# service iptables stop
……
[root@server /]# sestatus -v
SELinux status: disabled
2、创建仓库(存放所有rpm包)
[root@server /]# mkdir /var/ftp/yum
[root@server /]# cp -a /mnt/Packages/*.rpm /var/ftp/yum/
[root@server opt]# tar xf mysql-5.7.14-1.el6.x86_64.rpm-bundle.tar -C /var/ftp/yum/
3、创建索引文件
[root@server /]# createrepo /var/ftp/yum
重新创建YUM仓库的软件包数据库,速度太慢
[root@server /]# createrepo –update /var/ftp/yum
更新YUM仓库的软件包数据库,速度较快
2、客户端
1、修改或创建仓库资源配置文件
1 2 3 4 5 6 7 8 |
<span style="font-size: 16px;"><span style="color: rgba(0, 0, 0, 1);">[root@client yum.repos.d]# vim ftp_yum.repo [root@client yum.repos.d]# cat ftp_yum.repo [ftp_yum] name</span>=<span style="color: rgba(128, 0, 128, 1);">172.16</span>.<span style="color: rgba(128, 0, 128, 1);">11.99</span><span style="color: rgba(0, 0, 0, 1);"> baseurl</span>=ftp:<span style="color: rgba(0, 128, 0, 1);">//</span><span style="color: rgba(0, 128, 0, 1);">172.16.11.99/yum/ </span><span style="color: rgba(0, 128, 0, 1);">//</span><span style="color: rgba(0, 128, 0, 1);">访问YUM源的路径</span><span style="color: rgba(0, 0, 0, 1);"> gpgcheck</span>=<span style="color: rgba(128, 0, 128, 1);">0</span><span style="color: rgba(0, 0, 0, 1);"> enabled</span>=<span style="color: rgba(128, 0, 128, 1);">1</span><span style="color: rgba(0, 0, 0, 1);"> [root@client yum.repos.d]#</span></span> |
2、清空缓存
[root@client yum.repos.d]# yum clean all
3、安装软件yum install 软件名
[root@localhost /]# yum whatprovides 文件名 #查找文件属于哪个软件,类似于:[root@localhost /]# rpm -qf 文件名
[root@localhost /]# yum localinstall #安装本机硬盘中的rpm包,相当于rpm -ivh
1、package
查看:yum list [package…]
安装:yum install [package…]
删除:yum remove [package…]
升级rpm包:yum update [package…]
查看rpm包信息:yum info [package…]
2、grouppackage
查看:yum grouplist
安装:yum groupinstall 包组
删除rpm包组:yum groupremove 包组
查看rpm包组信息:yum groupinfo 包组
易混淆概念:
服务名和软件名是可以不一样的,比如:vsftpd、httpd是一样的;smb的软件名是samba,服务名是smb(实现linux和windows之间的共享);服务名sshd、ssh,软件名却不是这个:rpm -qa|grep “ssh”。