-
一. yum简介
yum
工具使用软件包依赖关系数据来保证一个应用程序在安装前,所有的要求都已满足。它自动地安装依赖的软件包,如果系统中没有的话。如果某个新的应用程序的要求与现有的软件冲突,yum
会放弃,不对系统做任何修改。fedora core中的yum包含了一个脚本,用以每日自动更新整个系统,要激活每日的自动更新,输入内容:su -c '/sbin/chkconfig –level 345 yum on;/sbin/service yum start',这个命令启用了控制脚本/etc/rc.d/init.d/yum,这个脚本激活了/etc/cron.daily/yum.cron,而它又会使cron服务来在每日凌晨四点时进行自动更新。二. yum服务启用
编辑/etc/yum.conf文件,在文件结尾加上如下内容:
[base]
name=Fedora Core $releasever - $basearch - Base baseurl=http://mirrors.kernel.org/fedora/core/$releasever/$basearch/os
[updates-released]
name=Fedora Core $releasever - $basearch - Released Updates
baseurl=http://mirrors.kernel.org/fedora/core/updates/$releasever/$basearch当然如果/etc/yum.repos.d中有文件,就不需要上面的步骤了
运行yum check-update命令,yum将从yum.conf文件中指定的软件服务器上下载当前header文件列表
运行yum update命令,使现在系统上安装的所有软件都处于最新的状态,yum会将在系统上安装的所有软件和目前的软件仓库服务器上的软件进行比较,比较完成后,它会给出一个有关细节的信息列表让用户确认,如果只想更新一个软件,可以运行yum update softname命令来更新你只想更新的软件
现在就可以用yum安装软件了,只需运行如下命令:
yum install softname
三. yum服务器构建1
用官方所有所有的RPM包构建一个yum服务器
建立RPM档案放置的目录
mkdir /var/www/html/yum/fedora8/{base,update}
把所有来自原版光盘的RPM档案复制到/var/www/html/yum/fedora8/base目录下
把来自原版本释出的RPM修补套件由Internet下载到/var/www/html/yum/fedora8/update目录下,如:
mirrordir -v http://linux.cdpa.nsysu.edu.tw/Linux.Fedora/linux/core/updates/1/i386/
/var/www/html/yum/fedora8/update
yum server命令,重点在分析RPM套件的header
yum-arch /var/www/html/yum/fedora8/base
yum-arch /var/www/html/yum/fedora8/update
修改配置文件/etc/yum.conf,在末尾加上:
[base]
name=Fedora 8
baseurl=http://127.0.0.1/yum/fedora8/base
[update]
name=Fedora 8 update
baseurl=http://127.0.0.1/yum/fedora/update
或者在/etc/yum.repos.d目录下新建一个仓库描述文件,且描述文件的名称以.repos结尾
每个仓库的描述文件应当包含一个gpgkey配置项,这项指定了验证这一仓库的软件包所用的公钥的地址,这个公钥在第一次安装这个仓库中的软件时会自动导入,可以用如下的命令导入网站上的文件:
su -c 'rpm –import http://www.therepository.com/GPG-PUB-KEY.asc
开始自我升级
yum -y update
四. yum服务器构建2
如果曾经自己修改一些 SRPM 的档案,并且重新打包成为 RPM 套件,然后发行给自己的 Linux 机器来安装
创建自己升级目录
mkdir /var/www/html/yum/fedora8/packages
然后将自己新增的RPM档案通通复制进去该目录,如:
cp helloworld-0.1-1.i386.rpm /var/www/html/yum/fedora8/packages/
生成一份新的钥匙对(如果系统中已经做过设置,这一步忽略)
gpg --gen-key
按照提示输入内容
生成RPM-GPG-KEY-TEST
cd /var/www/html/yum/fedora8/
gpg --export -a >> RPM-GPG-KEY-TEST
建立分组文件comps-f8.xml,存放于任何位置,这里放在/var/www/html/yum/fedora8目录下
<?xml version="1.0" encoding="UTF-8"?>
<comps>
<!-- <meta> -->
<!-- Meta information will go here eventually -->
<!-- </meta> -->
<group>
<id>mygroup</id>
<name>MyGroup</name>
<default>true</default>
<description>Default RPMS from MyRepo</description>
<uservisible>true</uservisible>
<packagelist>
<packagereq type="default">helloworld</packagereq>
</packagelist>
</group>
</comps>
生成repository,运行:
createrepo -g /var/www/html/yum/fedora8/comps-f8.xml /var/www/html/yum/fedora8/
这时在/var/www/html/yum/fedora8目录下将生成repodate目录,该目录就是yum 的数据源文件
在/etc/yum.repos.d目录下建立一个文件packages.repo,内容如下:
[packages]
name=My personal RPM files
baseurl=http://127.0.0.1/yum/fedora8
enabled=1
gpgcheck=1
导入RPM-GPG-KEY-TEST
rpm --import http://127.0.0.1/yum/fedora8/RPM-GPG-KEY-TEST
现在可以安装软件helloworld了
yum install helloworld or
yum groupinstall helloworld
运行helloworld:
helloworld
五. yum client命令
yum install package1:安装某个套件
yum update [package1]:更新软件某个套件
yum check-update:检查系统上是否有套件需要更新
yum upgrade [package1]:跟yum update命令类似
yum remove | erase package1:移除某个软件
yum list:列出系统中所有已经安装的软件
yum info:列出系统中所有已安装的软件的概要信息
yum clean [ packages | headers | metadata | dbcache | all ]:清除信息
yum makecache:根据.repo文件创建cache
yum groupinstall group1 [group2] [...]:安装组
yum groupupdate group1 [group2] [...]:更新组
yum grouplist [hidden]:列出组
yum groupremove group1 [group2] [...]: 删除组
yum groupinfo group1 [...]:列出组的信息
yum search string1 [string2] [...]:搜索匹配字符串的包
yum shell [filename]:filename将在yum shell模式下执行
yum resolvedep dep1 [dep2] [...]:列出提供依赖性关系的包
yum localinstall rpmfile1 [rpmfile2] [...]:安装本地的rpm包
yum localupdate rpmfile1 [rpmfile2] [...]:更新本地的rpm包
yum deplist package1 [package2] [...]:列出给定包的所有依赖性关系
yum repolist [all|enabled|disabled]:列出可用的repository
yum provide libneon :搜索所有包含文件libneon的软件包
-
注:下载下来的RPM档案存放在/var/cache/yum目录下