CentOS/RHEL 5配置Tips

安装
你会发现,那儿有很多的CDROM需要下载 - i386需要6个CD, 而x86_64需要7个CD. 不要惊慌,只需要少的多CD就可以应付了.

安装程序会在安装的时候通知你需要的CDROM - 我发现,一个典型的LAMP安装就需要#1, #2, #3CD (#2和#3上仅有几个需要的包).

但是,你会发现,只下载CD #1,然后执行最小的安装,再通过yum下载所有你需要的其他东西的话会简单的多,并且需要的下载量小的多.另外,通过这种方式,你同时还可以安装所有的更新.

说到更新...那里确实有相当多的更新需要下载,因为(代码的)冻结时间要早于(它的)发布时间.我设置了一个x86_64的镜像,然后下载了1.3GB的(软件)更新.幸运的是,大多数人所需要下载的比这要少得多.:-)

OpenOffice.org
OpenOffice.org现在已经有了x86_64的RPM, 所以现在已经没有必要再安装i386的RPM,然后再在64位系统上支持这个i386版本了.

Yum & Repositories
我在CentOS 4和 5中都注意到了这个问题 - Yum经常会在镜像列表文件(mirrorlist)中选择一些不好的镜像 - 例如,它会选择国外的服务器,尽管NZ本身(ypxing注:指新西兰,作者应该是个新西兰人)就有官方的服务器.有些时候,它选择的服务器非常慢.

像下面这样做,你可能会发现你能够得到更好的下载速度:
编辑/etc/yum.repos.d/CentOS-Base.repo, 注释掉mirrorlist那几行,并把baseurl那行设置成指向你喜欢的镜像服务器.


Yum-updatesd
CentOS 5有一个新的守护进程叫做yum-updatesd, 它替代了老的cron中yum的更新脚本.这个(新)脚本会频繁的检查更新,并根据配置下载或安装它们.

然而,这个守护进程对server来说并不好,因为它并不是在固定的时间运行 - 我可不想让我的服务器在一天当中最忙的时候下载和更新软件.

所以,它对服务器来说并不好.用下面的命令来禁止它:
service yum-updatesd stop
chkconfig --level 2345 yum-updatesd off

另外,我并不喜欢用一个完全的守护进程来替代简单的cronjob就可以完成的很好的工作(尽管yum-updatesd似乎有一些有用的功能,比如为桌面用户提供的dbus集成功能)

所以,我用自己喜欢的cronjob脚本替换了它. 用root用户执行下面的命令:

cat << "EOF" > /etc/cron.daily/yumupdate
#!/bin/sh
# install any yum updates
/usr/bin/yum -R 10 -e 0 -d 1 -y update yum > /var/log/yum.cron.log 2>&1
/usr/bin/yum -R 120 -e 0 -d 1 -y update  >> /var/log/yum.cron.log 2>&1
if [ -s /var/log/yum.cron.log ]; then
        /bin/cat /var/log/yum.cron.log | mail root -s "Yum update information" 2>&1
fi
EOF

如果你想每星期清理一次软件包缓存(package cache),则执行下面的命令:

cat << "EOF" > /etc/cron.weekly/yumclean
#!/bin/sh
# remove downloaded packages
/usr/bin/yum -e 0 -d 0 clean packages
EOF


这将会生成两个脚本.它们会在早上4:00执行(在/etc/crontab中设定),然后自动地检查,下载并安装任何更新.如果有更新的话,它会发送一封邮件,没有则什么也不发送.

(当然, 你需要把sendmail或其他任何你喜欢的邮件服务器配置好才能收到邮件)


你可以配置yum使得它仅仅下载而不安装更新(仅仅 RTFM), 但是我从来没有遇到因为升级而使什么东西不好使了,升级的兼容性和质量一直都是很高的,所以我都使用自动更新.
CentOS 4和这有些类似,它还有一个bootscript用来打开或关闭这个cronjob.

Apache
如果你在apache中正在使用indexing(indexing是指你可以浏览目录或文件夹),你会发现浏览的页面看起来很小,并且很不好看.

修正的方法是: 编辑/etc/httpd/conf/httpd.conf,把下面这行
IndexOptions FancyIndexing VersionSort NameWidth=* HTMLTable

改成

IndexOptions FancyIndexing VersionSort NameWidth=*

这会使得索引(index)再此变成全屏.我并不确定这是否是apache的bug,还是发行版的bug还是什么其他原因引起的.

SSL Certificates
Redhat把和SSL certificate相关的一些东西变换了位置.似乎是他们本来想提供一个叫做"genkey"的新工具来生成SSL certificate, 但是发行之前又把它拿掉了.

有意思的是,他们还删掉了原来在 /etc/httpd/conf/ 下的Makefile, 这个Makefile可以让你生成SSL certificates和keys.

但是,我在/etc/pki/tls/certs/却发现了这个Makefile文件.