使用YUM解决rpm包的依赖关系
YUM简介:
YUM是Yellow dog Updater Modified的简称,yum是软件的仓库,它可以是http或ftp站点,也可以是本地软件池,但必须包含rpm的header。
header包括了rpm包的各种信息,包括描述,功能,提供的文件,依赖性等.正是收集了这些 header并加以分析,才能自动化地完成余下的任务。
YUM有以下特点:
1、可以同时配置多个资源库(Repository)。
2、简洁的配置文件(/etc/yum.conf)。
3、自动解决增加或删除rpm包时遇到的依赖性问题使用方便。
4、YUM分为服务器端和客户端。
配置YUM的三种方法
服务器端:
方法一:使用光盘作为YUM数据库。
1、 挂载光盘,将光盘挂载到/media目录下。
2、 安装ftp服务,ftp软件包在光盘中的Server目录下。
3、 umount卸载光盘,重新将光盘挂载到/var/ftp/pub目录下。(此目录是ftp的默认路径)
4、 使用service vsftpd start 启动ftp服务。
注:每次使用YUM服务器时,都需要临时挂载光盘 (mount /dev/cdrom /var/ftp/pub)
方法二:使用光盘镜像作为YUM数据库
1、 挂载光盘,将光盘挂载到/media目录下。
2、 安装ftp服务,ftp软件包在光盘中的Server目录下。
3、 将光盘中的内容制作成iso的镜像文件。(镜像名字可以随便取)
4、 使用mount –o loop命令将iso的镜像文件挂载到ftp的默认路径。
5、 使用service vsftp start 启动ftp服务。
方法三:将光盘软件包复制到硬盘,重新构建YUM索引库
1、挂载光盘,将光盘挂载到/media目录下。
2、安装ftp服务,ftp软件包在光盘中的Server目录下。
3、安装 安装createrepo软件包,该RPM包在Server目录中。
4、将光盘中的所有软件都拷贝到ftp默认路径。(/var/ftp/pub/)
5、执行createrepo命令重新构建YUM索引库。
6、使用service vsftp start 启动ftp服务。
这样服务器端就配置就算是OK了,接下来就是客户端配置了。
客户端配置:
1、修改yum配置文件,指定YUM源。(vi /etc/yum.repos.d/rhel-debuginfo.repo)
2、编辑配置文件。
第一行:[ ]内的是仓库的名字。
第二行:name是仓库的描述也可以说是名字。
第三行:baseurl 仓库的位置,如果是在本地配置为客户端,则要以"file://"开头,如果库在ftp服务器上就按上图显示配置,在这里注意这个地址不能写成ftp://192.168.0.202/var/ftp/pub目录,因为登陆到ftp上的根目录就是/var/ftp目录。
第三行:enabled 是否启用这个仓库,1为起用,0为禁用。
第四行:gpgcheck 是否检查GPG签名,0为不检查,1为检查。(用来验证要安装的包是不是RedHat官方的,这一行没有也可,一般改为0不检查)
第五行:GPGKEY 的存放地址一般就在图片上显示的,(这一行没有也行,一般使用#号注释)
安装参数:
yum [选项] [命令] [软件包]
参数说明:
选项:
-y : 如果在工作过程中如要使用者响应,这个参数可以直接回答yes (常用)。
命令:
list : 列出在yum server 上面有的RPM套件。
install: 安装某个套件。
update : 升级某个套件,如果update后面没有接套件名称,即更新目前主机所有已安装的套件。
info : 列出某个套件的详细信息,相当于rpm -qi package内容。
clean : 将已下载到本机的packages或headers移除。
remove : 移除已经安装在系统中的某个套件。
yum localinstall [软件包]:本地安装软件包。
yum update:全部更新。
yum update [软件包]:更新指定程序包package。
yum check-update:检查可更新的程序。
yum info [软件包]:显示安装包信息。
yum list:显示所有已经安装和可以安装的程序包。
yum list [软件包]:显示指定程序包安装情况。
yum search [软件包的关键字]:查找软件包。
yum remove 或 erase [软件包的名字]:删除程序包。
yum clean headers: 清除header。
yum clean packages: 清除下载的rpm包。
yum clean all: 清除header与rpm包。
例如:
如果最后显示的installed则表示系统已经安装了该软件包,显示的是server则系统没有安装该软件包。
转载于:https://blog.51cto.com/dengqi/1181589