分类: LINUX
2010-03-19 14:18:14
yum(Yellow dog Updater,
Modified)是redhat系列(包括CentOS、SUSE、Fedora等发行版本)操作系统特有的软件管理工具,类似FreeBSD的
port和Debian的apt-get,当然yum有着更强大的功能,无论是图形还是文字界面上的。
[cnangel@yum ~]$uname -a
Linux yum.xxx.com 2.6.9-67.ELsmp #1 SMP Wed Nov 7 13:58:04 EST 2007 i686 i686 i386 GNU/Linux
这三个红色标记代表的含义如下:
machine hardware name:i686
processor type:i686
hardware platform:i386
通常,标有i686的rpm包能在奔腾二代以上的CPU上执行,支持i686的机器向下兼容i386的包,只是不能发挥更佳的效能。而硬件只支持i386的处理器平台,则不能上i686的rpm包。
syncengine-1.0.2-10.fc10.x86_64.rpm
syncengine: 软件名称
1.0.2: 版本号
10: 发行号或发行标记,可以使用alpha(A)、debug(D)、beta(B)、release(R)四个版本,某些情况也可以使用test(T)
fc10: 表示对应于Fedor10的发行版的Linux
x86_64: 系统平台的版本,通常有i386等,如果是noarch则表示对硬件没有级别限制
rpm: 后缀名称,如果是以.src.rpm为后缀的,说明包中还同时带有软件的原代码
|-- SRPMS
|-- RPMS
| |-- i386
| |-- i486
| |-- i586
| |-- i686
| |-- noarch
| `-- x86_64
createrepo -p --update -o . .
这里有一个可批量更新样例脚本如下所示:
#!/bin/bash
# $Id: updaterepo.sh 783 2009-02-25 15:01:53Z gaosy $
CR="/usr/bin/createrepo"
RHELMAJ="4 5"
ARCH="i386 SRPMS x86_64"
BRANCH="current stable test"
# for abc.com
BASEDIR="/home/yum/abc"
for r in $RHELMAJ
do
for a in $ARCH
do
for b in $BRANCH
do
cd $BASEDIR/$r/$a/$b
$CR -p --update -o . .
done
done
done
# for xyz
BASEDIR="/home/yum/xxx"
ARCH="i386 SRPMS x86_64 noarch"
for r in $RHELMAJ
do
for a in $ARCH
do
cd $BASEDIR/$r/$a
$CR -p --update -o . .
done
done
YUM="/usr/bin/yum"
$YUM makecache
[main]
cachedir=/var/cache/yum
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
distroverpkg=redhat-release
tolerant=1
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
# Note: yum-RHN-plugin doesn't honor this.
#metadata_expire=1h
# Default.
# installonly_limit = 3
# PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d
其中 gpgcheck 可以设置为 0,表示不检查gpg密钥,但是这样会导致软件的安装源不会受到信任检查,发生安全隐患。
[xxxbase]
name=Base PKG by ASC
baseurl=
enabled=1
gpgkey=
[xxxnoarch]
name=Noarch PKG by ASC
baseurl=
enabled=1
gpgkey=
[xxxsrpms]
name=SRPMS by ASC
baseurl=
enabled=1
gpgkey=
可以通过 enabled=1来开关yum源,通过gpgkey更换yum源的公钥,当然新版本的yum会有更多的选项供使用者来配置。