使用yum自动更新linux服务器
YUM (Yellow dog Updater, Modified) 用于自动连接yum源,检查和更新软件包、安全修补程序,检查和更新Linux系统核心(如需要)。
1、下载yum软件
需注意yum软件版本及yum源的适用范围
yum下载页面http://linux.duke.edu/projects/yum/download.ptml
yum2.0.X 适用于CentOS3.X,RHEL AS3等
yum2.4.X 适用于CentOS4.X,RHEL AS3,FC3,FC4等
Red Hat没有提供yum源,但好在CentOS是根据rhel rebuild的版本,它的目录结构,文件命名,所有软件包跟rhel完全兼容,因此,我们使用的Red Hat Enterprise Linux完全可以用centos的yum源来进行系统和软件更新。但要注意版本的对应:
RedHat AS3可以使用CentOS3.X的yum源(本文中我使用了CentOS3.6的yum源,并测试通过)
RedHat AS4可以使用CentOS4的yum源
2、安装并配置yum
例:在RedHat AS3上安装配置yum2.0.8,并使用CentOS3.6的yum源更新AS3系统及软件
rpm -ivh yum2.0.8-noarch.rpm
rpm --import http://mirror.be10.com/centos/3.6/os/i386/RPM-GPG-KEY-CentOS-3
注:http://mirror.be10.com/centos 是CentOS yum源在中国福建的一个镜像,我们从这里导入GPG key文件。GPG key用于验证升级包是否经过安全认证。
修改/etc/yum.conf文件
[main]
cachedir=/var/cache/yum
debuglevel=2
logfile=/var/log/yum.log
pkgpolicy=newest
distroverpkg=redhat-release
tolerant=1
exactarch=1
[base]
name=RHEL-$releasever - Base
baseurl=http://mirror.be10.com/centos/3.6/os/$basearch/
gpgcheck=1
gpgkey=http://mirror.be10.com/centos/3.6/os/i386/RPM-GPG-KEY-CentOS-3
#released updates
[update]
name=RHEL-$releasever - Updates
baseurl=http://mirror.be10.com/centos/3.6/updates/$basearch/
gpgcheck=1
gpgkey=http://mirror.be10.com/centos/3.6/os/i386/RPM-GPG-KEY-CentOS-3
如果不希望升级核心,
在 [main] 中加入
exclude=kernel kernel-source
3、用yum检查更新
#yum check-update(非root用户运行su -c "yum check-update",提示时,输入root帐号的密码)
更新系统中所有软件为最新版
#yum update
此步操作所下载的文件都被缓存,yum 工具保留已下载的数据文件和软件包以复用。如果需要,您可以从 /var/cache/yum 下的仓库缓存目录中,将软件包复制出来,用于其他地方。
4、yum命令用法简介
yum update mysql (更新mysql到最新版本)
每个完成的事务会在日志文件 /var/log/yum.log 中记录受影响的软件包
yum remove 移除软件
yum list 查看软件列表
如果您不知道软件的名称,可以使用 search 或 provides 功能。另外,可以在任何 yum 搜索选项中使用通配符和正则表达式,来扩大搜索范围。provides 功能检测软件包中包含的文件以及软件提供的功能。与 search 相比,这个选项要求 yum 下载并读取一个很大的索引文件。
使用标准的通配符搭配词或名称的片段来搜索:? 代表任意单个字符,* 代表 0 或多个字符。在通配符前应当使用转义字符 ()。
例子:yum list mysq*
5、自动运行yum
chkconfig --list yum
chkconfig --level 3 yum on
控制脚本 /etc/rc.d/init.d/yum,这个控制脚本激活了 /etc/cron.daily/yum.cron,而它又会使 cron 服务来在每日凌晨四点时进行自动的系统更新。