yum安装工具的理解
在安装gtk+编译环境的过程中,你会发现,RPM软件包之间的依赖关系非常复杂。在实际管理过程中,这种依赖关系可能会更加复杂。因此非常有必要寻找一种自动化安装工具,让安装工具自己处理这些关系复杂的依赖关系。幸运的是Red Hat推出了一个名为Yellowdog Updater Modified的包管理器(通常简称为yum)。
一、yum简介
yum包管理器可以自行计算要安装软件包的依赖性,并自动安装软件包需要的软件包和库文件。
使用yum包管理器时,需要为其设置yum使用的软件源(软件源也称为软件仓库,其中包含了若干rpm安装包和yum工作的索引文件)。对于使用Fedora Core Linux发行版的用户而言,可以直接使用操作系统自带的yum源。使用Red Hat Enterprise Linux发行版的用户,如果未将系统注册到红帽网络,将无法使用官方的源。
二、配置yum
yum可以使用互联网或本地保存的安装包作为源。当用户指定安装某个软件时,yum将会查找源,并计算软件包的依赖性,然后安装软件包。yum安装软件包的整个过程都不需要用户参与,大大降低了安装软件包的难度。
1、yum的配置文件
yum使用的配置文件为/etc/yum.conf,这个文件是yum工作的核心配置文件。查看其配置文件内容如下:

[root@localhost Server]# cat /etc/yum.conf
[main]
cachedir=/var/cache/yum
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
pkgpolicy=newest
distroverpkg=redhat-release
tolerant=1
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
metadata_expire=1800 # PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d

这个配置文件的内容十分简洁,每一行就是一个配置项。其中配置了yum的缓存目录、错误级别、日志文件等。通常不需要对这个文件中的内容做特殊的设置。
除了yum工作的配置文件外,还有源配置文件。这些文件通常为于目录/etc/yum.repos.d中,默认情况下该目录中只有一个配置文件rhel-debuginfo.repo。
查看yum源配置文件的内容:

[root@localhost yum.repos.d]# cat rhel-debuginfo.repo
[rhel-debuginfo]
name=Red Hat Enterprise Linux $releasever - $basearch - Debug
baseurl=ftp://ftp.redhat.com/pub/redhat/linux/enterprise/$releasever/en/os/$basearch/Debuginfo/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

这个配置文件的内容比较简单,每行为一个配置项,并使用等号“=”为每个配置项赋值。这些配置项及其含义如下:
[name]:软件源的名称。
name:软件源的描述信息。
baseurl:软件源的位置。默认的软件源为Red Hat官方的软件源。
enabled:是否需要启用这个软件源,1为启用,0为禁用。
gpgcheck:是否需要验证GPG签名。GPG签名用于验证软件包是否来自Red Hat官方。
gpgkey:GPG签名的验证密钥信息存放位置。
2、使用DVD光盘配置软件源
RHL5.3的安装光盘分为DVD和CD两种,DVD安装光盘将所有需要的内容和安装文件都集中放置在一张光盘上,而CD安装光盘则分别存放在4张光盘内。
由于DVD光盘已经将所有需要的文件集中放置,因此可以直接将DVD光盘挂载到系统中,使用光盘建立yum源。
(1)在配置yum源之前,应该先备份其源配置文件:
#使用cp命令备份yum源配置文件
# cp /etc/yum.repos.d/rhel-debuginfo.repo /etc/yum.repos.d/rhel-debuginfo.repo.bak
(2)挂载光驱到目录/mnt,以便于指定光驱目录为yum源:
[root@localhost ~]# mount /dev/cdrom /mnt
mount: block device /dev/cdrom is write-protected, mounting read-only
(3)挂载完成后修改yum源配置文件,将文件rhel-debuginfo.repo的内容修改如下:

[root@localhost ~]# cat /etc/yum.repos.d/rhel-debuginfo.repo
[rhel-debuginfo]
name=Red Hat Enterprise Linux $releasever - $basearch - Debug
baseurl=ftp://ftp.redhat.com/pub/redhat/linux/enterprise/$releasever/en/os/$basearch/Debuginfo/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
#以上内容无变化 #以下为新写入内容
[cdrom]
name=Red Hat DVD
baseurl=file:///mnt/Server/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

新建的软件源中,软件源的目录为/media/cdrom/Server。此处的“file://”与前面的“ftp://”类似,表示使用的协议,官方的源中使用的“ftp://”表示使用FTP协议。此处的“file://”表示使用本地文件系统,而其后的/media/cdrom/Server则表示源目录在本地文件系统上的具体位置。
配置好以上内容之后,使用DVD安装光盘建立的yum源就可以使用了。
3、使用CD安装光盘配置软件源
使用CD安装光盘时,由于安装文件分布在不同的光盘上,因此建立yum源之前,需要将4张安装光盘的安装文件都复制到硬盘的同一个目录中,然后在修改yum源配置文件。
(1)在本例中,先将所有光盘中的安装文件(即光盘上所有的“.rpm”结尾的文件)都复制到目录/mnt/cd_yum/rpm中。
(2)yum工作时依赖于几个索引文件,这几个索引文件被放置在光盘上的安装文件目录中的repodata子目录中。
[root@localhost ~]# ls /media/cdrom/Server/repodata/
comps-rhel5-server-core.xml other.xml.gz repomd.xml
filelists.xml.gz primary.xml.gz TRANS.TBL
上面这个示例命令假定光盘已经挂载到目录/media/cdrom。命令输出的几个文件filelists.xml.gz、other.xml.gz和repomd.xml,都是yum工作时必需的文件。如果在复制时没有复制到这几个文件,或者这几个文件的内容不准确,都会影响yum的正常使用。
用户复制安装文件时,可以一并复制这个目录,也可以使用createrepo命令重新创建这个目录中的文件。
(3)重新创建索引文件需要使用命令createrepo,默认情况下,系统并没有安装createrepo命令的软件包。可以使用以下名安装:
[root@localhost Server]# rpm -ivh createrepo-0.4.4-2.fc6.noarch.rpm
warning: createrepo-0.4.4-2.fc6.noarch.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing... ########################################### [100%]
1:createrepo ########################################### [100%]
安装完成之后,就可以使用该命令建立索引文件了:
[root@localhost ~]# createrepo /mnt/cd_yum/rpm/
由于命令会搜索、分析所有软件包,并建立索引文件,因此这个命令会耗费大量时间。命令完成之后,将在目录/mnt/cd_yum/rpm中建立一个新的子目录repodata,并将新生成的索引文件放置在其中。
(4)完成以上步骤后,就可以修改yum源配置文件了。具体可以参考使用DVD建立yun源步骤中的配置文件,修改完成后就可以使用yum安装软件包了。
注意:使用安装光盘建立yum源,仅仅是为了安装软件包时方便,不能为系统更新软件,因此建议使用官方的yum源,以便于获取更多更新的软件包。
三、查询源上的软件包
【命令格式】
yum search package_name
四、利用yum安装软件包
【命令格式】
yum [-y] install soft_package_name
使用yum命令安装软件包时,可以使用选项y,该选项将会自动允许yum的所有操作而不提示用户。
五、利用yum卸载软件包
【命令格式】
yum [-y] remove soft_package_name
与安装软件包类似,选项y将授权yum自动操作。
注意:不建议使用yum工具自动卸载与系统相关的软件包。
六、安装、卸载软件包组
软件包组是发行版自定义的软件包集合,软件包组会显示在操作系统安装过程中的软件定制界面中。
【命令格式】
yum [grouplist | goupinstall | groupremove] group_name
grouplist:列出所有的软件包组。
goupinstall:安装指定的软件包组。
groupremove:卸载指定的软件包组。
yum安装工具的理解的更多相关文章
- centos7,yum安装工具报错
1.问题描述:yum安装gcc和其他的工具时一直报错: 2.问题解决: 网上看到有类似文章: No more mirrors to try. 得知这可能是错误的缓存源导致,直接两个命令解决: yum ...
- 搭建本地离线yum仓库
目录 前言 把rpm包下载到本地 配置本地yum仓库信息 生成repodata信息 检查以及使用 对本地仓库进行更新 参考资料 修改记录 环境:VMware-Workstation-12-Pro,Wi ...
- 配置本地yum仓库
前言 我们知道yum工具是基于rpm的,其一个重要的特性就是可以自动解决依赖问题,但是yum的本质依旧是把后缀名.rpm的包下载到本地,然后按次序安装之.但是每次执行yum install x ...
- Linux 常用命令标记
1.linux 服务器之间拷贝文件 scp 本地用户名@IP地址:文件名1 远程用户名@IP地址:文件名2 该命令可以变型为目的服务器204上输入如下命令:红色部分是需要接受目的地,-r是递归复制该文 ...
- linux 配置 mail server
一.配置yum安装工具 ① 进入yum目录 [root@bj ~]# cd /etc/yum.repos.d ② 配置yum.repo [root@bj yum.repos.d]# cprhel- ...
- CentOS 6.4源码编译安装httpd并启动测试
今天来总结一下在Linux中软件安装,通常我们应该知道,安装软件有两种方法:一种是软件包的安装,也就是rpm包的安装,就是指这些软件包都是 已经编译好的二进制rpm包,我们通过rpm安装工具和yum安 ...
- 在windows端和linux端安装Git
一.Git的安装 1. 在windows端 到地址:https://git-scm.com/downloads 选择对应版本下载后,进行傻瓜式安装即可 2. 在linux端 查看是否安装了git,出 ...
- mysql 开发进阶篇系列 45 物理备份与恢复(xtrabackup 安装,用户权限,配置)
一. 安装说明 安装XtraBackup 2.4 版本有三种方式: (1) 存储库安装Percona XtraBackup(推荐) (2 )下载的rpm或apt包安装Percona XtraBacku ...
- CentOS7 网络NAT模式
问题:安装完毕ping命令不能用,然后改为桥接模式,ping可以用. 先了解桥接,NAT 的含义. 桥接:在bridged模式下,VMWare虚拟出来的操作系统就像是局域网中的一台独立的主机,它可以访 ...
随机推荐
- Nginx proxy buffer相关的设置和解释
proxy_buffer_size 4k; proxy_buffering on;proxy_buffers 4 4k;proxy_busy_buffers_size 8k;proxy_max_tem ...
- Could not find gradle wrapper within android sdk
问题: IONIC 3.9.2 为ionic项目添加android platform后再build android时,出现如下提示: 问题原因: cordova-android在升级版本之后,从原来基 ...
- Redis命令参考【EXPIRE】
EXPIRE EXPIRE key seconds 为给定 key 设置生存时间,当 key 过期时(生存时间为 0 ),它会被自动删除. 在 Redis 中,带有生存时间的 key 被称为『易失的』 ...
- PL/SQL之存储过程和函数
1.创建存储过程 .1语法: CREATE[OR REPLACE] PROCEDURE [schema.] procedure_name[(argument[{IN|OUT|IN OUT}] data ...
- android 使用图片轮播图---banner 使用
转自:https://github.com/youth5201314/banner 使用步骤 Step 1.依赖banner Gradle dependencies{ compile 'com.you ...
- SQLServer 触发器入门
阅读目录 一:触发器的优点 二:触发器的作用 三:触发器的分类 四:触发器的工作原理 五:创建触发器 六:管理触发器 概念: 触发器(trigger)是SQL server 提供给程序员和数据分析 ...
- 代码实现SpringMvc
偶然看到一篇100多行实现SpringMvc的博客,阅读后整理加实现出来.大家共勉!(纸上得来终觉浅,绝知此事要躬行.) 实现Spring的部分. Bean工厂,统一创建Bean: IOC,实现Bea ...
- spring-security 开启注解权限控制为什么没有效果
如果配置在spring-security中没有权限控制效果,可以配置在springmvc中试试 <security:global-method-security pre-post-annotat ...
- hdu 1026 Ignatius and the Princess I 搜索,输出路径
Ignatius and the Princess I Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (J ...
- 20个实用便捷的CSS3工具、库及实例
编者按:坊间传闻,有本CSS的高手炼成秘籍在江湖失传已久,书中所载,多为最新的惊人技术与实例示范,是为集大成者,一旦学成,代码效率猛增,功力提升数倍,今日偶获,不敢怠慢,赶紧发到优设,望人人受益.说人 ...