软件的升级是对软件功能的改进和安全性的升级,与windows系统类似,linux操作系统下也需要对软件进行定期的更新升级,保持软件始终处于最新状态。Linux操作系统的升级可以分为自动升级和手动升级两种方式:
自动升级一般是在有授权的linux发行版或者免费linux发行版下进行的,只要输入升级命令,系统会自动完成升级工作,无需人工干预。yum是yellowdog updater modified 的缩写,yellow dog(黄狗)也是一个 Linux 的 发行版本,只不过Redhat公司是将这种升级技术利用到自己的发行版上就形成了现在的 yum。 yum是进行linux自动升级常用的一个工具,通过yum工具配合互联网即可实现自动升级系统。例如一台经过授权的Redhat Linux操作系统,或者一台Centos Linux系统,只要你的系统能连接互联网,输入yum update 即可实现系统的自动升级。通过yum进行系统升级实质是yum命令去下载指定的远程互联网 主机上的RPM软件包,然后自动进行安装,同时解决各个软件之间的依赖关系。
手动升级是有针对性的进行某个系统软件的升级,例如升级系统的ssh登录工具、gcc编译工具等等。手动升级其实就是通过RPM包工具实现软件更新的,因此在升级软件时可能会遇到软件之间的依赖关系,升级相对比较麻烦。 下面具体讲述在Centos Linux4.4下如何设置yum工具,进行系统自动升级。 1.yum的安装与配置 (1)yum的安装 检查yum是否已经安装: [root@localhost ~]# rpm -qa|grep yum 如果没有任何显示,表示系统中还没有安装yum工具,yum安装包在centos系统光盘中可以找到,执行如下指令进行安装: [root@localhost ~]# rpm -ivh yum-*.noarch.rpm 安装yum需要python-elementtree、python-sqlite、urlgrabber、yumconf等软件包的支持,这些软件包在Centos Linux系统安装光盘均可找到,如果在安装yum过程中出现软件包之间的依赖性,只需按照依赖提示寻找相应软件包安装即可,直到yum包安装成功。 (2)yum的配置 yum工具安装完毕,接下来的工作是进行yum的配置,yum的配置文件有主配置文件/etc/yum.conf、资源库配置目录/etc/yum.repos.d,yum安装后,默认的一些资源库配置可能无法使用,因此需要进行修改,下面是/etc/yum.repos.d/CentOS-Base.repo资源库配置文件各项的详细含义: [root@localhost ~]#vim /etc/yum.repos.d/CentOS-Base.repo [base] name=CentOS-4 - Base #name 就是发行版的名称,其格式表示“操作系统名和释出版本”,“base”是表明此段寻找的是base包信息。 baseurl=http://mirror./centos/4/os/$basearch/
#baseurl”表示yum在互联网上查找升级文件的URL地址。其中“$basearch”代表了系统的硬件构架如“i386”、“x86-64等,同时,yum在资源更新时,会检查baseurl/repodata/repomd.xml文件。 “repomd.xml”是一个索引文件,它的作用是提供了更新rpm包文件的下载信息和SHA校验值。 “repomd.xml”包括了3个文件,分别为“other.xml.gz”、”filelists.xml.gz”和”primary.xml.gz”,表示的含义依次是“其它更新包列表”、“更新文件集中列表”和“主要更新包列表”。 gpgcheck=1
#gpgcheck表示是否启用gpg检查,1表示启用,0表示不启用校验,如果启用,就是需要在配置文件里注明GPG-RPM-KEY的位置,可以看到下面gpgkey字段,指定了GPG-RPM-KEY验证文件的位置。 #released updates
[update] #本段是updates更新模块要用到的部分配置。 name=CentOS-4 - Updates baseurl=http://mirror./centos/4/updates/$basearch/ gpgcheck=1 gpgkey=http://mirror./centos/RPM-GPG-KEY-centos4 #gpgkey指定GPG密钥的地址 #packages used/produced in the build but not released #本段指定的是尚未发布的软件包部分(addons)配置 [addons] name=CentOS-4 - Addons baseurl=http://mirror./centos/4/addons/$basearch/ gpgcheck=1 gpgkey=http://mirror./centos/RPM-GPG-KEY-centos4 #additional packages that may be useful
#本段指定的是有用的额外软件包部分(extras)配置 [extras] name=CentOS-4 - Extras baseurl=http://mirror./centos/4/extras/$basearch/ gpgcheck=1 gpgkey=http://mirror./centos/RPM-GPG-KEY-centos4 #additional packages that extend functionality of existing packages
#本段指定的是扩展的额外软件包部分(centosplus)配置 [centosplus] name=CentOS-4 - Plus baseurl=http://mirror./centos/4/centosplus/$basearch/ gpgcheck=1 enabled=0 gpgkey=http://mirror./centos/RPM-GPG-KEY-centos4 #contrib - packages by Centos Users
#这里是contrib部分 [contrib] name=CentOS-4 - Contrib baseurl=http://mirror./centos/4/contrib/$basearch/ gpgcheck=1 enabled=0 gpgkey=http://mirror./centos/RPM-GPG-KEY-centos4 2.yum的特点 1) 安装方便,自动解决增加或删除rpm包时遇到的依赖性问题。 2)可以同时配置多个资源库(Repository) 3) 配置文件简单明了(/etc/yum.conf、/etc/yum.repos.d/CentOS-Base.repo) 4)保持与RPM数据库的一致性 注意:yum会自动下载所有所需的升级资源包并默认放置在/var/cache/yum目录下, 当第一次使用yum或yum资源库更新时,软件升级所需的时间可能较长。 3.yum的日常用法 (1)通过yum安装和删除RPM包 安装rpm包,如dhcp [root@localhost ~]#yum install dhcp 删除rpm包,包括与该包有依赖性的包 [root@localhost ~]#yum remove licq 注意:同时会提示删除licq-gnome,licq-qt,licq-text (2)通过yum工具更新软件包 检查可更新的rpm包: [root@localhost ~]#yum check-update 更新所有的rpm包: [root@localhost ~]#yum update 更新指定的rpm包,如更新kernel和kernel source: [root@localhost ~]#yum update kernel kernel-source 大规模的版本升级,与yum update不同的是,陈旧的淘汰的包也会升级: [root@localhost ~]#yum upgrade (3)通过yum查询RPM包信息 列出资源库中所有可以安装或更新的rpm包的信息: [root@localhost ~]#yum info 列出资源库中特定的可以安装或更新以及已经安装的rpm包的信息: [root@localhost ~]#yum info vsftpd [root@localhost ~]#yum info perl* 注意:可以在rpm包名中使用匹配符, 如上面例子是列出所有以perl开头的rpm包的信息。 列出资源库中所有可以更新的rpm包的信息: [root@localhost ~]#yum info updates 列出已经安装的所有的rpm包的信息: [root@localhost ~]#yum info installed 列出已经安装的但是不包含在资源库中的rpm包的信息: [root@localhost ~]#yum info extras 注:也就是通过其它网站下载安装的rpm包的信息。 列出资源库中所有可以更新的rpm包: [root@localhost ~]#yum list updates 列出已经安装的所有rpm包:
[root@localhost ~]#yum list installed 列出已经安装的但不包含在资源库中的rpm包: [root@localhost ~]#yum list extras 注:也就是通过其它网站下载安装的rpm包。 列出资源库中所有可以安装或更新的rpm包: [root@localhost ~]#yum list 列出资源库中特定的可以安装或更新以及已经安装的rpm包: [root@localhost ~]#yum list sendmail [root@localhost ~]#yum list gcc* 注意:可以在rpm包名中使用匹配符, 如上面例子是列出所有以gcc开头的rpm包。 搜索匹配特定字符的rpm包的详细信息: [root@localhost ~]#yum search wget 注意:可以通过“search”在rpm包名,包描述中进行搜索。 搜索包含特定文件名的rpm包: [root@localhost ~]#yum provides realplay (4)通过yum操作暂存信息(/var/cache/yum) 清除暂存的rpm包文件: [root@localhost ~]#yum clean packages 清除暂存的rpm头文件: [root@localhost ~]#yum clean headers 清除暂存中旧的rpm头文件和包文件:
[root@localhost ~]#yum clean all 4.Redhat Linux下用yum升级系统 yum也可以升级Redhat Linux系统,在Redhat Linux系统安装盘中默认没有yum的安装包,由于Redhat Linux与Centos Linux基本一致,因此可以用同版本同内核的Centos Linux的yum包在Redhat Linux上进行安装。安装过程在上面章节已经讲述,这里不在多说。 由于使用的是Centos Linux的yum包在Redhat Linux下进行的安装,因此在Redhat Linux下需要增加资源库,定义yum的非官方库文件,让一些必需的软件包通过yum也能够安装。 首先建立dag.repo,定义非官方库: [root@localhost ~]# vi /etc/yum.repos.d/dag.repo [dag] name=Dag RPM Repository for RHEL4 baseurl=http://ftp./Linux/dag/redhat/el4/en/$basearch/dag/ enabled=1 gpgcheck=1 接着导入非官方库的GPG: [root@localhost ~]# rpm --import \ http://ftp./Linux/caos/centos/RPM-GPG-KEY-centos4 注意:此步骤很重要,如果没有导入授权的RPM-GPG-KEY,在使用yum升级安装软件时就会提示软件不合法,结合上下文可以看出,在Centos下进行yum配置的时候,并没有涉及到导入RPM-GPG-KEY,那是因为连接的资源库为Centos官方的库,而升级的系统也是Centos,当然无需授权,而这里我们升级的系统是Redhat Linux,而用的资源文件是Centos的,所以必须导入Centos的RPM-GPG-KEY,系统才认为升级的包是合法的。 最后,就可以使用非官方定义的rpm包升级系统: [root@localhost ~]#yum update |
|