Linux之檔案系統的開機掛載 async/sync 非同步/同步 等【轉】
昨天,我們介紹的都是手動執行命令來實現掛載,如果你常常需要掛載某些檔案系統,那麼我如何讓系統在啟動時就自動掛載,應該怎樣做呢?下面介紹兩種方法:
方法1.
把掛載的命令放在/etc/rc.d/rc.local中。
這個雖然是一種方法,但不建議這麼做,因為我們的系統中有統一規劃的解決方案,所以建議用第二種方法。
方法2.
修改配置檔案/etc/fstab,這個檔案就是設定在啟動時加掛的檔案系統,下面我們就一起來研究一下/etc/fstab
[root@yufei ~]# cat /etc/fstab 此處省略多行無用資訊 UUID=8e4f6141-20f9-4f5a-aad4-bac048374152 / ext4 defaults 1 1 UUID=c70cd6a4-09cd-4aea-ba94-f3641df4e981 swap swap defaults 0 0 tmpfs /dev/shm tmpfs defaults 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 sysfs /sys sysfs defaults 0 0 proc /proc proc defaults 0 0
這個內容和您的系統有關係,最上面兩行的是我們磁碟檔案系統,而後面的四行是虛擬檔案系統,我們不關心這個。
這個檔案裡面分成六個欄位。這六個欄位是很重要的,所以我們要帶大家一起來認識一下。
第一欄:磁碟裝置的檔名或裝置的卷標或者是裝置的UUID。#關於這些資訊的查詢可以通過tune2fs 或者是dumpe2fs來查詢。
[root@yufei ~]# tune2fs -l /dev/sdb1 |more [root@yufei ~]# dumpe2fs /dev/sdb1 |more 只顯示有用資訊 Filesystem volume name: opsers_tech Last mounted on: /mnt Filesystem UUID: 994ae2b7-d28a-4f7c-9464-c1763860378b 所以這一欄可以有下面三種表示方法,效果都是一樣的,都是表示的是同一個裝置。 /dev/sdb1 LABEL=opsers_tech UUID=994ae2b7-d28a-4f7c-9464-c1763860378b
第二欄:掛載點。#強烈建議用一個空目錄
第三欄:檔案系統型別。#在手動掛載時可以讓系統自動測試掛載,但在這個檔案中必須要手動寫入檔案系統的型別。檔案系統型別主要有:ext3、ext4、vfat、ntfs、nfs、smbfs、swap等等。
第四欄:檔案系統引數。#這個和我們前面介紹的mount是一樣的,在這裡再做一個簡單的介紹,因為這個很重要。
async/sync 非同步/同步:設定磁碟的運作方式,預設為 async(效能較佳),是把內容寫入日誌,然後儲存到磁碟。
auto/noauto 自動/非自動:當下達 mount -a 時,此檔案系統是否會被主動測試掛載。預設為 auto。
rw/ro 讀寫/只讀:如果你想要分享的資料是不給使用者隨意變更的,就可以設定成ro的,無論在此檔案系統的檔案是否有 w 許可權,都是無法寫入內容。
exec/noexec 可被執行/不可被執行:限制在此檔案系統內是否可以進行執行的操作,如果此檔案系統是純粹用來儲存資料的,那麼可以設定為 noexec 會比較安全。
user/nouser 允許/不允許其他使用者掛載:正常情況下,系統為了安全,不希望一般身份的使用者能使用mount命令的,因為太不安全了,預設是設定為nouser。
suid/nosuid 具有/不具有suid許可權:該檔案系統是否允許SUID的存在。因為這個也和系統的安全相關。如果不是執行檔案存放的目錄,可以設定為nosuid來取消這個功能。
usrquota 注意不要拼錯了。這個是在啟動檔案系統的時候,讓其支援磁碟配額,這個是針對使用者的。
grpquota 和上面一樣,支援使用者組的磁碟配額。
defaults 同時具有rw, suid, dev, exec, acl, async引數。
而我們基本上預設使用defaults即可。
第五欄:能否被dump備份指令使用。#dump是一個用來備份的命令,我們可以通過fstab指定哪個檔案系統必須要進行dump備份。0代表不要做dump備份,1代表要每天進行dump的動作,2也代表其他不定日期的dump備份。通常這個數值不是0就是1。
第六欄:是否用 fsck 檢驗扇區:#開機的過程中,系統預設會用fsck檢驗檔案系統是否完整。不過,某些檔案系統是不需要檢驗的,例如swap以及特殊檔案系統/proc、/sys等等。0是不要檢驗,1表示最先檢驗(一般只有根目錄會設定為1),2也是要檢驗,只是1是最先,2是其次才進行檢驗。這一項只針對作業系統的分割槽有效果,其他的檔案系統根據需要來設定,因為他不影響系統的引導。
特別提醒1:因為/etc/fstab這個檔案和系統啟動有很大的關係,如果你一不小心,把裡面的內容寫錯了,可能導致系統無法啟動。為了防止這個問題的發現,當你增加了相應的掛載內容後,最好用
mount -a命令進行一下測試,在沒有錯誤的情況,才能保證下次在系統啟動的時候是正常的。
特別提醒2:如果我在此檔案中修改了相應的掛載引數的話,你需要用mount -o remount來重新使新的引數生效。而mount -a則是載入不了已經掛載了檔案系統的引數資訊。可以用mount命令檢視到引數的資訊。
最後我們把昨天格式化出來的分割槽寫到/etc/fstab檔案中。在開始編輯檔案前,我再給大家介紹一個很實用的工具blkid,他會顯示出系統中所有的檔案系統的資訊,包括裝置名、卷標、UUID以及檔案系統型別。下面的看效果
[root@yufei ~]# blkid /dev/sda1: UUID="8e4f6141-20f9-4f5a-aad4-bac048374152" TYPE="ext4" /dev/sda2: UUID="c70cd6a4-09cd-4aea-ba94-f3641df4e981" TYPE="swap" /dev/sdb1: LABEL="opsers_tech" UUID="994ae2b7-d28a-4f7c-9464-c1763860378b" TYPE="ext4" /dev/sdb2: SEC_TYPE="msdos" UUID="7F29-8A7A" TYPE="vfat" [root@yufei ~]# vim /etc/fstab /dev/sdb1 /mnt ext4 defaults 0 0 UUID=7F29-8A7A /test vfat defaults 0 0 [root@yufei ~]# mount -a
[root@yufei ~]# mount -a
沒有錯誤提示,說明我們的配置是沒有錯誤的,那麼在下次系統啟動後就不會有錯誤了,而導致系統啟動不了。
啟動系統後,用df -T來檢視掛載在系統中的磁碟資訊情況
[root@yufei ~]# df -T Filesystem Type 1K-blocks Used Available Use% Mounted on /dev/sda1 ext4 15118728 6980432 7370296 49% / tmpfs tmpfs 255784 0 255784 0% /dev/shm /dev/sdb1 ext4 1033560 40980 939568 5% /mnt /dev/sdb2 vfat 409424 0 409424 0% /test
用mount命令可以檢視系統中的掛載情況
[root@yufei ~]# mount /dev/sda1 on / type ext4 (rw) proc on /proc type proc (rw) sysfs on /sys type sysfs (rw) devpts on /dev/pts type devpts (rw,gid=5,mode=620) tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0") /dev/sdb1 on /mnt type ext4 (rw) /dev/sdb2 on /test type vfat (rw) none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw) none on /proc/fs/vmblock/mountPoint type vmblock (rw) sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
/etc/fstab 是開機時的配置檔案,實際上檔案系統的掛載是記錄在 /etc/mtab 與 /proc/mounts 這兩個檔案中的。如果萬一在/etc/fstab中寫入的資料錯誤時候,會導致無法順利開機成功,而進入單人維護模式,而這時候 / 是隻讀的狀態,要想修改 /etc/fstab,就要用到下面這個常用的系統修復命令了。
mount -o remount,rw /
轉自:http://www.opsers.org/base/learning-linux-the-day-that-the-file-system-mount.html
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/14184018/viewspace-708101/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 檔案系統的掛載 與 非掛載
- Linux掛載檔案系統(轉)Linux
- BitTorrent Sync 基於BT的檔案同步
- linux 掛載xfs檔案系統Linux
- Linux系統掛載win系統的共享檔案Linux
- Linux 檔案同步工具之 rsyncLinux
- Linux 檔案系統掛載mount命令Linux
- 乾坤大挪移,如何將同步阻塞(sync)三方庫包轉換為非同步非阻塞(async)模式?Python3.10實現。非同步模式Python
- 使用cwRsync同步windows系統間的檔案Windows
- [轉]阻塞/非阻塞與同步/非同步非同步
- Windows Linux 之間rsync同步CODE檔案WindowsLinux
- CentOS 7下掛載NTFS檔案系統並實行開機自動掛載CentOS
- Linux 建立檔案系統及掛載檔案系統詳解一薦Linux
- 掛載fat檔案系統
- Linux建立檔案系統並掛載的方法 -----ddLinux
- SVN之檔案同步更新
- linux 同步IO: sync、fsync與fdatasyncLinux
- 如何在Linux系統安裝檔案同步工具:FreeFileSync?Linux
- linux下掛載NTFS和FAT檔案系統Linux
- CentOS系統開機自動掛載光碟機 和 fstab檔案詳解CentOS
- Linux下加掛檔案系統的小結(轉)Linux
- ES7之async/await 同步還是非同步AI非同步
- linux系統之間透過nfs網路檔案系統掛載設定方法LinuxNFS
- Flutter非同步程式設計-sync*和async*生成器函式Flutter非同步程式設計函式
- linux如何系統掛載u盤複製檔案Linux
- linux-掛載NFS網路檔案系統教程LinuxNFS
- Linux核心的同步機制(2)(轉)Linux
- Linux核心的同步機制(1)(轉)Linux
- Oracle RAC NFS掛載檔案系統OracleNFS
- macOS 下NFS 檔案系統掛載MacNFS
- linux 檔案掛載Linux
- Win10系統下OneDrive同步功能失效無法同步檔案的解決方法Win10
- linux同步系統時間Linux
- 同步非同步,阻塞非阻塞非同步
- 非同步、同步、阻塞、非阻塞非同步
- 同步、非同步、阻塞、非阻塞非同步
- 網頁效能優化之非同步載入js檔案網頁優化非同步JS
- 基於AWS的檔案同步服務系統架構架構