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结尾。
[root@localhost /]# cd /etc/yum.repos.d
[root@localhost yum.repos.d]# ls
CentOS-Base.repo CentOS-fasttrack.repo CentOS-Vault.repo
CentOS-Debuginfo.repo CentOS-Media.repo
[root@localhost yum.repos.d]# mkdir bak
[root@localhost yum.repos.d]# mv *.repo bak //移除影响系统识别配置文件的其他文件
[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] //仓库标签,用于标识不同的仓库
name=local yum //说明信息,描述的作用
baseurl=file:///mnt //指定仓库路径,file://表示访问本地硬盘的文件
gpgcheck=0 //gpgcheck用来校验软件是否官方出品,等于0表示不校验
enabled=1 //可以使用该仓库
注意:
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、可以安装软件了,安装前可以查看一下,有哪些软件可以安装的
[root@localhost yum.repos.d]# yum list
…………
#@开头的表示已经安装了
…………
[root@localhost yum.repos.d]# yum list | grep "tree"
tree.x86_64 1.5.3-3.el6 local_yum
[root@localhost yum.repos.d]# yum install tree.x86_64
……
[root@localhost yum.repos.d]# yum install -y zsh.x86_64 //不需要手工输入y
……
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、修改或创建仓库资源配置文件
[root@client yum.repos.d]# vim ftp_yum.repo
[root@client yum.repos.d]# cat ftp_yum.repo
[ftp_yum]
name=172.16.11.99
baseurl=ftp://172.16.11.99/yum/ //访问YUM源的路径
gpgcheck=0
enabled=1
[root@client yum.repos.d]#
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”。