`
vaqeteart
  • 浏览: 304091 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

yum使用总结

 
阅读更多
yum [options] [command] [package ...]

[功能]
center os下面的软件包管理工具。

[描述]
yum是一个基于rpm的交互的软件包管理工具。
1,常用的command(子命令)简介:
install package1 [package2] [...]
安装最新版本的软件包或者一组软件包,同时确保满足依赖关系。如果没有和指定名称匹配的软件包,那么会视为shell的一个部分并且将任何的匹配安装上去。如果名字以@开始,那么后面的名字就直接像是传递给了groupinstall。如果名字是一个文件,那么工作的方式就类似localinstall,注意可以指定统配符号以及文件列表。(具体参见man手册)

update [package1] [package2] [...]
如果运行的时候,没有指定任何package,那么update子命令将会更新当前所有被安装的软件包,否则会更新列出的软件包。更新的时候,yum要保证所有的依赖关系被满足,如果指定的软件包当前没有被安装,那么update不会安装它们。

upgrade [package1] [package2] [...]
这个命令和使用了--obsoletes的update命令一样。

list [...]
列出可用软件包的各种信息。

remove | erase package1 [package2] [...]
用来从系统卸载软件包,并且根据被卸载的软件包,卸载其他相关的软件包。命令格式类似install。

groupinfo
用于给出一个组的描述以及软件包列表。如果加上-v选项,那么会输出已经安装和可用的类似list命令的软件包的名称。

groupupdate
当软件包X已经被安装的情况下,"yum update X"和"yum install X"所做的工作一样。

groupinstall
用来安装一个组中的指定类型的所有的独立的软件(这个工作的方式类似于你把这些软件包的名字放到"yum install"命令中进行运行).配置选项group_package_types指定了需要安装什么类型。

groupremove
用来将一个组中的所有软件包删除,和"groupinstall"不一样,这个将会忽略group_package_types,并且将所有的内容移走。如有必要,应该指出软件包可以在多个组中,这样跟在"groupremove Y"后面的"groupinstall X Y"不会给你一个和"groupinstall X"一样的执行结果。

clean [ packages | headers | metadata | dbcache | all ]
用来清除随着时间逐渐增多的yum目录缓存中的内容。这个命令还有更多的选项。

makecache
用于从当前激活的yum软件仓库中下载可用的元数据(元数据在安装软件的时候会被用来,应该包含了软件包的下载位置等)。

localinstall rpmfile1 [rpmfile2] [...]
用于安装一系列本地的rpm文件,如果需要,那么被激活的repositories将会用来解决一些依赖。注意给定名字之后,安装的命令会做一些本地的安装。注意有时我们安装的时候会提示签名,否则不让安装,那么我们可以指定"--nogpgcheck"选项,这样就不用签名了。

search string1 [string2] [...]
用来通过一个部分的名字寻找一个软件包,其中这个软件rpm的描述,概要或者软件包名称中包含传入的string字符串。


2,常用的command选项:
下面大多数的命令选项可以通过配置文件(例如yum.conf)进行设置,并且也给出了使用配置文件设置时候的配置选项。
-y 假设为yes.假设所有的问题的回答都是yes。配置的选项:assumeyes.
-c [config file] 指定配置文件的位置,可以是http,ftp的url,或者是本地的文件路径。
--installroot=root 指定一个可选的安装路径,所有的软件包都是基于这个路径被安装的。配置的选项为:installroot.
--enablerepo=repoidglob 激活特定的,通过id或者glob指定的,但是在配置文件中使用enable=0选项被禁止了的软件仓库。配置的选项为:enabled.
--disablerepo=repoidglob 禁止一个通过id或者glob指定的特定的软件仓库。配置的选项为:enabled.
-x, --exclude=package 通过指定名字,排除软件仓库中更新的软件。配置的选项为:exclude.
--nogpgcheck 运行的时候,不进行gpg签名检查。配置选项为:gpgcheck.
--noplugins 运行的时候不使用插件。配置的选项为:plugins.


3,一些子命令的常用选项:
1)list命令的选项:
下面的选项指定了install命令的运行方式。注意这里的list出来的信息包含了软件包的版本信息。
yum list [all | glob_exp1] [glob_exp2] [...]
列出所有可用的和安装的软件包。

yum list available [glob_exp1] [...]
列出所有yum仓库中可以被安装的软件包。

yum list updates [glob_exp1] [...]
列出所有yum仓库中可以被更新的软件包。

yum list installed [glob_exp1] [...]
List the packages specified by args.  If an argument does not match the name of an  avail-
able package, it is assumed to be a shell-style glob and any matches are printed.
列出args指定的软件包。如果参数没有匹配一个可用的软件包的名称,那么...

yum list extras [glob_exp1] [...]
列出系统中被安装的,但是在yum配置文件仓库中没有列出的软件包。

yum list obsoletes [glob_exp1] [...]
列出系统中已经安装的,在配置文件中的yum仓库列表被废弃的软件包。

yum list recent
列出最近添加到仓库中的软件包。

2)clean命令的选项:
下面指定你的clean命令的运行方式。这里命令中的“所有文件”实际就是当前被激活的软件仓库中的所有文件。如果你临时想要清除其他非激活的软件仓库中的内容,那么使用 --enablerepo='*'选项。
yum clean expire-cache
当元数据和每个软件仓库中的镜像列表下载的时候,删除本地的数据。也就是说,yum将会为每一个软件仓库刷新缓存。下次会使用到。但是如果缓存的数据仍然有用,那么不会删除任何重要的数据。

yum clean packages
从系统中删除任何缓存的软件包。我们需要注意的是当我们下载软件包之后,软件包并不会被自动地删除。

yum clean headers
删除所有的头文件,这些头文件用于yum解决软件的以来关系。

yum clean metadata
删除yum用于确定软件包可用的一些文件(元数据文件)。使用这个选项会强制让yum下次运行的时候下载所有的元数据。

yum clean dbcache
删除sqlite缓存,这个缓存用来以很快的速度访问原数据。使用这个选项将会使得yum在下次运行的时候重新创建缓存文件。

yum clean all
删除上面说过的所有的内容。

4,关于插件
你可以通过插件来进行扩展。一个插件就是一个".py"的python脚本文件,这个文件会被安装到一个通过yum.conf的pluginpath选项指定的目录。如果想要一个插件工作,必须做如下的工作:
1)插件模块文件必须被安装在插件的目录(如前所述)。
2)/etc/yum/yum.conf中的全局插件选项必须被设置为1。
3)必须存在一个/etc/yum/pluginconf.d/<plugin_name>.conf文件,并且这个文件中的enabled必须被设置。例如如下就是这样的配置文件的一个非常简单的例子:
[main]
enabled = 1
可以通过"man 5 yum.conf"查看关于插件配置选项更多的信息。

5,配置文件:
yum使用/etc/yum/yum.conf配置文件。可以通过指定reposdir选项(默认值为/etc/yum/repos.d),读取其目录中的其他配置文件。具体参见man手册中的详细内容。
在yum配置文件中有两个类型的节:main和repository。Main定义的是全局的配置选项。一个时刻只能有一个main节。repository节定义了每个repository/server的配置选项,可能会有多个repository节。
1)main节:
具体关于main节所支持的选项参数可以参见"man yum.conf"中的手册说明。
下面是一个main的简单例子:
############文件来自/etc/yum.conf##############
[main]
#yum的缓存和数据库文件的存放路径,默认为"/var/cache/yum"
cachedir=/var/cache/yum
#是否在成功安装之后保持头和软件包的缓存。默认为1,表示保持。
keepcache=0
#yum的日志文件的完整路径
logfile=/var/log/yum.log
#对于软件包yum是否在命令行上面提示错误,例如已经安装一个安装的软件。默认为0。
tolerant=1
#表示是否对软件包进行签名验证,默认为0。
gpgcheck=1
#是否使用插件,默认为0即不使用。
plugins=1
#yum使用的代理服务器,可以为proxy。
Proxy=http://<user>:<passwd>@<poxyIP>:<port>
############文件来自/etc/yum.conf##############

2)repository节:
repository节的内容形式如下:
Example: [repositoryid]
name=Some name for this repository
baseurl=url://path/to/repository/
这里,
repositoryid是一个单词,唯一的名字,表示每个软件仓库。
name是一个描述软件仓库的字符串。
baseurl是一个目录的URL,这个目录包含相应的yum软件仓库中的数据。形式可以是"http://","ftp://",或者"file://",你也可以在一个baseurl中指定多个URL。类似如下:
[repositoryid]
name=Some name for this repository
baseurl=url://server1/path/to/repository/
url://server2/path/to/repository/
url://server3/path/to/repository/
如果你在一个软件仓库上列举出来多余"baseurl=",那么你将会发现yum会忽略前面的,并且表现很奇怪。你可以在baseurl行给服务器追加"user:password@"前缀使用包含权限的http。例如:"baseurl=http://user:passwd@example.com/"
具体关于repository节所支持的选项参数可以参见"man yum.conf"中的手册说明。
下面是两个repository的简单例子:
############文件来自/etc/yum.repos.d/CentOS-Base.repo##############
#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5

#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus
#baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
############文件来自/etc/yum.repos.d/CentOS-Base.repo##############

另外,yum的配置文件还支持include和默认的一些环境变量,具体参见"man yum.conf"手册的输出。

[举例]
这里,给出常用的一些命令。
*列出所有可用的和安装的软件包:
#yum list

*列出所有安装的软件包:
#yum list installed

*列出所有安装的软件包不使用插件:
#yum list installed --noplugins
这里,有时使用插件会感觉很慢,这个时候可以使用--noplugins表示运行yum的时候不运行插件。

*列出所有可以被更新的软件包:
#yum list updates

*查找包含"meld"的软件软件包:
# yum search meld
输入之后,输出可能会包含如下信息:
...省略前面...
Trying other mirror.
http://mirror01.idc.hinet.net/CentOS/5.6/updates/i386/repodata/repomd.xml: [Errno 14] HTTP Error 407: authenticationrequired
Trying other mirror.
http://mirrors.ta139.com/centos/5.6/updates/i386/repodata/repomd.xml: [Errno 14] HTTP Error 407: authenticationrequired
Trying other mirror.
================================================== Matched: meld ===================================================
meld.noarch : Graphical visual diff and merge tool
这里,搜索完了之后,就可以使用"yum install meld.noarch"来进行安装了。

*安装一个软件:
#yum install meld.noarch
这样,会安装软件仓库里面的meld.noarch软件。

*使用yum安装本地的一个软件:
# yum localinstall mind-2.1-1.i386.rpm --noplugin --nogpgcheck
或# yum install mind-2.1-1.i386.rpm --nogpgcheck --noplugin
这里,注意使用--noplugin是为了运行yum的时候不加载欧额外插件,这样会快一些;另外,如果安装的时候提示没有gpg签名就无法安装这个rpm文件,这个时候使用--nogpgcheck选项就行了。安装之后,可以使用"yum list installed |grep mind"查询到刚刚安装的软件,输出类似如下:
mind.i386                                      2.1-1                   installed
使用"rpm -qa |grep mind"也能够查询到。另外,使用install的时候如果直接指定文件名称,也会安装,效果和localinstall类似。安装的时候会自动根据软件仓库解决依赖关系的。

*升级一个软件:
#yum update mind-2.1-2.i386.rpm --noplugin --nogpgcheck
这里,使用文件名称也会升级本地的软件。本地有个rpm文件包。升级实际就是先卸掉原来的软件再安装新的。

*卸载一个软件:
#yum remove mind.i386
这样会卸载软件。

[其它]
yum与rpm的区别:
YUM是从软件仓库自动下载,自动安装,自动配置的。
RPM是要你自己下载软件包以及相关的包,之后再依次用rpm命令装完各个包。

参考资料:
"man yum"
"man 5 yum.conf"

以上是使用center os上面的yum软件包工具的一些总结,有问题和建议请联系。^_^
作者:QuietHeart
Email:quiet_heart000@126.com
日期:2011年7月27日
分享到:
评论

相关推荐

    yum命令的使用总结

    yum命令的使用总结不仅包括了基础的安装、更新、卸载和查询操作,还涉及到了网络配置、仓库管理以及错误处理等更高级的用法,是维护Linux系统软件包的重要工具。随着Linux系统在服务器和桌面领域的广泛应用,yum作为...

    yum 命令使用配置

    ### YUM命令使用配置详解 #### 一、YUM简介 YUM(Yellowdog Updater Modified)是一款在Linux系统上非常流行的包管理器工具。它能够处理依赖关系,并且简化了RPM包的安装与升级过程。通过YUM,用户可以方便地安装...

    CentOS yum的详细使用方法

    ### CentOS yum 的详细使用方法 #### 什么是 yum? yum(Yellowdog Updater Modified)是 CentOS 和其他基于 RPM 包管理的 Linux 发行版中的软件包管理器。它提供了一个命令行工具来安装、更新、卸载软件包以及...

    使用yum命令安装gpm服务

    ### 使用yum命令安装gpm服务知识点详解 #### 一、YUM命令简介 YUM(Yellowdog Updater Modified)是一款在Linux系统上进行软件包管理的工具,它为用户提供了一个命令行工具,使得用户能够方便地对软件包进行安装、...

    CentOS6.9的yum源

    总结来说,CentOS 6.9的YUM源是系统维护的重要部分,这些文件的丢失或损坏将影响到软件包的管理。了解这些文件的作用以及如何恢复它们,对于维护一个健康的CentOS系统至关重要。在日常操作中,应避免随意删除系统...

    yum搭建及应用 yum搭建及应用

    本文将详细介绍如何搭建和使用YUM仓库,以便用户能够在自己的环境中快速高效地安装和管理软件包。 #### 二、准备工作 1. **启动REDHAT Linux,并放入安装光盘** 首先确保系统已经安装完成,并且安装光盘已经准备...

    使用yum管理rmp

    ### 使用yum管理RPM #### 一、yum简介 `yum`全称为Yellow dog Updater, Modified,是一款在Linux系统中广泛使用的包管理工具。它主要用于CentOS等基于Red Hat的发行版上进行软件包的安装、卸载、升级等工作,并...

    centos6.9离线安装yum工具,附安装教程与yum源问题的解决方法

    总结来说,离线安装`yum`工具需要准备软件包,创建本地仓库,配置`yum`源,最后通过`yum`进行安装。在解决`yum`源问题时,要关注网络连接、仓库配置和RPM包的完整性。通过这些步骤,即使在无网络的环境中,也能顺利...

    yum仓库配置详解yum list all

    - **使用`createrepo`**:为了确保客户端可以通过`yum`正确解析软件包之间的依赖关系,需要使用`createrepo`工具生成相应的元数据。 ``` createrepo --update /var/ftp/pub/Server/ ``` ##### 5. 配置yum客户端 ...

    RedHat未注册yum不能用解决办法

    接下来,需要安装CentOS版本的`yum`包,以确保系统可以正常使用`yum`功能。这里提供32位和64位两种架构下的软件包下载地址及具体的包名。 - **32位软件包下载地址**: ``` ...

    解决yum对python依赖版本问题

    通常情况下,`yum`默认使用系统提供的Python版本来执行相关的脚本与命令。然而,在某些场景下,由于系统Python版本的更新或更改,可能会导致`yum`无法正常运行,出现诸如`SyntaxError: invalid syntax`等错误。接...

    centos安装yum所需资源

    总结一下,`yum`是CentOS系统中的关键组件,用于方便地安装、升级和管理RPM软件包。通过连接到像163这样的镜像站,可以显著提高下载速度,提升用户体验。确保正确配置你的`yum`源,以便获得最佳的软件管理和更新体验...

    RHEL6使用CentOS6的yum源

    ### RHEL6 使用 CentOS6 的 Yum 源详解 #### 一、背景与目标 在 Red Hat Enterprise Linux (RHEL) 6 中使用 CentOS 6 的 yum 源是一种节省成本且有效的软件包管理方式。通过这种方法,可以利用 CentOS 的庞大仓库...

    CentOS 7配置yum源

    在配置 yum 源时,需要使用以下命令清理 yum 缓存和生成缓存: ``` yum clean all yum makecache ``` 使用以下命令列出所有可用的软件包: ``` yum repolist ``` 如果需要回复网络模式,将配置文件删除,然后从 ...

    Centos8搭建本地yum源与局域网yum源.docx

    总结:搭建CentOS8的本地YUM源和局域网YUM源,主要涉及到Nginx服务器的配置、RPM包的组织以及YUM仓库配置文件的编写。正确配置后,局域网内的服务器可以高效地使用这些源进行软件的安装和更新,避免了网络延迟和带宽...

    yum私服的搭建

    ##### 3.4 配置并使用yum源 1. **编辑repo文件**:进入`/etc/yum.repos.d/`目录,创建或编辑`CentOS.repo`文件以指向新的yum源地址。 ```bash vi CentOS.repo ``` 文件内容应类似于以下示例: ``` [base] ...

    linux yum手册(包你会yum,中文)

    ### Linux YUM 手册详解 #### 一、引言 在Linux环境下,软件包管理是维护系统稳定性和功能性的重要组成部分。Red Hat Enterprise Linux (RHEL) 作为一款广泛...希望本文提供的指南能帮助读者更好地理解和使用 YUM。

    yum配置及安装

    - **安装软件包**:使用`yum install`命令安装软件包。例如,安装名为`&lt;package&gt;`的软件包。 ```bash sudo yum install ``` - **卸载软件包**:使用`yum remove`命令卸载软件包。例如,卸载名为`&lt;package&gt;`的...

    使用U盘配置本地yum源.pdf

    总结来说,使用U盘配置本地yum源是一个解决最小化Linux系统安装后的联网问题的有效方法。通过上述步骤,我们可以轻松地安装需要的软件包,从而进一步扩展系统功能。此外,这种方式还减少了对互联网连接的依赖,适用...

Global site tag (gtag.js) - Google Analytics