一本文的目的 RedHat x是最常用也是取容易取得的linux发行版由于rh公司的原因日记文件默认支持的是ext虽然其内核也支持reiserfs文件系统但是无论如果配置都无法quota(配额)而对于File /mail/cache Server使用reiserfs文件系统是最佳的选择为此在网上搜了一下有关的文章还真没有完整的介绍这就是本文的目的 二关于本文的作者 本人无任何专业的编程经验对于linux只是了解皮毛所以的编译过程全部是依靠readme & install文件有不当之处请指正 三准备与基本知识 独立按rh的安装向导定制并选择编译程序(compile tools)的包 建议安装以上的版本 可以使用rpm 命令安装/删除/查找包及包内的文件 可以通过tar ball(*targz)的readme & install文件安装程序 可以用vi编辑文件 四基本的假设 你已有一台已安装了rh 以上版本的机器在安装过程中你已为准备使用reiserfs& quota而设立了独立的分区可以使用gcc你了解你的机器包括但不限于以下配置 网卡的芯片scsi的芯片(如果有)cpu的类型 五安装新的内核 根据的说明你需要下载最新的kernel 并安装最新quota for 的补丁 cd /tmp wget c passiveftp ftp:///pub/linux/kernel/v/linuxtarbz(jp的速度比较快) bzip df linux*bz |tar zxvf //超过了M mv linux /usr/src/ cd /usr/src rm linux ln s linux linux 下载补丁 cd /tmp wget c passiveftp ftp:///pub/reiserfsfor/testing/quota/* gzip d *gz gzip d *gz gzip d *gz gzip d *gz mv *diff /usr/src/ //必须是这个目录 cd /usr/src patch p < 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需要的 编译内核开始,大约要半个小时,你大可去喝杯茶。Tw.wiNGWit.com 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/nf (下面的是我机器上的文件) # nf 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:///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:) 作者只就实现以上功能就一般的配置将本人的安装过程做一描述,本人无法保障在您的系统可以现实,不承担因按本文操作而对您及您的关联人、关联法人造成直接或间接损失的一般及连带责任。 |