最新消息:

yum和rpm详解

Linux运维 大步 1001浏览 0评论

本人水平不高,很多地方写的可能不对,希望大家多提意见。
blog:http://karon.cublog.cn/

本文的目的是仅仅是简单的介绍如何在Fedora下安装运行软件。
基础知识:需要有一点编程知识,至少要了解c语言的编译过程。
所遇到的问题:fedora当中很有软件通常不是安装一个RPM包就可以解决的;很多软件包需要编译,这时软件包所对应的kernel和你c语言lib库版本,甚至你的gcc编译器都有可能影响软件安装。
准备工作:了解所装 fedora内核版本gcc版本
uname -r
2.6.15-1.2054_FC5
gcc -v
gcc 4.1.0 20060304 (Red Hat 4.1.0-3)

A:获取和安装软件包
专门在Fedora和RHEL上运行的软件通常是用RPM格式存储的。大部分的Fedora和RHEL本身就是RPM格式的,那么,如何获得RPM格式的软件包呢?
1:安装CD和DVD--这个方法比较简单,插入CD,进入所在软家包的目录,使用RPM安装就可以,你可以看看CD中的内容
2:Fedora和FHEL官方的软件库--这里是包含了经过Fedora项目认可的软件库,你可以在网络上找到。
下面是Fedora5的官方软件库
http://download.fedora.redhat.com/pub/fedora/linux/core/5/
提供了大量的官方认可的软件包,通常这些都是光盘中已经包含的。
http://download.fedora.redhat.com/pub/fedora/linux/extras/5/
官方提供的额外软件包,他不提供其他任何支持。
3:第三方的Fedora软件库。这些软件由于受到版权或者其他问题,官方软件库并没有提供。但是很有用,譬如你要播放MP3,但是使用他们的时候要注意,因为很可能不够安全。
4:软件项目站点。
有些应用程序本身就是持续开发的项目,他们有自己的站点,这些站点一般都会提供RPM包
下面是WINE项目的站点
http://www.winehq.com/
B:使用yum下载和安装应用程序
Yellow Dog Updater,Modified(yum)可以帮助你从已经配置好的软件库中下载和安装软件包,甚至会考虑到软件包之间的依赖关系。这个是安装软件包最好的方法。
1,配置yum
也就是配置/etc/yum.conf
[main]
cachedir=/var/cache/yum 缓存目录
keepcache=0 确定缓存文件是否要保存
debuglevel=2 调试级别
logfile=/var/log/yum.log 日志文件的位置
pkgpolicy=newest 尝试请求软件包的最新版本
distroverpkg=redhat-release 确定yum所下载的linux发布版本信息
tolerant=1 这个选项表示yum在编译的过程中是否“宽容”,为1的话,yum会忽略很多错误
exactarch=1 这选项在yum更新的时候有用,他用来确定是否在i386上更新i686的软件包,选1的话是不更新(需要设定的功能太多有的时候也很麻烦)
obsoletes=1 这个选项在yum(8)中有详细的介绍,他是一个命令行参数,我们以后可以去看看
gpgcheck=1 是否检查gpg GNU Privacy Guard可以用于加密
plugins=1 是否显示插件,有必要设成1,这选项在默认的时候是0。
metadata_expire=1800

# PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d
这里所谓的repos其实就是软件库,你可以打开/etc/yum.repos.d看看

C:添加yum软件库
打开/etc/yum.repos.d可以看到软件库 默认的是fedora官方的软件库
[root@localhost documents]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ls
fedora-core.repo fedora-extras-development.repo fedora-legacy.repo fedora-updates-testing.repo
fedora-development.repo fedora-extras.repo fedora-updates.repo
添加一个软件库的准备工作是要明确你需要添加的软件库的确切位置 GPG密钥,(GNU Private Guard ,一种密钥方法,实现RFC2440 中定义的OpenGPG标准,自由软件,GPG提供命令行形式的应用,可以轻松集成到其它应用程序中)
打开其中一个repo看看
内容解释下
[core]
name=Fedora Core $releasever - $basearch 名字。$releasever其实就是你fedora的版本号,$basearch这个对于我来说就是i386
#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/$releasever/$basearch/os/ 基本地址
mirrorlist=http://fedora.redhat.com/download/mirrors/fedora-core-$releasever 镜像列表
enabled=1 本repo是否激活
gpgcheck=1 是否启用gpg检查
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora file:///etc/pki/rpm-gpg/RPM-GPG-KEY 这个是GPG密钥的地址

[core-debuginfo]
name=Fedora Core $releasever - $basearch - Debug
baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/$releasever/$basearch/debug/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora file:///etc/pki/rpm-gpg/RPM-GPG-KEY

[core-source]
name=Fedora Core $releasever - Source
baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/$releasever/source/SRPMS/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora file:///etc/pki/rpm-gpg/RPM-GPG-KEY

现在说一下我所知道的yum的方法,还不一定准确,yum会检查baseurl/repodata/repomd.xml,这个索引文件,找不到的会失败的。所以添加软件库的时候要注意一下,特别是第3方软件库

我们现添加一个软件库,就把传说中的rpm.livna.org软件库加进来,嘿嘿O^O
按照上面的格式来写
[livna]
name=livna $releasever - $basearch
baseurl=http://rpm.livna.org/fedora/5/i386/ 当然这里你还可以用http://rpm.livna.org/fedora/$releasever/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://rpm.livna.org/RPM-LIVNA-GPG-KEY-i386
保存为livna.repo就可以了。
现在yum install mplayer
下载个mplayer看看 (mplayer对偶这样的家伙很合适,不过就是操作性太差劲了)
注意:1,看看你的所选择的基础地址下面 有灭有/repodata/repomd.xml.
2,gpgkey这个要找对位置,也可以下载到本地文件中。一般是放在file:///etc/pki/rpm-gpg/目录下
现在介绍yum的命令参数
安装
yum install 软件名
列表
yum list I less
查找
yum provides 软件名
单个软件升级
yum update 软件名
全部升级
yum update (这个命令的时间会很长,对于我来说恐怕要一个星期的时间)
删除安装后的软件包
yum clean packages (这个命令会把你存放在/var目录下的包全部删掉)
D:使用yum自动更新。
首先yum是一个服务
[root@localhost ~]# chkconfig --list yum
yum 0:关闭 1:关闭 2:关闭 3:关闭 4:关闭 5:关闭 6:关闭
然后我们让他在3和5模式下自动运行
[root@localhost ~]# chkconfig --level 35 yum on
[root@localhost ~]# chkconfig --list yum
yum 0:关闭 1:关闭 2:关闭 3:启用 4:关闭 5:启用 6:关闭
这样你就可以在开机的时候自动运行yum了。(太久没有进行过更新的话不要用这种方法)
E:其他YUM的用法
可以用YUM从安装CD中安装软件
添加一个cd.repo文件,内容如下:
[cd]
name=livna $releasever - $basearch
baseurl=file:///mnt/cdrom 这个是你挂载光驱的目录
enabled=1
gpgcheck=1
gpgkey=file:///mnt/cdrom/RPM-GPG-KEY 这个是GPG密钥。
完成,其实这

转载请注明:大步's Blog » yum和rpm详解

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
SiteMap