Linux操作系统下使用yum升级的详细方法

  什么是 yum?

  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。

时间: 2024-10-29 18:56:34

Linux操作系统下使用yum升级的详细方法的相关文章

关于Linux操作系统下终端乱码的完美解决方法_Linux

初入linux的程序员们,经常会受到乱码的问候.可谓"始乱终弃".因为乱码,并且最终放弃了linux的不在少数.好吧,言归正传,先看看各类乱码是怎么形成的. 中文字符乱码 这种情况一般是安装了中文控制端,但没有启用中文应用造成的.只需要启动相应软件即可,如zhcon.或者是启用了相应软件,但字符集不对,需设置相应字符集,例如export LANG=zh_CN.UTF-8 ORACLE安装界面乱码 虽说ORACLE支持多国语言,会根据环境变量自动选择字符集,但中文安装好像还有问题,不过1

Linux操作系统下GRUB启动菜单的修复方法

1.把安装盘的第一张放到光驱,然后重新启动机器,在BIOS中把系统用光驱来引导. 2.等安装界面出来后,按[F4]键(Fedora的话请选择Rescue System),也就是进入linux rescue模式. 3.然后会让你配置语言和键盘,按需求继续就好了. 4.然后会出现这样的字符: sh-3.2# 5.我们就可以操作GRUB了...哈...只要能出现这样的,以后都是小Case了,我就是不说 ,谁也能明白,地球人都知道了....输入下面的指令进入grub: sh-3.2#grub 回车后会出

Linux操作系统下SSH默认22端口修改方法

  第1步:假如要限制通过SSH登陆Linux的IP,那么可以如下做: 首先:修改/etc/hosts.deny,在其中加入sshd:ALL,注意不能加#号 然后:修改:/etc/hosts.allow,在其中进行如下设置:sshd:192.168.1.16 这样设置就只允许192.168.1.16的IP通过SSH登陆上LINUX机器了. 当然在做为服务器方面,不安装gnome和KDE图形化界面,可以增加安全系数. 第2步:修改配置文件 vi /etc/ssh/sshd_config 找到#Po

Linux rpm tar 操作系统下软件的安装与卸载方法_unix linux

Linux操作系统下软件的安装与卸载在Windows下安装软件时,只需运行软件的安装程序(setup.install等)或者用zip等解压缩软件解开即可安装,运行反安装程序(uninstall.unware."卸载"等)就能将软件清除干净,完全图形化的操作界面,简单到只要用鼠标一直点击"下一步"就可以了.而Linux好象就不一样了,很多的初学者都抱怨在Linux下安装和卸载软件非常地困难,没有像使用Windows时那么直观.其实在Linux下安装和卸载软件也非常简单

《Java程序员面试秘笈》—— 面试题3 Linux操作系统下如何安装Java SE开发环境

面试题3 Linux操作系统下如何安装Java SE开发环境 考点:由于大部分的计算机用户都使用Windows作为操作系统,而Java语言是具有跨平台优势的,不同企业有不同的开发环境,本试题考察求职者是否有在Linux下开发Java的经验.Linux环境下的Java安装是一个基础问题. 出现频率: [面试题解析]该问题有两个关键点,一个是Linux版本Java SDK的文件类型,另外一个是Linux环境变量的配置. 参考答案: Oracle发布的Linux操作系统Java包有JDK和JRE两种版

CentOS 7.0下使用yum安装mysql的方法详解_Mysql

CentOS7默认数据库是mariadb,配置等用着不习惯,因此决定改成mysql,但是CentOS7的yum源中默认好像是没有mysql的.为了解决这个问题,我们要先下载mysql的repo源. 1.下载mysql的repo源 $ wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm 2.安装mysql-community-release-el7-5.noarch.rpm包 $ sudo rpm -ivh mys

详解Linux 操作系统下安装rpm包的方法步骤_linux shell

第2代Linux操作系统在安装软件方面相当简单:第一步,搜索你要的软件,比如你要找一个游戏软件,它的名称叫myward,这个游戏软件的说明是:myown war game.Linux操作系统搜索这个软件包就只需要输入命令apt-cache searchmyward,或者输入软件名称的一部分apt-cache searchwar,或者你不知道软件名称. 下面有一张图可以清晰地表示linux软件应用的架构关系: 在Linux启动的时候.首先会启动内核(kernel),内核是一段计算机程序,这个程序直

Linux操作系统下C++编程初探

Linux下C++编程和在Windows下的没有什么两样,它同样需要编译.链接.调度.运行等步骤,只不过执行这些步骤在两种操作系统下所做的不是同样的事情. 在Windows下有TC, BC, VC等编译器,它们极大地方便了程序的编辑编译等,在Windows下你只需要看明白菜单就可以了.而在Linux下是Gcc, G++, Gdb等工具,刚开始时你可能甚至不知道如何下手去调试程序,你也可能甚至不知道程序在哪里编辑.不过这些都不是问题,慢慢来我们都能行! 下面我们以一个最简单也是最经典的Hello

在Linux操作系统下设置NFS共享技巧

网络文件系统(NFS,Network File System)是一种将远程主机上的分区(目录)经网络挂载到本地系统的一种机制,通过对网络文件系统的支持,用户可以在本地系统上像操作本地分区一样来对远程主机的共享分区(目录)进行操作. 在嵌入式Linux 的开发过程中,开发者需要在Linux 服务器上进行所有的软件开发,交叉编译后,通用FTP 方式将可执行文件下载到嵌入式系统运行,但这种方式不但效率低下,且无法实现在线的调试.因此,可以通过建立NFS,把Linux 服务器上的特定分区共享到待调试的嵌