因为要搭建一台邮件服务器的测试机,和门户做集成,所以安装了红帽Linux,并且顺便更新了Linux的yum源。
首先,rhel5系统安装的时候其实已经有yum了,只是因为如果用官方的网站更新的话除非你是用钱买的rhel5.否则它会提示注册之类的。所以只要把 yum的更新地址改成开源的就行了。而限定yum更新地址的文件在/etc/yum.repos.d/里。先把它们改成备份文件,即在后面加.bak。
[root@killgoogle ~]# mv /etc/yum.repos.d/rhel-debuginfo.repo /etc/yum.repos.d/rhel-debuginfo.repo.bak
[root@killgoogle ~]# mv /etc/yum.repos.d/rpmforge.repo.rpmnew /etc/yum.repos.d/rpmforge.repo.rpmnew.bak
建立新的配置文件:
[root@killgoogle ~]# cd /etc/yum.repos.d
[base]
name=CentOS-5 - Base
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever5&arch=$basearch&
repo=os
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
baseurl=http://ftp.sjtu.edu.cn/centos/5/os/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-centos5
#released updates
[update]
name=CentOS-5 - Updates
#mirrorlist=http://mirrorlist.centos.org/?release=4&arch=$basearch&repo=updates
baseurl=http://ftp.sjtu.edu.cn/centos/5/updates/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-centos5
#packages used/produced in the build but not released
[addons]
name=CentOS-5 - Addons
#mirrorlist=http://mirrorlist.centos.org/?release=4&arch=$basearch&repo=addons
baseurl=http://ftp.sjtu.edu.cn/centos/5/addons/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-centos5
#additional packages that may be useful
[extras]
name=CentOS-5 - Extras
#mirrorlist=http://mirrorlist.centos.org/?release=4&arch=$basearch&repo=extras
baseurl=http://ftp.sjtu.edu.cn/centos/5/extras/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-centos5
#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-5 - Plus
#mirrorlist=http://mirrorlist.centos.org/?release=4&arch=$basearch&repo=centosplus
baseurl=http://ftp.sjtu.edu.cn/centos/5/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-centos5
#contrib - packages by Centos Users
[contrib]
name=CentOS-5 - Contrib
#mirrorlist=http://mirrorlist.centos.org/?release=4&arch=$basearch&repo=contrib
baseurl=http://ftp.sjtu.edu.cn/centos/5/contrib/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-centos5
---------------------------------------
2.# vi dag.repo
[dag]
name=Dag RPM Repository for RHEL5
baseurl=http://ftp.riken.jp/Linux/dag/redhat/el5/en/$basearch/dag/
enabled=1
gpgcheck=0
gpgkey=http://ftp.riken.jp/Linux/dag/packages/RPM-GPG-KEY.dag.txt
3. 导入key
#rpm --import http://ftp.sjtu.edu.cn/centos/5/os/i386/RPM-GPG-KEY-CentOS-5
4. 运行,测试
#yum update
一、什么是 yum
yum 是 yellowdog updater modified 的缩写。yellowdog 是一个 Linux 的 distribution,RH 将这种升级技术利用到自己的 distribution 形成了现在的 yum,感觉上 yum 和 apt 的原理类似,但是 apt 是编译代码,执行效率远高于使用 python 写成的 yum。
yum 的理念是使用一个中心仓库(repository)管理一部分甚至一个 distribution 的应用程序相互关系,根据计算出来的软件依赖关系进行相关的升级、安装、删除等等操作,减少了 Linux 用户一直头痛的 dependencies 的问题。这一点上,yum 和 apt 相同。apt 原为 debian 的 deb 类型软件管理所使用,但是现在也能用到 RH 门下的 rpm 了。
一般这类软件通过一个或者多个配置文件描述对应的 repository 的网络地址,通过 http 或者 ftp 协议在需要的时候从 repository 获得必要的信息,下载相关的软件包。这样,本地用户通过建立不同的 repository 的描述说明,在有 Internet 连接时就能方便进行系统的升级维护工作。另外,如果需要使用代理,可以用 http_proxy 和 ftp_proxy 这些 shell 里面标准环境变量的设定。
repository 是用 yum-arch 或者 createrepo 命令创建的,也可以用别人已有的 repository 作为镜像,这里探讨如何建立一个 repository。
yum 的基本操作
yum 的基本操作包括软件的安装(本地,网络),升级(本地,网络),卸载,另外还有一定的查询功能。设定好了本地的 yum 之后,就可以很方便的进行安装。
1.列出所有可更新的软件清单
命令:yum check-update
2.安装所有更新软件
命令:yum update
3.仅安装指定的软件
命令:yum install <package_name>
4.仅更新指定的软件
命令:yum update <package_name>
5.列出所有可安裝的软件清单
命令:yum list
用YUM安装删除软件
装了系统添加删除软件是常事,yum同样可以胜任这一任务,只要软件是rpm安装的。
安装的命令是,yum install xxx,yum会查询数据库,有无这一软件包,如果有,则检查其依赖冲突关系,如果没有依赖冲突,那么最好,下载安装;如果有,则会给出提示,询问是否要同时安装依赖,或删除冲突的包,你可以自己作出判断。
删除的命令是,yum remove xxx,同安装一样,yum也会查询数据库,给出解决依赖关系的提示。
1.用YUM安装软件包
命令:yum install <package_name>
2.用YUM删除软件包
命令:yum remove <package_name>
用YUM查询软件信息
我 们常会碰到这样的情况,想要安装一个软件,只知道它和某方面有关,但又不能确切知道它的名字。这时yum的查询功能就起作用了。你可以用 yum search keyword这样的命令来进行搜索,比如我们要则安装一个Instant Messenger,但又不知到底有哪些,这时不妨用 yum search messenger这样的指令进行搜索,yum会搜索所有可用rpm的描述,列出所有描述中和messeger有关的rpm包,于 是我们可能得到gaim,kopete等等,并从中选择。
有时我们还会碰到安装了一个包,但又不知道其用途,我们可以用yum info packagename这个指令来获取信息。
1.使用YUM查找软件包
命令:yum search <keyword>
2.列出所有可安装的软件包
命令:yum list
3.列出所有可更新的软件包
命令:yum list updates
4.列出所有已安装的软件包
命令:yum list installed
5.列出所有已安装但不在 Yum Repository 內的软件包
命令:yum list extras
6.列出所指定的软件包
命令:yum list <package_name>
7.使用YUM获取软件包信息
命令:yum info <package_name>
8.列出所有软件包的信息
命令:yum info
9.列出所有可更新的软件包信息
命令:yum info updates
10.列出所有已安裝的软件包信息
命令:yum info installed
11.列出所有已安裝但不在 Yum Repository 內的软件包信息
命令:yum info extras
12.列出软件包提供哪些文件
命令:yum provides <package_name>
清除YUM缓存
yum 会把下载的软件包和header存储在cache中,而不会自动删除。如果我们觉得它们占用了磁盘空间,可以使用yum clean指令进行清除,更精确 的用法是yum clean headers清除header,yum clean packages清除下载的rpm包,yum clean all一 股脑儿端
1.清除缓存目录(/var/cache/yum)下的软件包
命令:yum clean packages
2.清除缓存目录(/var/cache/yum)下的 headers
命令:yum clean headers
3.清除缓存目录(/var/cache/yum)下旧的 headers
命令:yum clean oldheaders
4.清除缓存目录(/var/cache/yum)下的软件包及旧的headers
命令:yum clean, yum clean all (= yum clean packages; yum clean oldheaders)
本文出自 “无双城” 博客,谢绝转载!