yum简介和使用yum升级(转)

转载 2007年09月17日 20:53:00
yum 是 yellowdog updater modified 的缩写。yellowdog 是一个 Linux 的 distribution,RH 将这种升级技术利用到自己的 distribution 形成了现在的 yum,感觉上 yum 和 apt 的原理类似,但是 apt 是编译代码,执行效率远高于使用 python 写成的 yum。这是 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 之后,就可以很方便的进行安装(现在假设就用 fc5 自带的 yum 进行安装),如我们需要安装虚拟机 bochs,可以使用

  # yum install bochs

  如果本地有相关的 rpm 文件,可以用

  # yum localinstall ur.rpm

  前者导致 yum 搜索现有 repository 中的数据(一般先会连接到这些 repository 下载更新数据),如果发现有此软件,则会通过分析其 dependencies 然后下载并安装所需软件。

  如果需要卸载,可以使用

  # yum remove bochs

  或者

  # yum erase bochs

  这也会消解对应的 dependencies,如删除 firefox 会把 R 同时删掉,因为 R 依赖于 firefox

  更新某个软件可以用

  # yum update firefox

  如果不带后面的程序名,将会升级所有可以升级的软件。过时的软件如果需要处理(如删掉)可以添加 --obsolete 参数,或者使用 upgrade。如果需要更自动化一些的操作(避免回答一些问题)还可以增加一些参数,如

  # yum -y upgrade

  如果做完一次系统级的升级,将会下载大量 rpm 等等东西,这将占用较多的硬盘,可以使用

  # yum clean packages

  将相关的 rpm 文件删除,其他的一些有 headers, packages, cache, metadata, all

  查看什么 rpm 提供某个程序可以使用

  $ yum provides /bin/rpm

  而使用

  $ yum list rpm

  会列出 rpm 相关的信息,而

  $ yum list info

  给出详细的说明,可以用

  $ yum search rpm

  获得一切能找到的与 rpm 相关的程序,搜索的对象是每个程序的描述部分。

  更详细的参数说明请查阅相关的 man pages。在 yum-utils 里面可以找到叫 yumdownloader 的程序。使用它可以方便下载,如 srpm 等包

  $ yumdownloader --source firefox

  如何使用 yum 升级我的 fc?

  升级的核心部分很简单,首先,需要让 yum 能用新的 repository,fc 管理自己版本也用了一个 rpm,可以用如下命令更新这个包

  # rpm -Uvh http://download.fedora.redhat.com/pub/fedora/

  /linux/core/5/i386/os/Fedora/RPMS/fedora-release-5-5./

  noarch.rpm

  此后就是用 yum 把 fc4 相关的程序更新到 fc5,

  # yum -y upgrade

   注意,由于某些自己安装的程序没有相关的 repository 程序替代,因此很可能干扰这个过程,如 qterm,原来的 repository 里面没有,偷懒的办法自然是先找到相关的 repository 并添加到 yum 的配置文件,笨拙的方法是先卸载这些东西... 进行了漫长的等待之后(我做的那次下载了 1.5Gb+ 的东西),就可以看着一个一个的软件更新了,然后重启,用新内核 boot 成功就几乎大功告成了。

  也许有一些应用软件无法处理老版本的配置文件,需要手动配置一下基本就行了。我的 fc5 就这样从 fc4 上长了出来~

  FC 本身有一个关于升级的 FAQ,可以参考。

  怎样配制 yum 添加新的 repository?

  这主要需要关心 yum 的配置文件。它的主配置文件在 /etc/yum.conf,其说明可以参考这里。

  其中重要的有 repository 的相关信息,在 fc5 里面,repository 的信息是分开存储的,一般在 /tec/yum.repos.d/ 里面,一般一个 repository 写成一个文件,如 fedora-core.repo。

  网上一般提供 yum 升级的 repository 都会提供类似的说明,如 DAG,他提供了可供安装的 rpm,装上后 yum 就配置好了,可以直接用上面的命令执行系统维护,又如 dries,可以建立一个 dries.repo 文件,内容是

  [dries]

  name=Extra Fedora rpms dries - $releasever - $basearch

  baseurl=http://ftp.belnet.be/packages/dries.ulyssis.org/redhat/el3/en/i386/dries

  这个一般看见就明白了,恕不赘述。

  一些其他的工具

   在 yum-utils 里面还有一些有用的工具,如 package-cleanup 用于清除本地安装的 rpm,还有维护 repository 的一些工具,如 repo-graph,repo-rss,repoclosure,repomanage,repoquery,reposync,repotrack, yum-builddep。
<script type="text/javascript"><!-- google_ad_client = "pub-4545294490411377"; google_ad_width = 200; google_ad_height = 90; google_ad_format = "200x90_0ads_al_s"; google_ad_channel = ""; //--> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script> 转自: http://www.fedorachina.cn/index.php/topic,315.0.html

配置使用yum安装升级linux系统和软件

使用yum安装升级特定系统和软件: 该文包括yum配置文件和repo文件详解,以及将redhat5.1升级到redhat5.11两部分。 一、yum的安装查看 yum主要功能是更...
  • Field_Yang
  • Field_Yang
  • 2017年02月06日 16:27
  • 1487

centos下,将python升级3.0+以上版本后,yum、update等无法使用问题

或许有些小伙伴将python升级后,懵比了!!!!!我的yum用不了啦!!!!!!!!解决完yum问题后,发现,哦呵呵呵呵呵呵 原来不止是yum阿。。。。 Now~ 我现在给大家上图that how ...
  • lafeedfh
  • lafeedfh
  • 2016年08月12日 17:25
  • 1286

centos升级python导致yum无法使用

centos6升级了python的版本,导致yum运行出现No module named yum,而无法使用 现象: [root@localhost ~]# yum install http-deve...
  • zpeng421x
  • zpeng421x
  • 2017年01月10日 17:58
  • 501

linux Python升级导致Yum无法使用

Python升级导致Yum无法使用
  • jiangshan35
  • jiangshan35
  • 2017年04月07日 15:59
  • 839

使用yum来实现php5.4完美升级php5.6版本

进入终端后查看php版本 php -v 输出可能如下: PHP 5.4.35 (cli) (built: Nov 14 2014 07:04:10) Copyright (c) 1997-201...
  • qq_34857250
  • qq_34857250
  • 2017年06月12日 15:49
  • 321

yum使用指南-软件卸载、安装、更新、获取软件包

yum history list 列出最近的历史 yum history info id 列出某次的详细信息, yum history undo id 撤销某次更改 yum history he...
  • u011350541
  • u011350541
  • 2016年11月09日 09:29
  • 3459

CentOS系统Python升级后yum不可用的解决办法

通过升级Python后,发现yum命令不能使用了!!! 出现如下错误: There was a problem importing one of the Python modules required...
  • pugongyinglhl
  • pugongyinglhl
  • 2017年02月28日 15:13
  • 1209

CentOS6.5 yum升级gcc

因为需要用到C++11,但CentOS自带的gcc4.4.7不支持,所以决定升级gcc。 操作如下:#备份 mv /etc/yum.repos.d/devtools-2.repo /etc/yum....
  • u013025612
  • u013025612
  • 2017年02月25日 18:11
  • 856

[linux]因python升级导致的yum命令无法执行

yum命令无法执行There was a problem importing one of the Python modules required to run yum. The error lea...
  • cn_wk
  • cn_wk
  • 2016年04月01日 01:04
  • 950

用yum 安装的php版本升级

找了N多种方法  ,只有这一个成功了!! 安装php5.6版本以后不再需要安装Zend Guard,而是用yum命令安装php-opcache及php-pecl-apcu就可以有效的提高php执行速...
  • monologue_88
  • monologue_88
  • 2017年05月09日 16:01
  • 473
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:yum简介和使用yum升级(转)
举报原因:
原因补充:

(最多只允许输入30个字)