一、本文的目的
redhat 7.x是最常用也是取容易取得的linux发行版,由于rh公司的原因,日记文件默认支持的是ext3,虽然其内核也支持reiserfs文件系统,但是无论如果配置都无法quota(配额)。而对于file /mail/cache server,使用reiserfs文件系统是最佳的选择,为此在网上搜了一下有关的文章,还真没有完整的介绍,这就是本文的目的。
二、关于本文的作者
本人无任何专业的编程经验,对于linux只是了解皮毛,所以的编译过程全部是依靠readme & install文件,有不当之处请指正。
三、准备与基本知识
1、独立按rh的安装向导,定制并选择编译程序(compile tools)的包
,建议安装7.2以上的版本。
2、可以使用rpm 命令安装/删除/查找包及包内的文件;
3、可以通过tar ball(*.tar.gz)的readme & install文件安装程序。
4、可以用vi编辑文件
四、基本的假设
你已有一台已安装了rh 7.2以上版本的机器,在安装过程中你已为准备使用reiserfs& quota而设立了独立的分区,可以使用gcc,你了解你的机器包括但不限于以下配置: 网卡的芯片、scsi的芯片(如果有)、cpu的类型。
五、安装新的内核
根据www.reiserfs.org的说明,你需要下载最新的kernel 2.4.20,并安装最新quota for 2.4.20的补丁。
cd /tmp
wget -c --passive-ftp ftp://ftp.jp.kernel.org/pub/linux/kernel/v2.4/linux-2.4.20.tar.bz2(jp的速度比较快)
bzip2 -df linux-2.*.bz2 tar -zxvf //超过了150m
mv linux-2.4.20 /usr/src/
cd /usr/src
rm linux
ln -s linux-2.4.20 linux
下载补丁:
cd /tmp
wget -c --passive-ftp ftp://ftp.namesys.com/pub/reiserfs-for-2.4/testing/quota-2.4.20/*
gzip -d 01*.gz
gzip -d 02*.gz
gzip -d 03*.gz
gzip -d 04*.gz
mv *.diff /usr/src/ //必须是这个目录
cd /usr/src
patch -p0 < 01-*.diff
patch -p0 < 02-*.diff
patch -p0 < 03-*.diff
patch -p0 < 04-*.diff
建立新的链接:
cd /usr/include
rm -r asm linux scsi
ln -s /usr/src/linux/include/asm-i386 asm
ln -s /usr/src/linux/include/linux linux
ln -s /usr/src/linux/include/scsi scsi
编译新的内核:
cd /usr/src/linux
make menuconfig //需要以下的两个包:ncurses & ncurses-devel
本文仅涉及 reiserfs & quota 的部分配置,其它的配置请阅读其它相关的文件(为本安装过程的顺畅,记到将网卡和scsi卡和其它你认为需要的都编译上,不然后安装后你也干不了什么)
file system ->
[*] quota support
<*>old quota format support
[*] compatible quota interface
<*>kernel automounter support
<*>kernel automounter vesion 4 support
<*>reiserfs support
[]enable reserfs debug mode //不需要
[*]stats in /proc/fs/reiserfs
<*>ext3 jornalling files system support // 这是rh需要的
编译内核开始,大约要半个小时,你大可去喝杯茶。
make dep ;make clean ; make zimage ;make bzimage ; make modules ;make modules_install
下面就是安装了,本处假设你是用grub做为启动(lilo的启动我没有试,网上就有)
cp system.map /boot/system.map-2.4.20
cp arch/i386/boot/bzimage /boot/vmlinuz-2.4.20
cd /boot
rm system.map vmlinuz module-info //以下5步我觉得没有也可,都是按网上来的
ln -s system.map-2.4.20 system.map
ln -s vmlinuz-2.4.20 vmlinuz
cp module-info-2.4.7-10 module-info-2.4.20
ln -s module-info-2.4.20 module-info // 到此
下面就是生成 initrd.img (这是干什么的我也不清楚,照葫芦画瓢,网上可以找到说明)
cd /usr/src
mkinitrd /boot/initrd-2.4.20.img 2.4.20 (你需要mkinitrd*.rpm )
修改启动程序
vi /boot/grub/grub.conf (下面的是我机器上的文件)
# grub.conf generated by anaconda
#
# note that you do not have to rerun grub after making changes to this file
# notice: you have a /boot partition. this means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/sda3
# initrd /initrd-version.img
#boot=/dev/sda
default=1
timeout=10
splashimage=(hd0,0)/grub/splash.xpm.gz
title red hat linux (2.4.7-10)
root (hd0,0)
kernel /vmlinuz-2.4.7-10 ro root=/dev/sda3
initrd /initrd-2.4.7-10.img
title red hat linux (2.4.20)
root (hd0,0)
kernel /vmlinuz-2.4.20 ro root=/dev/sda3
initrd /initrd-2.4.20.img
重新启动机器,看启动后系统是否正常,如果有问题需要以旧内核重启后重新编译内核。
六、安装新的reiserfs 工具
rpm -e reiserfs-utils //删除已有的工具
cd /tmp
wget -c --passive-ftp ftp://ftp.namesys.com/pub/reiserfsprogs/reiserfsprogs-3.6.5.tar.gz
tar -zxvf reiserfsprogs*.gz
cd reiserfsprogs-3.6.5
/configure
make & make install
在 /usr/local/sbin/下会有几个文件,要用到的mkreiserfs
init 1 //进入单用户模式
假设你的要将 /home --/dev/sd5 设为reiserfs & quota,你还没有建立除root外的用户。
#umount /dev/sd5
#mkreiserfs /dev/sd5 // 按提示 yes
修改 /etc/fstab ,将 /home的一行修改为:
/dev/sd5 /home reiserfs default, usrquota 1,2
对你/var分区,也可以用以上的方法,进入单用户, 假设/var 对应/dev/sd6
cd /
tar -czvf var.tar.gz /var
umount /dev/sd6
mkreiserfs /dev/sd6
再按上面的修改/etc/fstab,重启进入单用户,
tar -zxvf var.tar.gz //把var目录恢复
重启后会有出现timestamp错误,没关系的,再重启就没能问题了。
七、配置quota
我没有安装新的quota,用的还是rh 自带的quota,用关quota的配置有更详细的文档支持,我这只说几点注意:
cd /home
touch quota.user
rh重启后,rc.sysinit在执行到quota的脚本会出错,不用管它。
/sbin/quotacheck -avug
/sbin/quotaon -avug
再次重启后rc.sysinit就没有问题了,现在可以加用户并配置quota文件:
edquota -u yourname
修改block hard soft inode hard soft 下面对应的数字就可以了。
八、关于作者的义务 (email:aqian@yeah.net)
作者只就实现以上功能就一般的配置将本人的安装过程做一描述,本人无法保障在您的系统可以现实,不承担因按本文操作而对您及您的关联人、关联法人造成直接或间接损失的一般及连带责任。
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器