日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

fstab实例

發(fā)布時(shí)間:2025/3/15 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 fstab实例 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

通過UUID在fstab中掛載分區(qū)

??
通常情況,Linux的/etc/fstab文件可能有如下內(nèi)容:
?# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>???<type>??<options>???????<dump>?<pass>
proc????????????/proc???????????proc????nodev,noexec,nosuid 0???????0
# / was on /dev/sda1 during installation
UUID=8f21495f-bd94-4a88-b433-e52b71475941 ????/???????????????ext4???errors=remount-ro 0???????1
# swap was on /dev/sda2 during installation
UUID=c16a9b20-d020-4741-a1b8-702ba18e82de?????none????????????swap???sw????????????????0???????0

?????目前不少Linux系統(tǒng)(紅帽系列的Fedora,Cent OS,或Debian系列的Ubuntu,LinuxMint,等等)都采用UUID方式掛載分區(qū)。

?????UUID?全稱是?Universally Unique Identifier,也就是說,每個(gè)分區(qū)有一個(gè)唯一的 UUID 值,這樣就不會發(fā)生分區(qū)識別混亂的問題了。

????從上面的fstab文件片段可以看出,一般分區(qū)的掛載:
?UUID=8f21495f-bd94-4a88-b433-e52b71475941 ?????/???????????????ext4???errors=remount-ro 0???????1

????并且可以從片段中也可以看出來,掛載分區(qū)的格式:
# <file system> <mount point>???<type>??<options>???????<dump>?<pass>
????至于具體每個(gè)參數(shù)的詳細(xì)介紹,在這里就不做過多解釋,詳情可百度,谷歌,或者參見:

/etc/fstab文件詳解

?????需要注意一點(diǎn),如果掛載的是非“/”根分區(qū),dump及pass選項(xiàng)最好都應(yīng)該是0,即不備份,不檢查。


????現(xiàn)在讓我們回到UUID這個(gè)主題上來,當(dāng)我們在安裝多系統(tǒng)后,一般情況下,安裝的新系統(tǒng),默認(rèn)只會掛載根分區(qū)“/”及swap分區(qū),可能還有“/home”分區(qū)。那么我們想要掛載其他已經(jīng)存在的分區(qū)的時(shí)候,如何知道現(xiàn)有分區(qū)的UUID呢,以便我們通過修改/etc/fstab文件來達(dá)到啟動(dòng)系統(tǒng)后,自動(dòng)掛載分區(qū)的目的。

????經(jīng)過網(wǎng)上查閱,一般我們可以通過兩種方式獲知每個(gè)已經(jīng)存在分區(qū)UUID:

1. 通過查看/dev/disk/by-uuid/ 下的設(shè)備文件信息:
$ ls -l /dev/disk/by-uuid/
total 0
lrwxrwxrwx 1 root root 10 Jul??8 09:15 497fd510-08cf-45ff-8c7f-c84b69df97fb -> ../../sda7
lrwxrwxrwx 1 root root 10 Jul??8 09:15 4c4dffba-5bd8-4d09-b1a9-1cb1737d1b95 -> ../../sda9
lrwxrwxrwx 1 root root 10 Jul??8 09:15 8f21495f-bd94-4a88-b433-e52b71475941 -> ../../sda8
lrwxrwxrwx 1 root root 10 Jul??8 09:15 983df574-f924-4dc3-9973-2ec1ac1c12b8 -> ../../sda2
lrwxrwxrwx 1 root root 10 Jul??8 09:15 a3c9082b-48f1-4149-9b09-599f3216197f -> ../../sda5
lrwxrwxrwx 1 root root 10 Jul??8 09:15 c16a9b20-d020-4741-a1b8-702ba18e82de -> ../../sda3
.....
?????可以看出每個(gè)分區(qū)的UUID映射關(guān)系了。但是有個(gè)缺點(diǎn),也許大家已經(jīng)發(fā)現(xiàn)了,沒有分區(qū)類型,當(dāng)然,如果你自己明確知道分區(qū)類型,那就沒有問題了,如果不知道,最好還是用下面將要介紹的blkid命令。

2. blkid命令,在fstab里也提到的“官方”命令。
$ sudo blkid
[sudo] password for kemix:
/dev/sda1: UUID="DBC4-2A73" TYPE="vfat"
/dev/sda2: UUID="983df574-f924-4dc3-9973-2ec1ac1c12b8" TYPE="ext4"
/dev/sda3: UUID="c16a9b20-d020-4741-a1b8-702ba18e82de" TYPE="swap"
/dev/sda4: UUID="fef3cea8-1ec8-4628-b588-eee6c88e1727" TYPE="ext4"
/dev/sda5: UUID="a3c9082b-48f1-4149-9b09-599f3216197f" TYPE="ext4"
/dev/sda6: UUID="e7e7f563-e99a-4413-8298-6c9012623ead" TYPE="ext4"
.....


????有了UUID后,我們就可以編輯fstab文件來掛載分區(qū),編輯保存后,重啟,如果在啟動(dòng)的時(shí)候,沒有出現(xiàn)掛載失敗信息,那么恭喜你!
附加:

?1 fstab文件的作用?

文件/etc/fstab存放的是系統(tǒng)中的文件系統(tǒng)信息。當(dāng)正確的設(shè)置了該文件,則可以通過mount /directoryname命令來加載一個(gè)文件系統(tǒng),每種文件系統(tǒng)都對應(yīng)一個(gè)獨(dú)立的行,每行中的字段都有空格或tab鍵分開。同時(shí)fsck、mount、umount的等命令都利用該程序。
?

2. fstab
文件格式
?

下面是/etc/fatab文件的一個(gè)示例行:
?

fs_spec??????? fs_file?????? fs_type?????? fs_options?????? fs_dump??????? fs_pass?

/dev/hda1?????? /?????????????? ext2??????????? defaults???????????? 1 ?? 1?

fs_spec -?
該字段定義希望加載的文件系統(tǒng)所在的設(shè)備或遠(yuǎn)程文件系統(tǒng),對于一般的本地塊設(shè)備情況來說:IDE設(shè)備一般描述為/dev/hdXNXIDE設(shè)備通道(a, b, or c)N代表分區(qū)號;SCSI設(shè)備一描述為/dev/sdaXN。對于NFS情況,格式一般為
:?

,
例如:`knuth.aeb.nl:/。對于procfs,使用`proc來定義。
?

fs_file -?
該字段描述希望的文件系統(tǒng)加載的目錄點(diǎn),對于swap設(shè)備,該字段為none;對于加載目錄名包含空格的情況,用40來表示空格。
?

fs_type -?
定義了該設(shè)備上的文件系統(tǒng),一般常見的文件類型為ext2 (Linux設(shè)備的常用文件類型)、vfat(Windows系統(tǒng)的fat32格式)、NTFS、iso9600等。
?

codepage
國家語言代碼頁
?

iocharset
字符集
?

fs_options -?
指定加載該設(shè)備的文件系統(tǒng)是需要使用的特定參數(shù)選項(xiàng),多個(gè)參數(shù)是由逗號分隔開來。對于大多數(shù)系統(tǒng)使用defaults就可以滿足需要。其他常見的選項(xiàng)包括:
?

選項(xiàng)?含義
?

ro?
以只讀模式加載該文件系統(tǒng)
?

sync?
不對該設(shè)備的寫操作進(jìn)行緩沖處理,這可以防止在非正常關(guān)機(jī)時(shí)情況下破壞文件系統(tǒng),但是卻降低了計(jì)算機(jī)速度
?

user?
允許普通用戶加載該文件系統(tǒng)
?

quota?
強(qiáng)制在該文件系統(tǒng)上進(jìn)行磁盤定額限制
?

noauto?
不再使用mount?a命令(例如系統(tǒng)啟動(dòng)時(shí))加載該文件系統(tǒng)
?

fs_dump -?
該選項(xiàng)被dump命令使用來檢查一個(gè)文件系統(tǒng)應(yīng)該以多快頻率進(jìn)行轉(zhuǎn)儲,若不需要轉(zhuǎn)儲就設(shè)置該字段為
0?

fs_pass -?
該字段被fsck命令用來決定在啟動(dòng)時(shí)需要被掃描的文件系統(tǒng)的順序,根文件系統(tǒng)/對應(yīng)該字段的值應(yīng)該為1,其他文件系統(tǒng)應(yīng)該為2。若該文件系統(tǒng)無需在啟動(dòng)時(shí)掃描則設(shè)置該字段為
0?

 
?

3.?
示例文件
?

# /etc/fstab?

/dev/hda8 swap swap defaults 0 0?

/dev/hda9 / ext2 defaults 1 1?

/dev/hda6 /wine vfat defaults,codepage=936,iocharset=cp936 0 0?

/dev/hda7 /winf vfat defaults,codepage=936,iocharset=cp936 0 0?

/dev/hdb /cdrom iso9660 noauto,user 0 0?

none /proc proc defaults 0 0?

none /dev/pts devpts gid=5,mode=620 0 0

fstab中存放了與分區(qū)有關(guān)的重要信息,其中每一行為一個(gè)分區(qū)記錄,每一行又可分為六個(gè)部份,下面以/dev/hda7 / ext2 defaults 1 1為例逐個(gè)說明:

1. 第一項(xiàng)是您想要mount的儲存裝置的實(shí)體位置,如hdb或/dev/hda6。?

2. 第二項(xiàng)就是您想要將其加入至哪個(gè)目錄位置,如/home或/,這其實(shí)就是在安裝時(shí)提示的掛入點(diǎn)。?

3. 第三項(xiàng)就是所謂的local filesystem,其包含了以下格式:如ext、ext2、msdos、iso9660、nfs、swap等,或如ext2,可以參見/prco/filesystems說明。?

4. 第四項(xiàng)就是您mount時(shí),所要設(shè)定的狀態(tài),如ro(只讀)或defaults(包括了其它參數(shù)如rw、suid、exec、auto、nouser、async),可以參見「mount nfs」。?

5. 第五項(xiàng)是提供DUMP功能,在系統(tǒng)DUMP時(shí)是否需要BACKUP的標(biāo)志位,其內(nèi)定值是0。

6. 第六項(xiàng)是設(shè)定此filesystem是否要在開機(jī)時(shí)做check的動(dòng)作,除了root的filesystem其必要的check為1之外,其它皆可視需要設(shè)定,內(nèi)定值是0。 /etc/fstab內(nèi)容主要包括六項(xiàng):

例如:打印出中間的兩行內(nèi)容,如下
LABEL=/??? /??? ext3?? defaults???? 1???? 1
/dev/sda2?? /mnt/D/???? vfat??? defaults??? 0?? 0

第一列:設(shè)備名或者設(shè)備卷標(biāo)名,(/dev/sda10?或者?LABEL=/

第二列:設(shè)備掛載目錄????????(例如上面的“/”或者“/mnt/D/”

第三列:設(shè)備文件系統(tǒng)??????????(例如上面的“ext3”或者“vfat”

第四列:掛載參數(shù)?????(看幫助man mount
對于已經(jīng)掛載好的設(shè)備,例如上面的/dev/sda2,現(xiàn)在要改變掛載參數(shù),這時(shí)可以不用卸載該設(shè)備,而可以使用下面的命令(沒有掛載的設(shè)備,remount?這個(gè)參數(shù)無效)
#mount /mnt/D/ -o remount,ro?(改defaultsro
為了安全起見,可以指明其他掛載參數(shù),例如:
noexec(不允許可執(zhí)行文件可執(zhí)行,但千萬不要把根分區(qū)掛為noexec,那就無法使用系統(tǒng)了,連mount?命令都無法使用了,這時(shí)只有重新做系統(tǒng)了!
nodev(不允許掛載設(shè)備文件)
nosuid,nosgid(不允許有suidsgid屬性)
nouser(不允許普通用戶掛載)

第五列:指明是否要備份,(0為不備份,1為要備份,一般根分區(qū)要備份)

第六列:指明自檢順序。?0為不自檢,1或者2為要自檢,如果是根分區(qū)要設(shè)為1,其他分區(qū)只能是2

如果想開機(jī)就自動(dòng)掛載(mount)上,可以在/etc/fstab上添加如下幾行:
/dev/hda5 /mnt/d vfat exec,dev,suid,rw,umask=0,iocharset=gb2312,codepage=936 0 0
同時(shí)也解決了中文文件名的亂碼問題,我的fstab文件如下,僅供參考:
LABEL=/12 / ext3 defaults 1 1
none /dev/pts devpts gid=5,mode=620 0 0
none /proc proc defaults 0 0
none /dev/shm tmpfs defaults 0 0
/dev/hda4 swap swap defaults 0 0
/dev/cdrom /mnt/cdrom iso9660 noauto,owner,kudzu,ro 0 0
/dev/fd0 /mnt/floppy auto noauto,owner,kudzu 0 0
/dev/hda1 /mnt/c vfat exec,dev,suid,rw,umask=0,iocharset=gb2312,codepage=936 0 0
/dev/hda5 /mnt/d vfat exec,dev,suid,rw,umask=0,iocharset=gb2312,codepage=936 0 0
/dev/hda6 /mnt/e vfat exec,dev,suid,rw,umask=0,iocharset=gb2312,codepage=936 0 0
/dev/hda7 /mnt/f vfat exec,dev,suid,rw,umask=0,iocharset=gb2312,codepage=936 0 0
/dev/hda8 /mnt/g vfat exec,dev,suid,rw,umask=0,iocharset=gb2312,codepage=936 0 0

fstab解讀

從做到右:
/dev/device mount-point type rules dump fsck
1. /dev/device: 不用說了吧?例如,/dev/hda1 為M$-Win9x下的c:盤。
2. mount-point: 掛載點(diǎn)。例如,把/dev/hda1掛到/mnt/mywinc下。
3. type: ext3, vfat, ......就是要掛上的文件系統(tǒng)類型。
4. rules:
auto: 開機(jī)自動(dòng)掛接;
default, noauto: 開機(jī)不自動(dòng)掛接;
nouser: 只有root可掛;
ro: 只讀掛接;
rw: 可讀可寫掛接;
user: 任何用戶都可以掛接;
5. dump: 備份;0為從不備份,或顯示上次至今備份之天數(shù);
6. fsck: 啟動(dòng)時(shí)fsck檢查順序,0為不檢查, “/”永遠(yuǎn)為1;
我的就是:
/dev/hda1 /mnt/mywinc vfat default 0 0

在fstab中加載分區(qū)

mkdir /mnt/win_c
vi /etc/fstab
:::::add:::::
/dev/hda1 /mnt/win_c vfat default,pagecode=936,iocharset=cp936 0 0

/etc/fastab釋疑

1. fstab文件的作用
文 件/etc/fstab存放的是系統(tǒng)中的文件系統(tǒng)信息。當(dāng)正確的設(shè)置了該文件,則可以通過"mount /directoryname"命令來加載一個(gè)文件系統(tǒng),每種文件系統(tǒng)都對應(yīng)一個(gè)獨(dú)立的行,每行中的字段都有空格或tab鍵分開。同時(shí)fsck、 mount、umount的等命令都利用該程序。
2. fstab文件格式
下面是/etc/fatab文件的一個(gè)示例行:
fs_spec fs_file fs_type fs_options fs_dump fs_pass
/dev/hda1 / ext2 defaults 1 1
fs_spec - 該字段定義希望加載的文件系統(tǒng)所在的設(shè)備或遠(yuǎn)程文件系統(tǒng),對于一般的本地塊設(shè)備情況來說:IDE設(shè)備一般描述為/dev/hdaXN,X是IDE設(shè)備通道 (a, b, or c),N代表分區(qū)號;SCSI設(shè)備一描述為/dev/sdaXN。對于NFS情況,格式一般為<host>:<dir>,例如: `knuth.aeb.nl:/'。對于procfs,使用`proc'來定義。
fs_file - 該字段描述希望的文件系統(tǒng)加載的目錄點(diǎn),對于swap設(shè)備,該字段為none;對于加載目錄名包含空格的情況,用40來表示空格。
fs_type - 定義了該設(shè)備上的文件系統(tǒng),一般常見的文件類型為ext2 (linux設(shè)備的常用文件類型)、vfat(Windows系統(tǒng)的fat32格式)、NTFS、iso9600等。
fs_options - 指定加載該設(shè)備的文件系統(tǒng)是需要使用的特定參數(shù)選項(xiàng),多個(gè)參數(shù)是由逗號分隔開來。對于大多數(shù)系統(tǒng)使用"defaults"就可以滿足需要。其他常見的選項(xiàng)包括:
選項(xiàng) 含義
ro 以只讀模式加載該文件系統(tǒng)
sync 不對該設(shè)備的寫操作進(jìn)行緩沖處理,這可以防止在非正常關(guān)機(jī)時(shí)情況下破壞文件系統(tǒng),但是卻降低了計(jì)算機(jī)速度
user 允許普通用戶加載該文件系統(tǒng)
quota 強(qiáng)制在該文件系統(tǒng)上進(jìn)行磁盤定額限制
noauto 不再使用mount -a命令(例如系統(tǒng)啟動(dòng)時(shí))加載該文件系統(tǒng)
fs_dump - 該選項(xiàng)被"dump"命令使用來檢查一個(gè)文件系統(tǒng)應(yīng)該以多快頻率進(jìn)行轉(zhuǎn)儲,若不需要轉(zhuǎn)儲就設(shè)置該字段為0
fs_pass - 該字段被fsck命令用來決定在啟動(dòng)時(shí)需要被掃描的文件系統(tǒng)的順序,根文件系統(tǒng)"/"對應(yīng)該字段的值應(yīng)該為1,其他文件系統(tǒng)應(yīng)該為2。若該文件系統(tǒng)無需在啟動(dòng)時(shí)掃描則設(shè)置該字段為0
3. 示例文件
# /etc/fstab
/dev/hda9 swap swap defaults 0 0
/dev/hda1 / ext2 defaults 1 1
/dev/hda5 /home ext2 defaults 1 1
/dev/hda6 /usr ext2 defaults 1 1
/dev/hda7 /usr/local ext2 defaults 1 1
/dev/hda8 /var ext2 defaults 1 1
/dev/hdb /cdrom iso9660 noauto,user 0 0
none /proc proc defaults 0 0
none /dev/pts devpts gid=5,mode=620 0 0

總結(jié)

以上是生活随笔為你收集整理的fstab实例的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。