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源
1, 修改 使之能安装本地的:
首先,把/etc/yum.repos.d目录下的全部文件移进某个目录(等以后需要从FC的网站升级的时候再把它们复制回来),用文本编辑器打开/etc/yum.conf
在末尾添加如下内容:
[a_local]
name=my local repo
baseurl=file:///mnt/fc5
添加保存后,在/mnt下创建fc5目录
#mkdir /mnt/fc5
加载你所下载的FC5DVD光盘镜像到这个目录,我的DVD ISO文件存放在/soft目录,控制台下执行命令:
#mount -o loop /soft/FC-5-i386-DVD.iso /mnt/fc5
这几个步骤完成后,执行“Add/remove software”
就可以很方便地添加/删除发行盘中所有的软件包了
2, 修改远程的
具体的命令可以参照 man yum
一般下载的时候,你可以先检查一下你的yum源里面是否含有这个包
yum list |grep 'scim'
在/etc/yum .repos.d/文件夹里面有七个文件
-rw-r--r-- 1 root root 846 08-12 18:44 fedora-core.repo
-rw-r--r-- 1 root root 1549 03-15 07:20 fedora-development.repo
-rw-r--r-- 1 root root 780 03-15 07:20 fedora-extras-development.repo
-rw-r--r-- 1 root root 769 08-12 18:49 fedora-extras.repo
-rw-r--r-- 1 root root 486 03-15 07:20 fedora-legacy.repo
-rw-r--r-- 1 root root 796 08-12 18:45 fedora-updates.repo
-rw-r--r-- 1 root root 865 03-15 07:20 fedora-updates-testing.repo
我们在这里需要编辑的
-rw-r--r-- 1 root root 846 08-12 18:44 fedora-core.repo
-w-r--r-- 1 root root 769 08-12 18:49 fedora-extras.repo
-rw-r--r-- 1 root root 796 08-12 18:45 fedora-updates.repo
[root@StreamO]#vim /etc/yum.repos.d/fedora-core.repo
可以看到
[core]
name=Fedora Core $releasever - $basearch
baseurl=ftp://ftp.neu.edu.cn/mirror/download.fedora.redhat.com/pub/fedora/linux/core/5/i386/os/
#mirrorlist=http://fedora.redhat.com/download/mirrors/fedora-core-$releasever
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora file:///etc/pki/rpm-gpg/RPM-GPG-KEY
那个baseurl=“****”
这个地址可以写一个速度比较快的源,默然的是fedora总站,速度是比较满慢的
特别是如果在教育网内,推荐使用
ftp://ftp.bupt.edu.cn/pub/mirror ... /fedora/linux/core/


liuchang007 于 2007-08-01 00:54:39发表:
刚接触fedora不久,还没从ubuntu的sudo中解脱出来
谢谢分享!