yum

yum是redhat系统上的一个很好的软件包管理工具,它解决了rpm存在的包之间的依赖性关系,实现快速,可靠的安装和管理系统的软件包。而且配置和使用都非常简单,和debian的apt大有一比。呵呵。一直很少写技术类的文章,朋友总是说我没有点开源的精神,只知道学也不共享点出来,其实不然,我也想写,但就是太忙了,呵呵,以后会尽量多的写的技术类的文章。说了那么多废话,言归正传:

缺省情况下yum已经被安装到了系统中(我选择的是fedora core1 有人说现在都F7了。呵呵。F1用习惯了。)如果没有安装可以从光盘或者网上直接下载 http://archives.fedoraproject.org/fedora/linux/core/1/i386/os/  其他版本的在http://mirrors.kernel.org/fedora/core/n/i386/os  (n>1)

配置Yum
  
  在使用Yum之前,我们要编辑/etc/yum.conf配置文件,更改其中指明所使用的软件仓库服务器的位置。下面是缺省情况下该文件的内容:
  
  [main]
  cachedir=/var/cache/yum
  debuglevel=2
  logfile=/var/log/yum.log
  pkgpolicy=newest
  distroverpkg=fedora-release
  tolerant=1
  exactarch=1
  [base]
  name=Fedora Core $releasever - $basearch - Base
  baseurl=http://fedora.redhat.com/releases/fedora-core-$releasever
  [updates-released]
  name=Fedora Core $releasever - $basearch - Released Updates
  baseurl=http://fedora.redhat.com/updates/released/fedora-core-$releasever
  #[updates-testing]
  #name=Fedora Core $releasever - $basearch - Unreleased Updates
  #baseurl=http://fedora.redhat.com/updates/testing/fedora-core-$releasever
  
为了提高下载速度我为yum 选择个速度比较快的服务器作为升级的站点我们,修改yum.conf文件为:

[main]
cachedir=/var/cache/yum
debuglevel=2
logfile=/var/log/yum.log
pkgpolicy=newest
distroverpkg=fedora-release
tolerant=1
exactarch=1

[base]
name=Fedora Core $releasever - $basearch - Base
baseurl=http://archives.fedoraproject.org/fedora/linux/core/1/i386/os/

[updates-released]
name=Fedora Core $releasever - $basearch - Released Updates
baseurl=http://mirrors.kernel.org/fedora/core/updates/1/i386

#[updates-testing]
#name=Fedora Core $releasever - $basearch - Unreleased Updates
#baseurl=http://fedora.redhat.com/updates/testing/fedora-core-$releasever

同时我们还要编辑文件/etc/sysconfig/rhn/sources 替换其中的默认站点修改后的内容为:

yum fedora-core-1 http://archives.fedoraproject.org/fedora/linux/core/1/i386/os/
yum updates-released http://mirrors.kernel.org/fedora/core/updates/1/i386

使用Yum
  
  使用Yum要做的第一件事情是更新其RPM header(文件头)列表。每一个RPM都有一个header,其中包含了完整的文件列表、软件包描述、实现的功能和提供的库、所需要的东西以及有什么冲突。Yum正是使用这些信息来决定如何升级和安装软件包的。
  
  下面就来解决这个问题,输入以下命令:
  
  yum check-update
  
  运行这个命令,Yum将从yum.conf文件中指定的软件包服务器上下载当前的完整header文件列表。这个过程通常需要花费一定的时间,并且会有如下的一些显示信息:
  
  Gathering header information file(s) from server(s)
  Server: Fedora Core 1 - i386 - Base
  Server: Fedora Core 1 - i386 - Released Updates
  Finding updated packages
  Downloading needed
  headers
  getting /var/cache/yum/updates-released
  /headers/pango-0-1.2.5-4.i386.hdr
  pango-0-1.2.5-4.i386.hdr
  100% |=======| 6.5 kB  00:02
  ......
  
  当上述的步骤完成之后,说明Yum已经下载完了所有的header文件。如果想让现在系统上安装的所有软件都处于最新的状态,只需使用以下命令:
  
  yum update
  
  Yum会将现在系统上安装的所有软件和目前的软件仓库服务器上的软件进行比较,比较完成后,它会给出一个有关细节的信息列表让用户确认,列表的内容如下所示:
  
  Gathering header information file(s) from server(s)
  Server: Fedora Core 1 - i386 - Base
  Server: Fedora Core 1 - i386 - Released Updates
  Finding updated packages
  Downloading needed headers
  Resolving dependencies
  Dependencies resolved
  I will do the following:
  [install: kernel 2.4.22-1.2188.nptl.i686]
  [update: pango 1.2.5-4.i386]
  ......
  [update: XFree86-font-utils 4.3.0-55.i386]
  Is this ok [y/N]:y

在本例中,Yum告诉我有76个可用更新(因为我进行测试的系统在安装完Fedora以后还从来没有更新过)。要安装所有这些更新,所要做的只是输入“y”即可。如果想更新的只是某一个特定的软件,可以将上述命令稍做修改:
  
  yum update nmap
  
  会看到如下所述的内容:
  
  Gathering header information file(s) from server(s)
  Server: Fedora Core 1 - i386 - Base
  Server: Fedora Core 1 - i386 - Released Updates
  Finding updated packages
  Downloading needed headers
  No Packages Available for Update
  No actions to take
  
  在上述的例子中,Yum告诉我,我的系统上的nmap已经是最新版本了,因此无需进行任何升级。下面我们来看一看如何安装一个机器上没有的软件包,比如如果系统中没有nmap我们要安装的是nmap软件包,只需要输入以下命令即可:
  
  yum install nmap
  
  可能会看到如下信息:
  
  Gathering header information file(s) from server(s)
Server: Fedora Core 1 - i386 - Base
Server: Fedora Core 1 - i386 - Released Updates
Finding updated packages
Downloading needed headers
Resolving dependencies
Dependencies resolved
I will do the following:
[install: nmap 2:3.48-1.i386]
Is this ok [y/N]:   
  按“y”就可以进行软件的安装,会出现下列内容提示安装成功:
  
  Getting nmap-3.48-1.i386.rpm
nmap-3.48-1.i386.rpm      100% |=========================| 368 kB    00:17     
Running test transaction:
Test transaction complete, Success!
nmap 100 % done 1/1 
Installed:  nmap 2:3.48-1.i386
Transaction(s) Complete
  
  虽然我的机器上的namp已经安装好了,不过我还想为其安装一个GUI界面,但又不知道需要什么软件包,这时只需要输入以下命令:
  
  yum search nmap gui
  
  可能看到的内容如下:
  
  Gathering header information file(s) from server(s)
  Server: Fedora Core 1 - i386 - Base
  Server: Fedora Core 1 - i386 - Released Updates
  Finding updated packages
  Downloading needed headers
  Looking in available packages for a providing package
  Available package: redhat-config-printer-gui.i386
  0:0.6.79.5-1 from updates-released matches with
  redhat-config-printer-gui
  Available package: nmap.i386 2:3.48-1
  from base matches with nmap
  Available package: nmap-frontend.i386
  2:3.48-1 from base matches with
  Available package: nmap-frontend.i386
  2:3.48-1 from base matches with nmap-frontend
  ......
  2 results returned
  
  如果现在需要一个并不是独立软件包的库文件,比如libc6.1-1.so.2,可以通过以下命令获取:
  
  yum provides libc6.1-1.so.2
  
  该命令会显示以下信息:
  
  Gathering header information file(s)
  from server(s)
  Server: Fedora Core 1 - i386 - Base
  Server: Fedora Core 1 - i386 - Released Updates
  Finding updated packages
  Downloading needed headers
  Looking in available packages for a providing package
  Available package: compat-libstdc++.i386
  0:7.3-2.96.118 from base matches with
  libstdc++-libc6.1-1.so.2
  Available package: compat-libstdc++.i386
  0:7.3-2.96.118 from base matches with
  libstdc++-libc6.1-1.so.2(GCC.INTERNAL)
  2 results returned
  Looking in installed packages for a providing package
  No packages found
  
  Yum告知所查询的库位于compat-libstdc++的软件包中,并且现在还没有安装到本地系统上,所以只需要输入命令“yum install compat-libstdc++”即可完成该库的安装。如果要删除系统中的某软件,只需要输入以下命令:
  
  yum remove nmap
  
  该命令将会删除该软件包以及所有与之相关联的软件包。
  
  在Yum升级或者安装软件时,它并不会自动清除磁盘缓冲区,所以要手动来完成这个过程。所幸的是这个过程非常简单,只需要输入以下命令即可:
  
  yum clean all
  
  该命令会删除所有缓冲区中的软件包以及所有不再需要的RPM header。如果要查看某一软件在本系统上的安装情况,可以使用以下命令:
  
  yum info nmap  
  将会出现如下提示:
  
  Gathering header information file(s) from server(s)
Server: Fedora Core 1 - i386 - Base
Server: Fedora Core 1 - i386 - Released Updates
Finding updated packages
Downloading needed headers
Looking in Available Packages:
 
Looking in Installed Packages:
Name   : nmap
Arch   : i386
Version: 3.48
Release: 1
Size   : 1.26 MB
Group  : Applications/System
Repo   : Locally Installed
Summary: Network exploration tool and security scanner
Description:
 Nmap is a utility for network exploration or security auditing. It
supports ping scanning (determine which hosts are up), many port
scanning techniques (determine what services the hosts are offering),
and TCP/IP fingerprinting (remote host operating system
identification). Nmap also offers flexible target and port
specification, decoy scanning, determination of TCP sequence
predictability characteristics, reverse-identd scanning, and more


  
  小结
  
  从上面的讨论可以看出,Yum是一个非常方便实用的升级工具,它可以很轻松地让用户的系统时刻处于最新的状态。事实上,Yum可以实现的功能还远不止本文讨论的内容。我们还可以用它来升级内核(升级至新版本的内核,而不是打补丁)。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值