一、什么是YUM|What's YUM YUM是Yellow dog Updater, Modified的缩写,如果你玩过真·三国无双,那么你一定能理解YUM的中文意思,改·大黄狗更新器。YUM的前身是YUP(Yellowdog Updater,Yellowdog是一个Linux发行版本的名字)。通过YUM,系统管理者可以自动化软件的安装、更新及删除,快捷地解决包的依赖性问题。 二、YUM插件的安装|yum plugins CentOS中为yum提供了以下三个插件: /FastestMirror: yum plugin to determine and use the fastest CentOS mirror (CentOS 4 and 5 ) /ProtectBase: yum plugin that prevents external repositories from overwriting CentOS packages ( CentOS 4 and 5 ) /Priorities: yum plugin that allows assigning priorities from 1 to 99 to yum repositories..
1. yum FastestMirror插件 当你的repo配置文件中的镜像不止一个的时候,FastestMirror插件将自动对比并选择最快的镜像(对比的结果保存在 /var/cache/yum/timedhosts.txt),从而加快yum更新速度。 #yum install yum-fastestmirror 编辑 /etc/yum/pluginconf.d/fastestmirror.conf ,确定插件已启用。 相关代码 - [main]
- verbose = 0
- socket_timeout = 3
- enabled = 1
- hostfilepath = /var/cache/yum/timedhosts.txt
- maxhostfileage = 1
2.yum ProtectBase插件 ProtectBase插件能够保护CentOS自身的软件库不被其它库修改,从而保证系统的稳定。 #yum install yum-protectbase 编辑 /etc/yum/pluginconf.d/protectbase.conf,确认enabled=1来启用插件。 你必须为 /etc/yum.conf 中的 .repo 档里每个不想受保护的软件库加上 protect=0,否则它们默认属于 protect=1 的组別。 3.yum Priorities插件 Priorities插件通过指定不同的priority,来防止高优先级的软件库被低优先级的库修改、更新。 #yum install yum-priorities 编辑 /etc/yum/pluginconf.d/priorities.conf ,确认enabled=1来启用插件。 之后,我们可以编辑 /etc/yum.repos.d/目录下的*.repo 文件来设置优先级。参数为:priority=N # N的值为1-99 推荐设置: [base], [addons], [updates], [extras] ... priority=1 [centosplus],[contrib] ... priority=2 Third Party Repos such as rpmforge ... priority=N (where N is > 10 and based on your preference)
提示: ProtectBase、Priorities这两个插件不推荐同时使用,二者选其一即可。 2009年9月,YUM的上游维护者Seth Vidal表示Priorities插件可能会引起apt锁死。 三、手工修改yum源|centos yum repository|yum repository how-to
yum虽然很好用,但却有一个小问题,那就是更新速度。对于国内用户,尤其是你的网速还不够快的时候,使用yum意味着漫长的等待。我搜集了几个速度不错的国内源,大家可以自己选择、测试、修改。需要修改的文件是/etc/yum.repos.d/CentOS-Base.repo,记得备份!
1.默认的CentOS-Base.repo文件: CentOS-Base.repo - # CentOS-Base.repo
- #
- # This file uses a new mirrorlist system developed by Lance Davis for CentOS.
- # The mirror system uses the connecting IP address of the client and the
- # update status of each mirror to pick mirrors that are updated to and
- # geographically close to the client. You should use this for CentOS updates
- # unless you are manually picking other mirrors.
- #
- # If the mirrorlist= does not work for you, as a fall back you can try the
- # remarked out baseurl= line instead.
- #
- #
-
- [base]
- name=CentOS-$releasever - Base
- mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
- #baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
- gpgcheck=1
- gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
- priority=1
-
- #released updates
- [updates]
- name=CentOS-$releasever - Updates
- mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
- #baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
- gpgcheck=1
- gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
- priority=1
-
- #packages used/produced in the build but not released
- [addons]
- name=CentOS-$releasever - Addons
- mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=addons
- #baseurl=http://mirror.centos.org/centos/$releasever/addons/$basearch/
- gpgcheck=1
- gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
- priority=1
-
- #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=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
- priority=1
-
- #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=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
- priority=2
2.USTC源 该源由中国科学技术大学提供,合肥电信,每小时更新,CentOS官方镜像。编辑CentOS-Base.repo内容如下,下同。 USTC - [base]
- name=CentOS-$releasever - Base
- baseurl=http://centos.ustc.edu.cn/centos/$releasever/os/$basearch/
- gpgcheck=1
- gpgkey=http://centos.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-5
-
- [updates]
- name=CentOS-$releasever - Updates
- baseurl=http://centos.ustc.edu.cn/centos/$releasever/updates/$basearch/
- gpgcheck=1
- gpgkey=http://centos.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-5
-
- [addons]
- name=CentOS-$releasever - Addons
- baseurl=http://centos.ustc.edu.cn/centos/$releasever/addons/$basearch/
- gpgcheck=1
- gpgkey=http://centos.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-5
-
- [extras]
- name=CentOS-$releasever - Extras
- baseurl=http://centos.ustc.edu.cn/centos/$releasever/extras/$basearch/
- gpgcheck=1
- gpgkey=http://centos.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-5
-
- [centosplus]
- name=CentOS-$releasever - Plus
- baseurl=http://centos.ustc.edu.cn/centos/$releasever/centosplus/$basearch/
- gpgcheck=1
- enabled=0
- gpgkey=http://centos.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-5
3.mirror.centos.net.cn源 该源同样为CentOS官方镜像,属于北京网通,北方网通用户推荐。 mirror.centos.net.cn - [base]
- name=CentOS-$releasever - Base
- baseurl=http://mirror.centos.net.cn/$releasever/os/$basearch/
- gpgcheck=1
- gpgkey=http://mirror.centos.net.cn/RPM-GPG-KEY-CentOS-5
-
- [update]
- name=CentOS-$releasever - Updates
- baseurl=http://mirror.centos.net.cn/$releasever/updates/$basearch/
- gpgcheck=1
- gpgkey=http://mirror.centos.net.cn/RPM-GPG-KEY-CentOS-5
-
- [addons]
- name=CentOS-$releasever - Addons
- baseurl=http://mirror.centos.net.cn/$releasever/addons/$basearch/
- gpgcheck=1
- gpgkey=http://mirror.centos.net.cn/RPM-GPG-KEY-CentOS-5
-
- [extras]
- name=CentOS-$releasever - Extras
- baseurl=http://mirror.centos.net.cn/$releasever/extras/$basearch/
- gpgcheck=1
- gpgkey=http://mirror.centos.net.cn/RPM-GPG-KEY-CentOS-5
-
- [centosplus]
- name=CentOS-$releasever - Plus
- baseurl=http://mirror.centos.net.cn/$releasever/centosplus/$basearch/
- gpgcheck=1
- enabled=1
- gpgkey=http://mirror.centos.net.cn/RPM-GPG-KEY-CentOS-5
-
- [contrib]
- name=CentOS-$releasever - Contrib
- baseurl=http://mirror.centos.net.cn/$releasever/contrib/$basearch/
- gpgcheck=1
- enabled=0
- gpgkey=http://mirror.centos.net.cn/RPM-GPG-KEY-CentOS-5
4.网易源 http://mirrors.163.com, 该源由网易提供,杭州电信。下载CentOS-Base-163.repo, 放入/etc/yum.repos.d/,然后运行yum makecache生成缓存。 NETEASE:mirrors.163.com - [base]
- name=CentOS-$releasever - Base
- baseurl=http://mirrors.163.com/centos/$releasever/os/$basearch/
- gpgcheck=1
- gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-5
-
- [update]
- name=CentOS-$releasever - Updates
- baseurl=http://mirrors.163.com/centos/$releasever/updates/$basearch/
- gpgcheck=1
- gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-5
-
- [addons]
- name=CentOS-$releasever - Addons
- baseurl=http://mirrors.163.com/centos/$releasever/addons/$basearch/
- gpgcheck=1
- gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-5
-
- [extras]
- name=CentOS-$releasever - Extras
- baseurl=http://mirrors.163.com/centos/$releasever/extras/$basearch/
- gpgcheck=1
- gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-5
-
- [centosplus]
- name=CentOS-$releasever - Plus
- baseurl=http://mirrors.163.com/centos/$releasever/centosplus/$basearch/
- gpgcheck=1
- enabled=1
- gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-5
-
- [contrib]
- name=CentOS-$releasever - Contrib
- baseurl=http://mirrors.163.com/centos/$releasever/contrib/$basearch/
- gpgcheck=1
- enabled=0
- gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-5
5.搜狐源 http://mirrors.sohu.com ,该源由搜狐提供,山东联通。下载CentOS-Base-sohu.repo, 放入/etc/yum.repos.d/,然后运行yum makecache生成缓存。 SOHU:mirrors.sohu.com - [base]
- name=CentOS-$releasever - Base
- baseurl=http://mirrors.sohu.com/centos/$releasever/os/$basearch/
- gpgcheck=1
- gpgkey=http://mirrors.sohu.com/centos/RPM-GPG-KEY-CentOS-5
-
- [update]
- name=CentOS-$releasever - Updates
- baseurl=http://mirrors.sohu.com/centos/$releasever/updates/$basearch/
- gpgcheck=1
- gpgkey=http://mirrors.sohu.com/centos/RPM-GPG-KEY-CentOS-5
-
- [addons]
- name=CentOS-$releasever - Addons
- baseurl=http://mirrors.sohu.com/centos/$releasever/addons/$basearch/
- gpgcheck=1
- gpgkey=http://mirrors.sohu.com/centos/RPM-GPG-KEY-CentOS-5
-
- [extras]
- name=CentOS-$releasever - Extras
- baseurl=http://mirrors.sohu.com/centos/$releasever/extras/$basearch/
- gpgcheck=1
- gpgkey=http://mirrors.sohu.com/centos/RPM-GPG-KEY-CentOS-5
-
- [centosplus]
- name=CentOS-$releasever - Plus
- baseurl=http://mirrors.sohu.com/centos/$releasever/centosplus/$basearch/
- gpgcheck=1
- enabled=1
- gpgkey=http://mirrors.sohu.com/centos/RPM-GPG-KEY-CentOS-5
-
- [contrib]
- name=CentOS-$releasever - Contrib
- baseurl=http://mirrors.sohu.com/centos/$releasever/contrib/$basearch/
- gpgcheck=1
- enabled=0
- gpgkey=http://mirrors.sohu.com/centos/RPM-GPG-KEY-CentOS-5
四、添加第三方的软件仓库|Add yum repository centos rhel5 redora
CentOS默认源中可用的软件数目较少,这里为大家提供几个第三方软件仓库,能够极大方便日常软件安装。 1.RPMforge RPMforge is one of the participating repositories in the rpmrepo project. 安装示例: CentOS-5 32bit: - #wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
- #rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt
- #rpm -K rpmforge-release-0.3.6-1.el5.rf.i386.rpm
- #rpm -Uhv rpmforge-release-0.3.6-1.el5.rf.i386.rpm
- #yum clean all
- #yum makecache
RPMforge官方网站:http://rpmrepo.org RPMforge的使用方法,请参考:http://rpmrepo.org/RPMforge/Using
2.DAG DAG contains RPM packages for Red Hat, RHEL, CentOS and Fedora. 安装DAG: # rpm -Uhv http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.3.6-1.el5.rf.i386.rpm DAG官方网站:http://dag.wieers.com/ DAG的使用方法,请参考:http://dag.wieers.com/rpm/FAQ.php
3.EPEL Extra Packages for Enterprise Linux (EPEL) is a volunteer-based community effort from the Fedora project to create a repository of high-quality add-on packages for Red Hat Enterprise (RHEL) and its compatible spinoffs such as CentOS or Scientific Linux. Fedora is the upstream of RHEL and add-on packages for EPEL are sourced from the Fedora repository primarily and built against RHEL. 安装EPEL: # rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm 网站:https://fedoraproject.org/wiki/EPEL 五、yum命令简介|yum commands 1.列出可更新软件清单 yum check-update
2.列出已安装的软件 yum list installed
3.查看httpd包是否已安装 yum list installed httpd rpm -qa|grep httpd
4.查看某个软件的详细信息 yum info <name of package> 查看已安装软件的详细信息 yum info installed <name of package> 例子: - #yum info installed httpd
- Installed Packages
- Name : httpd
- Arch : i386
- Version : 2.2.3
- Release : 22.el5.centos
- Size : 3.1 M
- Repo : installed
- Summary : Apache HTTP Server
- URL : http:
- License : Apache Software License
- Description: The Apache HTTP Server is a powerful, efficient, and extensible web server.
5.更新所有的软件 yum update
6.安装指定的软件 yum install <name of package>
7.更新已安装的指定软件 yum update <name of package>
8.删除指定的软件 yum remove <name of package>
9.搜索某个软件(以软件名为关键字) yum search <keyword>
10.搜索包含了指定文件的软件 yum provides <keyword> 例如:#yum provides */browser xulrunner-devel-1.9.0.15-3.el5_4.i386 : Development files for Gecko Matched from: Filename : /usr/include/xulrunner-sdk-1.9/browser
11.清除缓存 清除缓存目录(/var/cache/yum)下的头文件:yum clean headers 清除缓存目录下的软件包:yum clean packages 清除所有:yum clean all 重新生成缓存:yum makecache
12.yum软件组操作 列出可安装的软件组 - # yum grouplist
- Installed Groups:
- Administration Tools
- Authoring and Publishing
- DNS Name Server
- Development Libraries
- Dialup Networking Support
- Editors
- FTP Server
- GNOME Desktop Environment
- GNOME Software Development
- Graphical Internet
- Graphics
- Java
- Java Development
- KDE (K Desktop Environment)
- KDE Software Development
- Legacy Network Server
- Legacy Software Development
- Legacy Software Support
- Mail Server
- MySQL Database
- Network Servers
- Office/Productivity
- Printing Support
- Ruby
- Server Configuration Tools
- System Tools
- Text-based Internet
- Web Server
- Windows File Server
- X Software Development
- X Window System
- Yum Utilities
- Available Groups:
- Base
- Beagle
- Cluster Storage
- Clustering
- Development Tools
- Emacs
- Engineering and Scientific
- FreeNX and NX
- Games and Entertainment
- Horde
- KVM
- Mono
- News Server
- OpenFabrics Enterprise Distribution
- PostgreSQL Database
- Sound and Video
- Tomboy
- Virtualization
- XFCE-4.4
- Done
以开发工具软件组为例 安装:#yum groupinstall “Development Tools” 更新:#yum groupupdate "Development Tools" 删除:#yum groupremove "Development Tools"
13.增加语言支持 # yum groupinstall language-support language可以是: assamese,bengali,chinese,gujarati,hindi,japanese,kannada,korean,malayalam,marathi, oriya,punjabi,sinhala,tamil,telegu ,或 thai,以及其它。 中文支持:yum groupinstall chinese-support 日文支持:yum groupinstall japanese-support 韩文支持:yum groupinstall korean-support 对于缺少相应输入法、缺少某国语言字体的问题,以上命令解决起来很快捷。 |