Linux 基金會已經發起了一個全新的 LFCS(Linux 基金會認證系統管理員(Linux Foundation Certified Sysadmin))認證,旨在讓來自世界各地的人有機會參加到 LFCS 測試,獲得關於有能力在 Linux 系統中執行中間系統管理任務的認證。該認證包括:維護正在運行的系統和服務的能力、全面監控和分析的能力以及何時向上游團隊請求支持的決策能力。
LFCS 系列第五講
本講是系列教程中的第五講,在這一講裡邊,我們會解釋如何在 Linux 中掛載/卸載本地和網絡文件系統。這些都是 LFCS 認證中的必備知識。
在個硬盤分好區之後,Linux 需要通過某些方式對硬盤分區上的數據進行訪問。Linux 並不會像 DOS 或者 Windows 那樣給每個硬盤分區分配一個字母來作為盤符,而是將硬盤分區掛載到統一的目錄樹上的掛載點。
掛載點是一個目錄,掛載是一種訪問分區上文件系統的方法,掛載文件系統實際上是將一個確切的文件系統(比如一個分區)和目錄樹中指定的目錄聯系起來的過程。
換句話說,管理存儲設備的第一步就是把設備關聯到文件系統樹。要完成這一步,通常可以這樣:用 mount 命令來進行臨時掛載(用完的時候,使用 umount 命令來卸載),或者通過編輯 /etc/fstab 文件之後重啟系統來永久性掛載,這樣每次開機都會進行掛載。
不帶任何選項的 mount 命令,可以顯示當前已掛載的文件系統。
#mount
檢查已掛載的文件系統
另外,mount 命令通常用來掛載文件系統。其基本語法如下:
#mount-t type device dir-o options
該命令會指引內核將在設備上找到的文件系統(如已格式化為指定類型的文件系統)掛載到指定目錄。像這樣的形式,mount 命令不會再到 /etc/fstab 文件中進行確認。
除非像下面,掛載指定的目錄或者設備:
#mount/dir-o options
或
#mount device -o options
mount 命令會嘗試尋找掛載點,如果找不到就會查找設備(上述兩種情況下,mount 命令會在 /etc/fstab 查找相應的設備或掛載點),最後嘗試完成掛載操作(這個通常可以成功執行,除非你的掛載點或者設備正在使用中,或者你調用 mount 命令的時候沒有 root 權限)。
你可以看到,mount 命令的每行輸出都是如下格式:
device on directory type (options)
例如:
/dev/mapper/debian-home on /home type ext4 (rw,relatime,user_xattr,barrier=1,data=ordered)
讀作:
設備 dev/mapper/debian-home 掛載在 /home 下,它被格式化為 ext4,並且有以下掛載選項: rw,relatime,user_xattr,barrier=1,data=ordered。
mount 命令選項
下面列出 mount 命令的常用選項
async,auto,dev,exec,nouser,rw,suid
的組合。注意,多個選項必須由逗號隔開並且中間沒有空格。倘若你不小心在兩個選項中間輸入了一個空格,mount 命令會把後邊的字符解釋為另一個參數。以 ro 和 noexec 模式掛載設備
#mount-t ext4 /dev/sdg1 /mnt -o ro,noexec
在本例中,我們可以看到,在掛載點 /mnt 中嘗試寫入文件或者運行可執行文件都會顯示相應的錯誤信息。
#touch/mnt/myfile
# /mnt/bin/echo“Hi there”
可讀寫模式掛載設備
以默認模式掛載設備
以下場景,我們在重新掛載設備的掛載點中,像上例一樣嘗試你寫入文件和運行可執行文件。
#mount-t ext4 /dev/sdg1 /mnt -o defaults
掛載設備
在這個例子中,我們發現寫入文件和命令都完美執行了。
使用 umount 命令卸載設備,意味著將所有的“在使用”數據全部寫入到文件系統,然後可以安全移除文件系統。請注意,倘若你移除一個沒有事先正確卸載的設備,就會有造成設備損壞和數據丟失的風險。
也就是說,你必須“離開”設備的塊設備描述符或者掛載點,才能卸載設備。換言之,你的當前工作目錄不能是需要卸載設備的掛載點。否則,系統將返回設備繁忙的提示信息。
卸載設備
離開需卸載設備的掛載點最簡單的方法就是,運行不帶任何選項的 cd 命令,這樣會回到當前用戶的家目錄。
最常用的兩種網絡文件系統是 SMB(服務器消息塊(Server Message Block))和 NFS(網絡文件系統(Network File System))。如果你只向類 Unix 客戶端提供共享,用 NFS 就可以了,如果是向 Windows 和其他類 Unix 客戶端提供共享服務,就需要用到 Samba 了。
擴展閱讀
下面的例子中,假設 Samba 和 NFS 已經在地址為 192.168.0.10 的服務器上架設好了(請注意,架設 NFS 服務器也是 LFCS 考試中需要考核的能力,我們會在後邊中提到)。
第一步:在 Red Hat 以 Debian 系發行版中安裝 samba-client、samba-common 和 cifs-utils 軟件包,如下:
#yum update &&yum install samba-client samba-common cifs-utils
# aptitude update && aptitude install samba-client samba-common cifs-utils
然後運行下列命令,查看服務器上可用的 Samba 共享。
# smbclient -L 192.168.0.10
並輸入遠程機器上 root 賬戶的密碼。
掛載 Samba 共享
上圖中,已經對可以掛載到我們本地系統上的共享進行高亮顯示。你只需要與一個遠程服務器上的合法用戶名及密碼就可以訪問共享了。
第二步:當掛載有密碼保護的網絡文件系統時候,將你的訪問憑證寫入到 /etc/fstab 文件中並非明智的選擇。你需要將這些信息寫入到具有 600 權限的隱藏文件中,像這樣:
#mkdir/media/samba
#echo“username=samba_username”>/media/samba/.smbcredentials
#echo“password=samba_password”>>/media/samba/.smbcredentials
#chmod600/media/samba/.smbcredentials
第三步:然後將下面的內容添加到 /etc/fstab 文件中。
#//192.168.0.10/gacanepa /media/samba cifs credentials=/media/samba/.smbcredentials,defaults 0 0
第四步:現在可以掛載你的 Samba 共享了。手動掛載(mount //192.168.0.10/gacanepa)或者重啟系統並應用 /etc/fstab 中相應行來用就掛載都可以。
掛載有密碼保護的 Samba 共享
------------------------------------分割線------------------------------------
Ubuntu 15.04安裝Samba服務 http://www.linuxidc.com/Linux/2016-03/129201.htm
如何在Ubuntu 14.04中使用Samba共享文件 http://www.linuxidc.com/Linux/2014-07/104894.htm
VMWare 虛擬機 Ubuntu 雙網卡 訪問 samba 速度 翻倍 http://www.linuxidc.com/Linux/2013-06/85445.htm
Samba文件共享服務器加入Windows Server 2003域 http://www.linuxidc.com/Linux/2013-06/86391.htm
Samba安裝配置 http://www.linuxidc.com/Linux/2013-06/86101.htm
CentOS 6.2 下Samba 服務的配置 http://www.linuxidc.com/Linux/2013-01/78390.htm
Samba服務器安裝和配置 http://www.linuxidc.com/Linux/2014-12/110459.htm
Win7+VMware+Fedora18 Samba服務器的搭建圖解 http://www.linuxidc.com/Linux/2013-01/78234.htm
------------------------------------分割線------------------------------------
Samba 的詳細介紹:請點這裡
Samba 的下載地址:請點這裡
第一步:在 Red Hat 以 Debian 系發行版中安裝 nfs-common 和 portmap 軟件包。如下:
#yum update &&yum install nfs-utils nfs-utils-lib
# aptitude update && aptitude install nfs-common
第二步:為 NFS 共享創建掛載點。
#mkdir/media/nfs
第三步:將下面的內容添加到 /etc/fstab 文件中。
192.168.0.10:/NFS-SHARE /media/nfs nfs defaults 00
第四步:現在可以掛載你的 Samba 共享了。手動掛載(mount 192.168.0.10:/NFS-SHARE)或者重啟系統並應用 /etc/fstab 中相應行來用就掛載都可以。
掛載 NFS 共享
像前面兩個例子那樣,/etc/fstab 控制著Linux如何訪問硬盤分區及可移動設備。/etc/fstab 由六個字段的內容組成,各個字段之間通過一個空格符或者制表符來分開。井號(#)開始的行只是會被忽略的注釋。
每一行都按照這個格式來寫入:
<filesystem><mountpoint><type><options><dump><pass>
其中:
Mount 命令例示
1、在系統啟動時,通過 TECMINT 標卷來掛載文件系統,並具備 rw 和 noexec 屬性,你應該將以下語句添加到 /etc/fstab 文件中。
LABEL=TECMINT /mnt ext4 rw,noexec 00
2、若你想在系統啟動時掛載 DVD 光驅中的內容,添加以下語句。
/dev/sr0 /media/cdrom0 iso9660 ro,user,noauto 00
其中 /dev/sr0 為你的 DVD 光驅。
--------------------------------------分割線 --------------------------------------
Ubuntu 12.04安裝NFS server http://www.linuxidc.com/Linux/2012-09/70728.htm
NFS服務器安裝配置實現Ubuntu 12.04與ARM文件共享 http://www.linuxidc.com/Linux/2012-10/73159.htm
Ubuntu搭建nfs服務器 http://www.linuxidc.com/Linux/2012-10/71930.htm
文件服務器NFS配置詳解 http://www.linuxidc.com/Linux/2013-06/86542.htm
Ubuntu下搭建NFS網絡文件系統服務器 http://www.linuxidc.com/Linux/2013-07/87367.htm
Heartbeat_ldirector+LB+NFS實現HA及LB、文件共享 http://www.linuxidc.com/Linux/2013-06/85292.htm
CentOS 5.5配置NFS服務器教程 http://www.linuxidc.com/Linux/2013-03/81737.htm
Ubuntu 12.10下NFS的安裝使用 http://www.linuxidc.com/Linux/2013-03/80478.htm
--------------------------------------分割線 --------------------------------------
不用懷疑,在命令行中掛載/卸載本地和網絡文件系統將是你作為系統管理員的日常責任的一部分。同時,你需要掌握 /etc/fstab 文件的編寫。希望本文對你有幫助。隨時在下邊發表評論(或者提問),並分享本文到你的朋友圈。
via: http://www.tecmint.com/mount-filesystem-in-linux/
作者:Gabriel Cánepa 譯者:GHLandy 校對:wxy
本文由 LCTT 原創翻譯,Linux中國 榮譽推出