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虚拟出来的操作系统就像是局域网中的一台独立的主机,它可以访 ...
随机推荐
- Ubuntu 安装 Caffe
Caffe Caffe 安装(Python2 CPU版本) 参考博文https://blog.csdn.net/pangyunsheng/article/details/79418896 安装环境 U ...
- iOS选择相片优化
1.问题 在ios中有时需要选择本地图片或者拍照,有时候选择相片的时候会有多选和单选,所以需要首先封装相册选择,在之前的博客中也有写到IOS多选单选相册图片.这个只是对相册中选择图片的封装.我们在ap ...
- [转]C#中Timer使用及解决重入问题
本文转自:http://www.cnblogs.com/hdkn235/archive/2014/12/27/4187925.html ★前言 打开久违的Live Writer,又已经好久没写博客了, ...
- Could not find gradle wrapper within android sdk
问题: IONIC 3.9.2 为ionic项目添加android platform后再build android时,出现如下提示: 问题原因: cordova-android在升级版本之后,从原来基 ...
- Visual studio 2017 c++ wcout 无法输出中文
wcout.imbue(locale(locale(), "", LC_CTYPE));
- Laravel trait的使用
trait 是在PHP5.4中为了方便代码复用的一种实现方式,但目前我在看的的PHP项目中较少看的有程序员去主动使用这个实现方式,在laravel中有很多 trait 的使用,关于trait 在 la ...
- CentOS-Linux系统下安装MySQL
一.mysql的安装 Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器.基于RPM包管理,能够 ...
- WinFrom饼形图
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- MySQL:PyMySQL&ORM
一.PyMySQL介绍 PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb. Django中也可以使用PyMySQL连接MySQ ...
- jquery特效:无缝向上循环滚动列表
效果呈现 整个列表间隔设定的时间向上移动一个item的高度 html结构: <div class="slide-title"> <span>title1&l ...