linux系統下inittab 和 fstab 文件以及內部命令介紹



linux系統下inittab 和 fstab 文件以及內部命令介紹


inittab文件:

命令格式:
 <id>:<runlevels>:<action>:<process>
 
 id表示輸出輸入設備,這個不需要設置,因爲/etc/console已經設爲標準輸入輸出了,如不設置,則從控制檯輸入輸出。
 
 runlevels 這個參數完全忽略
 
 action 運行時機,它表示inittab解釋後的運行順序,它有sysinit, respawn, askfirst, wait, once,restart, ctrlaltdel, andshutdown.這個值可選擇。
 
 process 就是要啓動的進程。


 
action參數:
 
 sysinit
  爲init提供初始化命令行的路徑
 
 respawn
  每當相應的進程終止執行便會重新啓動
 
 askfirst
  類似respawn,不過它的主要用途是減少系統上執行的終端應用程序的數量。它將會促使init在控制檯上顯示“Please press Enter to active this console”的信息,並在重新啓動之前等待用戶按下enter鍵
 
 wait
  告訴init必須等到相應的進程完成之後才能繼續執行
 
 once
  僅執行相應的進程一次,而且不會等待它完成
 
 ctratldel
  當按下Ctrl+Alt+Delete組合鍵時,執行相應的進程
 
 shutdown
  當系統關機時,執行相應的進程
 
 restart
  當init重新啓動時,執行相應的進程,通常此處所執行的進程就是init本身


例子:
 ::sysinit:/etc/init.d/rcS
 ::respawn:/sbin/getty  115200  tty1
 tty2::askfirst:-/bin/sh
 tty3::askfirst:-/bin/sh
 ::restart:/sbin/init
 ::ctrlaltdel:/bin/umount -a -r

解析:
 
1.       將/etc/init.d/rcS設置成系統的初始化文件
2.       在115200 bps的虛擬終端tty1上啓動一個登陸會話 (注意getty的用法)
3.       在虛擬終端tty2和tty3上啓動askfirst動作的shell
4.       如果init重新啓動,將/sbin/init設置成它會執行的程序
5.       告訴init,在系統關機的時候執行umount命令卸載所有文件系統,並且在卸載失敗時用只讀模式衝新安裝以保護文件系統。


fstab 文件:
/*==============================================================================*/
/etc/fstab是用來存放文件系統的靜態信息的文件。位於/etc/目錄下,可以用命令less /etc/fstab 來查看,如果要修改的話,則用命令 vi /etc/fstab 來修改。

       當系統啓動的時候,系統會自動地從這個文件讀取信息,並且會自動將此文件中指定的文件系統掛載到指定的目錄。下面我來介紹如何在此文件下填寫信息。

   在這個文件下,我們要關注的是它的六個域,分別爲:<file system>、<mount point>、<type> 、<options>、<dump>、<pass>。下面將詳細介紹這六個域的詳細意義。

   1、<fie sysytem>。這裏用來指定你要掛載的文件系統的設備名稱或塊信息,也可以是遠程的文件系統。做過嵌入式linux開發的朋友都可能知道 mount 192.168.1.56:/home/nfs /mnt/nfs/ -o nolock (可以是其他IP)命令所代表的意義。它的任務是把IP爲192.168.1.56的遠程主機上的/home/nfs/目錄掛載到本機的/mnt/nfs /目錄之下。如果要把它寫進/etc/fstab文件中,file system這部分應填寫爲:/192.168.1.56:/home/nfs/。

   如果想把本機上的某個設備(device)掛載上來,寫法如:/dev/sda1、/dev/hda2或/dev/cdrom,其中,/dev/sda1 表示第一個串口硬盤的第一個分區,也可以是第一個SCSI硬盤的第一個分區,/dev/hda1表示第一個IDE硬盤的第一個分區,/dev/cdrom 表示光驅。

   此外,還可以label(卷標)或UUID(Universally Unique Identifier全局唯一標識符)來表示。用label表示之前,先要e2label創建卷標,如:e2label /dir_1 /dir_2,其意思是說用/dir_2來表示/dir_1的名稱。然後,再在/etc/fstab下按如下形式添加:LABEL=/dir_2 /dir_2 <type>   <options> <dump> <pass>。重啓後,系統就會將/dir_1掛載到/dir_2目錄上。對於UUID,可以用vol_id -u /dev/sdax來獲取。比如我想掛載第一塊硬盤的第十一個分區,先用命令vol_id -u /dev/sda11 來取得UUID,比如是:5dc08a62-3472-471b-9ef5-0a91e5e2c126,然後在<file system>這個域上填寫: UUID=5dc08a62-3472-471b-9ef5-0a91e5e2c126,即可表示/dev/sda11。Red Hat linux 一般會使用label,而Ubuntu linux 一般會用UUID。

   2、<mount point>。掛載點,也就是自己找一個或創建一個dir(目錄),然後把文件系統<fie sysytem>掛到這個目錄上,然後就可以從這個目錄中訪問要掛載文件系統。對於swap分區,這個域應該填寫:none,表示沒有掛載點。

       3、<type>。這裏用來指定文件系統的類型。下面的文件系統都是目前Linux所能支持的:adfs、befs、cifs、ext3、 ext2、ext、iso9660、kafs、minix、msdos、vfat、umsdos、proc、reiserfs、swap、 squashfs、nfs、hpfs、ncpfs、ntfs、affs、ufs。

   4、<options>。這裏用來填寫設置選項,各個選項用逗號隔開。由於選項非常多,而這裏篇幅有限,所以不再作詳細介紹,如需瞭解,請用 命令 man mount 來查看。但在這裏有個非常重要的關鍵字需要了解一下:defaults,它代表包含了選項rw,suid,dev,exec,auto,nouser和 async。

   5、<dump>。此處爲1的話,表示要將整個<fie sysytem>裏的內容備份;爲0的話,表示不備份。現在很少用到dump這個工具,在這裏一般選0。

   6、<pass>。這裏用來指定如何使用fsck來檢查硬盤。如果這裏填0,則不檢查;掛載點爲 / 的(即根分區),必須在這裏填寫1,其他的都不能填寫1。如果有分區填寫大於1的話,則在檢查完根分區後,接着按填寫的數字從小到大依次檢查下去。同數字 的同時檢查。比如第一和第二個分區填寫2,第三和第四個分區填寫3,則系統在檢查完根分區後,接着同時檢查第一和第二個分區,然後再同時檢查第三和第四個 分區。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章