RHEL 4 笔记 yum安装使用

    为什么使用yum

Linux系统维护中令管理员很头疼的就是软件包之间的依赖性了,往往是你要安装A软件,但是编译的时候告诉你X软件安装之前需要B软件,而当你安装Y软件的时候,又告诉你需要Z库了,好不容易安装好Z库,发现版本还有问题等。由于历史原因,RPM软件包管理系统对软件之间的依存关系没有内部定义,造成安装RPM软件时经常出现令人无法理解的软件依赖问题。其实开源社区早就对这个问题尝试进行解决了,不同的发行版推出了各自的工具,比如YellowDog的YUM(YellowdogUpdater,Modified),Debian的APT(AdvancedPackagingTool)等。开发这些工具的目的都是为了要解决安装RPM时的依赖性问题,而不是额外再建立一套安装模式。这些软件也被开源软件爱好者们逐渐移植到别的发行版上。目前,APT和YUM都可以运行在RedHat系统上。目前yum是RedHat/Fedora系统上默认安装的更新系统。

什么是yum

yum是YellowdogUpdater,Modified的简称,起初是由yellowdog发行版的开发者TerraSoft研发,用python写成,那时叫做yup(yellowdogupdater),后经杜克大学的Linux@Duke开发团队进行改进,遂有此名。yum的宗旨是自动化地升级,安装/移除rpm包,收集rpm包的相关信息,检查依赖性并自动提示用户解决。yum的关键之处是要有可靠的repository,顾名思义,这是软件的仓库,它可以是http或ftp站点,也可以是本地软件池,但必须包含rpm的header,header包括了rpm包的各种信息,包括描述,功能,提供的文件,依赖性等.正是收集了这些header并加以分析,才能自动化地完成余下的任务。

yum具有如下特点:

自动解决包的倚赖性问题能更方便的添加/删除/更新RPM包

便于管理大量系统的更新问题

可以同时配置多个资源库(Repository)

简洁的配置文件(/etc/yum.conf)

保持与RPM数据库的一致性

有一个比较详细的log,可以查看何时升级安装了什么软件包等

使用方便

 

yum是CentOS/Fedora系统自带的,因此它能使用CentOS官方的软件源,完成各种官方发布的各种升级。对于第三方软件源的支持,yum也不差,大多数支持apt的repository,也能支持yum,比如说freshrpms、fedora.us、livna、dag等。在标准的RedhatEnterpriseLinux上,默认没有安装yum,需要单独下载并安装。此外,RedhatEnterpriseLinux的更新是由Redhat提供的收费服务 但由于RedhatEnterpriseLinux和CentOS是基本通用的,所以可用CentOS源来升级redhat。

 

1.首先安装yum和相关的rpm包

  注意:本安装包只提供给as4系统之用

  http://www.swsoft.com.cn/downloads/Prima/Tools/yum_forAS4.tar.gz

  下载并解压缩yum包和升级文件,运行下面命令:

  [root@localhost yum_forAS4] rpm -ivh *.rpm

 

 [root@localhost yum_forAS4]# rpm -ivh *.rpm
warning: python-elementtree-1.2.6-7.el4.rf.i386.rpm: V3 DSA signature: NOKEY, key ID 6b8d79e6
Preparing...                ########################################### [100%]
   1:sqlite                 ########################################### [ 20%]
   2:python-sqlite          ########################################### [ 40%]
   3:python-urlgrabber      ########################################### [ 60%]
   4:python-elementtree     ########################################### [ 80%]
   5:yum                    ########################################### [100%]

2.将解压缩后得到的CentOS-Base.repo复制到/etc/yum.repos.d/目录里边。

      cp  CentOS-Base.repo  /etc/yum.repos.d/

     

  现在我们测试用YUM安装一个软件,

[root@localhost yum_forAS4]#yum install zip.i386

 Downloading Packages:
warning: rpmts_HdrFromFdno: V3 DSA signature: NOKEY, key ID 443e1821


Public key for zip-2.3-29.EL4.i386.rpm is not installed

通过输出可以看到给出了“Publickeyisnotinstalled”提示。那是因为还没有导入YUM的KEY

 

3.导入Publickey(两种方式)

A、执行如下命令导入GPGKey

 

rpm --import http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-4

 

B、编辑CentOS-Base.repo每段末增加“gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-

CentOS-4“

[root@localhost]#cat/etc/yum.repos.d/CentOS-Base.repo

 

[base]

name=CentOS-4-Base

baseurl=http://mirror.centos.org/centos/4/os/$basearch/

gpgcheck=1

gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-4

 

#releasedupdates

[update]

name=CentOS-4-Updates

baseurl=http://mirror.centos.org/centos/4/updates/$basearch/

gpgcheck=1

gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-4

 

#packagesused/producedinthebuildbutnotreleased

[addons]

name=CentOS-4-Addons

baseurl=http://mirror.centos.org/centos/4/addons/$basearch/

gpgcheck=1

gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-4

 

#additionalpackagesthatmaybeuseful

[extras]

name=CentOS-4-Extras

baseurl=http://mirror.centos.org/centos/4/extras/$basearch/

gpgcheck=1

gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-4

 

#additionalpackagesthatextendfunctionalityofexistingpackages

[centosplus]

name=CentOS-4-Plus

baseurl=http://mirror.centos.org/centos/4/centosplus/$basearch/

gpgcheck=1

enabled=0

gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-4

 

#contrib-packagesbyCentosUsers

[contrib]

name=CentOS-4-Contrib

baseurl=http://mirror.centos.org/centos/4/contrib/$basearch/

gpgcheck=1

enabled=0

gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-4

 

至此,yum就可以正常使用了。再执行一下刚才的yum install zip.i386

 [root@localhost yum_forAS4]# yum install zip.i386
Setting up Install Process
Setting up repositories
Reading repository metadata in from local files
Parsing package install arguments
Resolving Dependencies
--> Populating transaction set with selected packages. Please wait.
---> Package zip.i386 0:2.3-29.EL4 set to be updated
--> Running transaction check

Dependencies Resolved

=============================================================================
 Package                 Arch       Version          Repository        Size
=============================================================================
Updating:
 zip                     i386       2.3-29.EL4       base              114 k

Transaction Summary
=============================================================================
Install      0 Package(s)
Update       1 Package(s)
Remove       0 Package(s)
Total download size: 114 k
Is this ok [y/N]: y
Downloading Packages:
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Updating  : zip                          ######################### [1/2]
  Cleanup   : zip                          ######################### [2/2]

Updated: zip.i386 0:2.3-29.EL4
Complete!

 

完整语法参见其命令手册,

下面只列出较常见的用法。

 

yum check-update检查可更新的所有软件包

yum update下载更新系统已安装的所有软件包

yum upgrade大规模的版本升级,与yumupdate不同的是,连旧的淘汰的包也升级

yum install<packages>安装新软件包

yum update<packages>更新指定的软件包

yum remove<packages>卸载指定的软件包

yum groupinstall<groupnames>安装指定软件组中的软件包

yum groupupdate<groupnames>更新指定软件组中的软件包

yum groupremove<groupnames>卸载指定软件组中的软件包

yum grouplist查看系统中已经安装的和可用的软件组

yum list列出资源库中所有可以安装或更新以及已经安装的rpm包

yum list<regex>列出资源库中与正则表达式匹配的可以安装或更新以及已经安装的rpm包

yum listavailable列出资源库中所有可以安装的rpm包

yum listavailable<regex>列出资源库中与正则表达式匹配的所有可以安装的rpm包

yum listupdates列出资源库中所有可以更新的rpm包

yum listupdates<regex>列出资源库中与正则表达式匹配的所有可以更新的rpm包

yum listinstalled列出资源库中所有已经安装的rpm包

yum listinstalled<regex>列出资源库中与正则表达式匹配的所有已经安装的rpm包

yum listextras列出已经安装的但是不包含在资源库中的rpm包

yum listextras<regex>列出与正则表达式匹配的已经安装的但是不包含在资源库中的rpm包

yum listrecent列出最近被添加到资源库中的软件包

yum search<regex>检测所有可用的软件的名称、描述、概述和已列出的维护者,查找与正则表达式匹配的值

yum provides<regex>检测软件包中包含的文件以及软件提供的功能,查找与正则表达式匹配的值

yum cleanheaders清除缓存中的rpm头文件

yum cleanpackages清除缓存中rpm包文件

yum cleanall清除缓存中的rpm头文件和包文件

yum deplist<packages>显示软件包的依赖信息

 

 

当第一次使用yum或yum资源库有更新时,yum会自动下载所有所需的headers放置于/var/cache/yum目录下,所需时间可能较长。

还可以使用yuminfo命令列出包信息,yuminfo可用的参数与yumlist的相同。

yum命令还可以使用-y参数用于用yes回答命令运行时所提出的问题。

4、repo文件说明:

在.repo文件中,配置语法是分段的,每一段配置一个软件仓库,配置语法如下:

 

[repositoryid]

name=Somenameforthisrepository

baseurl=url://server1/path/to/repository/

url://server2/path/to/repository/

url://server3/path/to/repository/

mirrorlist=url://path/to/mirrorlist/repository/

enabled=0/1

gpgcheck=0/1

gpgkey=AURLpointingtotheASCII-armouredGPGkeyfilefortherepository

 

 

其中:

repositoryid:用于指定一个仓库

name:用于指定易读的仓库名称

baseurl:用于指定本仓库的URL,可以是如下的几种类型:

http—用于指定远程HTTP协议的源

ftp—用于指定远程FTP协议的源

file—用于本地镜像或NFS挂装文件系统

mirrorlist:用于指定仓库的镜像站点

enabled:用于指定是否使用本仓库,默认值为1,即可用

gpgcheck:用于指定是否检查软件包的GPG签名

gpgkey:用于指定GPG签名文件的URL

 

 

 

注:本文借鉴于:http://blog.163.com/mingyan_xiong/blog/static/11781591820091027495846/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值