在安装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安装工具的理解的更多相关文章

  1. centos7,yum安装工具报错

    1.问题描述:yum安装gcc和其他的工具时一直报错: 2.问题解决: 网上看到有类似文章: No more mirrors to try. 得知这可能是错误的缓存源导致,直接两个命令解决: yum ...

  2. 搭建本地离线yum仓库

    目录 前言 把rpm包下载到本地 配置本地yum仓库信息 生成repodata信息 检查以及使用 对本地仓库进行更新 参考资料 修改记录 环境:VMware-Workstation-12-Pro,Wi ...

  3. 配置本地yum仓库

        前言 我们知道yum工具是基于rpm的,其一个重要的特性就是可以自动解决依赖问题,但是yum的本质依旧是把后缀名.rpm的包下载到本地,然后按次序安装之.但是每次执行yum install x ...

  4. Linux 常用命令标记

    1.linux 服务器之间拷贝文件 scp 本地用户名@IP地址:文件名1 远程用户名@IP地址:文件名2 该命令可以变型为目的服务器204上输入如下命令:红色部分是需要接受目的地,-r是递归复制该文 ...

  5. linux 配置 mail server

    一.配置yum安装工具 ①  进入yum目录 [root@bj ~]# cd /etc/yum.repos.d ②  配置yum.repo [root@bj yum.repos.d]# cprhel- ...

  6. CentOS 6.4源码编译安装httpd并启动测试

    今天来总结一下在Linux中软件安装,通常我们应该知道,安装软件有两种方法:一种是软件包的安装,也就是rpm包的安装,就是指这些软件包都是 已经编译好的二进制rpm包,我们通过rpm安装工具和yum安 ...

  7. 在windows端和linux端安装Git

    一.Git的安装 1. 在windows端 到地址:https://git-scm.com/downloads 选择对应版本下载后,进行傻瓜式安装即可 2.  在linux端 查看是否安装了git,出 ...

  8. mysql 开发进阶篇系列 45 物理备份与恢复(xtrabackup 安装,用户权限,配置)

    一. 安装说明 安装XtraBackup 2.4 版本有三种方式: (1) 存储库安装Percona XtraBackup(推荐) (2 )下载的rpm或apt包安装Percona XtraBacku ...

  9. CentOS7 网络NAT模式

    问题:安装完毕ping命令不能用,然后改为桥接模式,ping可以用. 先了解桥接,NAT 的含义. 桥接:在bridged模式下,VMWare虚拟出来的操作系统就像是局域网中的一台独立的主机,它可以访 ...

随机推荐

  1. 【转】如何在ASP.NET 2.0中定制Expression Builders

    expressions是asp.net 2.0中的新特色,它可以使你在asp.net的页面里很方便的使用自定义的属性. 在ASPX页里只要使用$符号就可以访问到,你定制的属性了. 例如我们看个例子: ...

  2. 网页title添加图标

    <link rel="shortcut icon" href="1.ico"> href="图片名字.ico"; 图片后缀名为: ...

  3. DateGridView 分页显示

    l 思路:将数据表整体填充至一个Dataset中,探后部分显示(DataaAdapter Fill重载) l DataGridView 控件   l BindingNavigator 控件   l B ...

  4. [javaSE] 数据结构(二叉查找树-插入节点)

    二叉查找树(Binary Search Tree),又被称为二叉搜索树,它是特殊的二叉树,左子树的节点值小于右子树的节点值. 定义二叉查找树 定义二叉树BSTree,它保护了二叉树的根节点BSTNod ...

  5. MVC 导出Execl 的总结几种方式 (二)

    接着上面的来,继续导出Execl 的功能 使用FileResult 方式直接可以生产Execl ,这样我们将会写大量处理后台的代码,个人感觉不好,只是展示出来,提供参考 第一步:编辑控制器 publi ...

  6. csharp:datagridview enter Half Width and Full Width characters

    /// <summary> /// 全角 /// </summary> /// <param name="unicodeString">< ...

  7. 几种常用的bootstrap功能。

    ---恢复内容开始--- 我对于bootstrap定义与一种插件,他可以使我们的网页布局更加的炫酷,更加的整洁和合理.他的优点不多说,缺点一个就够我们头疼的,那就是需要记一些长长的英文名. 我为大家说 ...

  8. line-height属性的深入了解

    line-height属性的细节与大多数CSS属性不同,line-height支持属性值设置为无单位的数字.有无单位在子元素继承属性时有微妙的不同. 语法line-height: normal | & ...

  9. springmvc和spring的区别

    springmvc只是spring其中的一部分.spring 可以 支持 hibernate ,ibatis ,JMS,JDBC 支持事务管理, 注解功能,表达式语言,测试springmvc 就是一个 ...

  10. C++学习笔记(2)----类模板和友元

    当一个类包含一个友元声明时,类与友元各自是否是模板是相互无关的.如果一个类模板包含一个非模板友元,则友元被授权可以访问所有模板实例.如果友元自身是模板,类可以授权给所有友元模板实例,也可以只授权给特定 ...