熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

在RedHat 7.x 上實現reiserfs & quota

2013-11-13 15:49:41  來源: Oracle 

  一本文的目的
  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:)
  作者只就實現以上功能就一般的配置將本人的安裝過程做一描述,本人無法保障在您的系統可以現實,不承擔因按本文操作而對您及您的關聯人、關聯法人造成直接或間接損失的一般及連帶責任。
                

From:http://tw.wingwit.com/Article/program/Oracle/201311/17365.html
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.