如何在linux上編寫fstab檔案

向Linux計算機新增新的硬碟驅動器或固態驅動器?您需要編輯fstab檔案。很多人覺得這個想法很可怕。是的,你把它做好是很重要的,但是有了正確的知識,這真的不難。我們將逐步完成編輯fstab檔案的過程,以便將新驅動器整合到檔案系統中。...

向Linux計算機新增新的硬碟驅動器或固態驅動器?您需要編輯fstab檔案。很多人覺得這個想法很可怕。是的,你把它做好是很重要的,但是有了正確的知識,這真的不難。我們將逐步完成編輯fstab檔案的過程,以便將新驅動器整合到檔案系統中。

fstab,檔案系統表

雖然在Linux計算機上新增一個新的硬碟並不複雜,但是第一次嘗試時可能會有點混亂。連線硬體,開啟計算機電源,然後登入到作業系統。但是你在任何地方都看不到你的新硬碟。為什麼沒有出現?如何讓Linux“看到”驅動器以便開始配置它?

實際上,Linux已經看到了您的硬體,但它並沒有很快宣佈它。或者給你一個提示,它已經找到了你的新硬體。您必須詢問Linux以獲得需要放入fstab檔案的資訊。

下面介紹如何設定新硬碟,以便Linux和您可以看到並使用它。這個過程分為兩部分。第一部分是做一些偵察,以確定硬碟驅動器和收集一些資訊。第二部分是編輯fstab檔案,使用我們在偵察階段收集的資訊。

找到你的新硬碟

我們要給這個系統新增兩個新驅動器。一個是32 GB機械硬碟(HD),另一個是16 GB固態硬碟(SSD)。

我們需要知道Linux可以看到它們,以及Linux正在為它們使用什麼塊裝置。在Linux和類似Unix的作業系統中,塊裝置是一種特殊的檔案,它充當裝置的介面,可以讀取和寫入資料(除非它是隻讀的)。塊裝置通常表示某種大容量儲存單元(例如,硬碟或CD-ROM上的分割槽)。它們是在/dev目錄中建立的。

我們可以使用l**lk命令列出連線到Linux計算機的塊裝置。

l**lk

如何在linux上編寫fstab檔案

l**lk的輸出以列為單位。

如何在linux上編寫fstab檔案

這些列是:

  • 名稱:這是裝置名稱。以“sd”開頭並後跟字母的裝置名稱表示SCSI硬碟。字母表示單個硬碟,第一個字母是“a”,第二個字母是“b”。成為第二個等等。如果附加了一個數字,則表示一個分割槽。例如,“sdb2”是第二個SCSI硬碟上的分割槽2。
  • 專業:Min:此列儲存裝置的主要編號和次要編號。主要數字表示裝置的型別(或者更準確地說,是用於與該裝置通話的驅動程式的型別)。次要編號是該型別裝置數量的計數。
  • Rm:此列顯示裝置是否可移動。請注意,裝置sr0的值為1,表示它是可移動的。這是一個CD-ROM驅動器。
  • 大小:這是可以儲存在裝置中的資料量。
  • Ro:此列將顯示1表示只讀裝置,0表示讀寫裝置。環路裝置都是隻讀的。
  • 型別:標識裝置的型別。“disk”表示磁碟驅動器,“part”表示分割槽,“rom”表示只讀儲存器(CD-rom)。
  • Mountpoint:顯示檔案系統中安裝此裝置的點。如果為空,則不安裝裝置。

在上面的螢幕截圖中,您可以看到迴圈裝置都被賦予了一個大數7(意味著一個迴圈,或迴圈,裝置),而小數只是每次增加1。迴圈裝置與squashfs檔案系統一起使用。每次使用snappy包管理系統安裝應用程式時,都會建立一個squashfs檔案系統。

SCSI硬碟的名稱有sda、sdb和sdc,它們的主要數字都是8(SCSI硬碟)。次要編號按16分組。第一個驅動器sda的次要編號從0到15。0表示物理驅動器,次數字1表示該驅動器上的第一個分割槽。對於第二個驅動器sdb,次要數字從16到31。16表示物理驅動器,17表示該驅動器上的第一個分割槽。接下來的16個數字,從32到47,用於sdc的次要數字,依此類推。

其他常見的主要數字是3(對於IDE硬碟)和11(對於CD-ROM)。

實際上,SDCSI CD-ROM驅動器的/dev/sr0樣式已經過時了。批准的格式是/dev/scd0。儘管如此,/dev/sr0格式仍然在用於研究本文的所有機器上使用。

核心文件包含一個長長的列表,其中列出了主要數字和次要數字可以採用的所有值。這張單子長得出奇。

為了消除l**lk輸出的混亂,我們可以使用grep只選擇我們感興趣的專案。我們知道沒有新增迴圈裝置,所以讓我們選擇所有SCSI硬碟驅動器。我們知道他們的名字裡會有“sd”。

l**lk | grep sd

如何在linux上編寫fstab檔案

此命令將導致grep只打印在中有“sd”的行。在我們的試驗機上,我們看到:

如何在linux上編寫fstab檔案

所以,我們有三個SCSI驅動器。第一個/dev/sda安裝在檔案系統的根目錄下。其他兩個根本沒有安裝,這是預期的全新驅動器。我們可以看到drive/dev/sdb的大小是32gb,這意味著它是我們傳統的機械驅動器。Drive/dev/sdc的大小是16gb,這是我們的SSD驅動器。

實際上,由於這是一臺虛擬計算機,這些也是虛擬磁碟。所以SSD就像SCSI機械驅動器一樣出現。在我的常規桌面上,我的nvmesd顯示為/dev/nvme0n1,它的第一個分割槽是/dev/nvme0n1p1。它的主要數字是259。這些差異不會改變我們在fstab檔案中要做的事情,但是要注意,如果您有一個SSD,它不會顯示為物理驅動器。

另外,如果驅動器是全新的,那麼它們可能沒有分割槽。如果需要,可以使用fdisk建立分割槽。

相關:如何使用Fdisk在Linux上管理分割槽

識別旋轉和非旋轉驅動器

如果我們對l**lk使用-o(輸出)選項,並將ROTA(旋轉)列新增到顯示中,l**lk將使用1表示旋轉儲存裝置(機械驅動),使用0表示非旋轉儲存裝置(固態驅動)。

l**lk -o +ROTA | grep sd

如何在linux上編寫fstab檔案

我們在顯示器的右邊有一個額外的列,它是ROTA(旋轉)列。如您所見,“SSD”對裝置和分割槽有一個0。這是有意義的,因為SSD是一種非旋轉儲存裝置。

如何在linux上編寫fstab檔案

裝載檔案系統

在開始考慮fstab檔案之前,讓我們檢查一下是否可以手動安裝驅動器。這樣,如果在使用fstab檔案時出現問題,我們就會知道問題一定是語法問題,而不是驅動器本身的問題。

我們將在/mnt目錄中建立一些臨時掛載點。您需要使用sudo,系統會提示您輸入密碼。

sudo mkdir /mnt/scsi

如何在linux上編寫fstab檔案

sudo mkdir /mnt/ssd

如何在linux上編寫fstab檔案

現在讓我們在新的掛載點掛載SCSI驅動器。我們將以最簡單的形式使用mount命令。我們會告訴它我們想要掛載的分割槽的名稱,以及我們想要掛載它的掛載點。mount將在指定的掛載點將檔案系統掛載到該分割槽上。

我們指定的是儲存檔案系統的分割槽,而不是驅動器,因此請確保包含分割槽的數字,在本例中為“1”。

sudo mount /dev/sdb1 /mnt/scsi

如何在linux上編寫fstab檔案

如果一切順利,穆特不會迴應。您將自動返回到命令提示符。

安裝SSD同樣簡單。我們告訴mount在哪個裝置上裝載哪個分割槽,以及裝載點。

sudo mount /dev/sdc1 /mnt/ssd

如何在linux上編寫fstab檔案

再說一次,沉默是金。

相關:如何從Linux終端裝載和解除安裝儲存裝置

檢查支架

為了驗證掛載已經發生,我們將再次使用l**lk。我們將透過grep傳遞其輸出,並選擇“sda1”、“sdb2”和“sdc1”條目。

l**lk -o +ROTA | grep sd[a-c]1

如何在linux上編寫fstab檔案

mount向我們展示了三個掛載的分割槽。這就是我們剛剛掛載的兩個分割槽和掛載在/上的原始分割槽。

如何在linux上編寫fstab檔案

分割槽/dev/sdb1安裝在/mnt/scsi上,並且位於旋轉儲存裝置上。分割槽/dev/sdc1安裝在/mnt/ssd上,並且位於非旋轉儲存裝置上。一切似乎都很好。

現在我們需要配置fstab檔案,以便在每次啟動計算機時掛載這些裝置。

fstab檔案

fstab檔案包含計算機重新啟動時裝入的每個檔案系統的條目。每個條目由六個欄位組成。欄位包括:

  • 檔案系統:不是,顧名思義,分割槽上的檔案系統型別(這就是型別欄位的用途)。這是應該裝入的分割槽的識別符號。
  • 掛載點:檔案系統中您希望掛載分割槽的位置。
  • 型別:分割槽上檔案系統的型別。
  • 選項:每個檔案系統都可以指定用於開啟或關閉功能的選項。
  • Dump:指一種幾乎過時的備份檔案系統的方法,即將整個檔案系統“轉儲”到磁帶上。
  • 透過:這是“透過”標誌。它告訴Linux應該使用fsck檢查哪些分割槽的錯誤,以及檢查順序。主引導和作業系統分割槽應該是1,其餘的可以設定為2。如果該標誌設定為零,則表示“根本不檢查”。如果檔案系統不是日誌檔案系統(例如ext2或FAT16/32),則最好將其設定為0來關閉。

這些欄位必須按此順序指定,並且它們之間必須有空格或製表符。找到這些欄位的值可能會讓人望而生畏,尤其是“opti***”欄位的值。“選項”欄位選項必須位於逗號分隔的列表中,它們之間不能有空格。

每個檔案系統的手冊頁將列出可以使用的選項。ext4有大約40個選項。以下是一些更常見的選項:

  • 自動:檔案系統將在啟動時自動掛載。
  • Noauto:只有當您輸入mount-a命令時,檔案系統才會被裝載。
  • Exec:允許在此檔案系統上執行二進位制檔案。
  • Noexec:不允許在此檔案系統上執行二進位制檔案。
  • Ro:檔案系統應該以只讀方式裝載。
  • Rw:檔案系統應該以讀寫方式掛載。
  • 同步:檔案寫入應立即進行,而不是緩衝。最好是為軟盤保留,如果有人還在使用的話。招致效能懲罰。
  • 非同步:應該緩衝和最佳化檔案寫入。
  • 使用者:任何使用者都可以掛載檔案系統。
  • Nouser:根使用者是唯一可以掛載此檔案系統的使用者。
  • 預設值:這是一種指定一組公共設定的簡寫方法:rw、suid、dev、exec、auto、nouser和async)。
  • Suid:允許Suid和sgid位的操作。suid位用於允許普通使用者以root身份執行檔案,而不授予使用者完全root許可權。在目錄上設定sgid位時,在該目錄中建立的檔案和目錄的組所有權設定為該目錄的組所有權,而不是建立它們的使用者的組所有權。
  • Nosuid:不允許使用suid和sgid位。
  • Noatime:–不要更新檔案系統上的檔案訪問時間。這有助於提高舊硬體的效能。
  • Nodiratime:不更新檔案系統上的目錄訪問時間。
  • Relatime:更新相對於檔案修改時間的檔案訪問時間。

“預設值”選項是一個很好的開場白。如果需要進行一些微調,可以新增或刪除更多選項。如果有一種簡潔的方法來獲取所需的設定,那麼您就可以按順序將它們輸入fstab檔案。

輸入mtab檔案。

mtab檔案

mtab檔案是當前裝入的檔案系統的列表。這與fstab檔案不同,fstab檔案列出了引導時應該裝載的檔案系統。mtab檔案包括手動裝入的檔案系統。我們已經安裝了新驅動器,因此它們應該顯示在mtab檔案中。

我們可以使用cat檢視mtab檔案的內容。我們將透過grep管道限制輸出,並且只檢視/dev/sdb1和/dev/sdc1。

cat /etc/mtab | grep sd[b-c]1

如何在linux上編寫fstab檔案

輸出顯示這兩個分割槽的mtab條目。

如何在linux上編寫fstab檔案

我們可以提升這些值並將它們直接放入fstab檔案中,確保每個欄位之間有一個空格或製表符。就是這樣。當我們重新啟動的時候,硬碟就會被安裝上。

有兩個警告。一個是掛載點。我們建立臨時掛載點只是為了證明我們可以在新驅動器上掛載新分割槽。如果不同的話,我們需要輸入真正的坐騎點,而不是臨時的坐騎點。

第二個警告是,如果我們使用mtab檔案中的設定,我們將使用塊裝置檔案作為每個分割槽的識別符號。這是可行的,但是如果計算機中添加了新的大容量儲存硬體,/dev/sda和/dev/sdb等值可能會發生變化。這意味著fstab檔案中的設定不正確。

每個分割槽都有一個通用唯一識別符號(UUID),我們可以用它來標識分割槽。這永遠不會改變。如果我們使用UUID來標識fstab檔案中的分割槽,那麼設定將始終保持準確和真實。

如果將新分割槽用作廉價磁碟冗餘陣列(RAID)系統的一部分,請檢視該系統的文件。它可能指定必須使用塊裝置識別符號而不是UUID。

查詢分割槽的uuid

為了找到分割槽的UUID,我們可以使用blkid列印塊裝置的屬性。我們將限制輸出到新驅動器上的兩個新分割槽:

blkid | grep sd[b-c]1

如何在linux上編寫fstab檔案

輸出包括每個分割槽的UUID。

如何在linux上編寫fstab檔案

PARTUUID是UUID的一種形式,可以與GUID分割槽表(GPT)分割槽方法一起使用(如果您不使用主引導記錄(MBR)分割槽方法)。

編輯fstab檔案

在編輯器中開啟fstab檔案。我們使用的是gedit,這是一個在大多數Linux發行版中都可以找到的易於使用的編輯器。

sudo gedit /etc/fstab

如何在linux上編寫fstab檔案

此時將顯示編輯器,其中載入了fstab檔案。

如何在linux上編寫fstab檔案

此fstab檔案中已有兩個條目。它們是現有硬碟驅動器/dev/sda1上的分割槽和交換檔案系統。小心不要更改這些條目。

我們需要在fstab檔案中新增兩個新條目。一個用於SCSI驅動器上的分割槽,另一個用於SSD驅動器上的分割槽。我們先新增SCSI分割槽。請注意,以雜湊開頭的行是註釋。

  • 在“檔案系統”欄位中,我們將使用blkid先前為我們檢索的UUID。以“UUID=”開始行,然後貼上UUID。按空格鍵或tab鍵。
  • 對於“mount point”欄位,我們將使用前面建立的mount point,/mnt/scsi。你應該使用系統中合適的掛載點。按空格鍵或tab鍵。
  • 對於“type”,我們將輸入ext4,這是分割槽上的檔案系統型別。按空格鍵或tab鍵。
  • 在“opti***”欄位中,我們將使用使用cat/etc/mtab檢索的選項。這些是“rw,relatime”。按空格鍵或tab鍵。
  • “轉儲”欄位設定為零。按空格鍵或tab鍵。
  • “透過”欄位設定為零。

現在我們將在單獨一行的SSD驅動器上新增fstab條目分割槽。

  • 在“檔案系統”欄位中,我們將輸入blkid為SSD驅動器上的分割槽檢索的UUID。以“UUID=”開始行,然後貼上UUID。按空格鍵或tab鍵。
  • 對於“mount point”欄位,我們將使用前面建立的mount point,/mnt/ssd。按空格鍵或tab鍵。
  • 對於“type”,我們將輸入ext4,這是分割槽上的檔案系統型別。按空格鍵或tab鍵。
  • 在“opti***”欄位中,為了使兩個新條目在我們的示例中不同,我們將使用“defaults”選項。按空格鍵或tab鍵。
  • “轉儲”欄位設定為零。按空格鍵或tab鍵。
  • “透過”欄位設定為零。

如何在linux上編寫fstab檔案

儲存檔案並關閉編輯器。

相關:如何使用gedit在Linux上以圖形方式編輯文字檔案

在不重新啟動的情況下測試fstab

我們可以解除安裝新驅動器,然後強制重新整理fstab檔案。新分割槽的成功安裝將驗證我們輸入的設定和引數在語法上是否正確。這意味著我們的fstab檔案應該在重啟或通電過程中正確處理。

要解除安裝SCSI驅動器,請使用以下命令。請注意,“umount”中只有一個“n”:

sudo umount /dev/sdb1

如何在linux上編寫fstab檔案

要解除安裝SSD驅動器,請使用以下命令:

sudo umount /dev/sdc1

如何在linux上編寫fstab檔案

現在我們將使用l**lk檢查這些塊裝置是否已安裝。

l**lk | grep sd

如何在linux上編寫fstab檔案

我們看到塊裝置存在於計算機中,但沒有安裝在任何地方。

如何在linux上編寫fstab檔案

我們可以使用mount命令和-a(all)選項來重新裝載fstab中的所有檔案系統。

sudo mount -a

如何在linux上編寫fstab檔案

我們可以再次使用l**lk檢查新分割槽是否已安裝:

l**lk | grep sd

如何在linux上編寫fstab檔案

一切都安裝在它應該的地方。我們現在要做的就是更改裝載點的所有權,否則root將是唯一可以訪問新儲存裝置的人。

我們可以用chown輕鬆地做到這一點。這是SCSI裝載點的命令:

sudo chown dave:users /mnt/scsi

如何在linux上編寫fstab檔案

這是SSD裝載點的命令:

sudo chown dave:users /mnt/ssd

如何在linux上編寫fstab檔案

我們現在可以放心地重新啟動計算機,知道我們新增的分割槽將為我們掛載,並且我們可以訪問它們。

畢竟沒那麼可怕

所有的艱苦工作都在偵察階段,那也不難。一旦收集了所需的資訊,就可以輕鬆地編輯fstab檔案。準備就是一切。

  • 發表於 2021-04-03 00:45
  • 閱讀 ( 40 )
  • 分類:網際網路

你可能感興趣的文章

如何在linux下配置raid硬碟陣列

有備用硬碟,你想更有效地使用你的Linux電腦?RAID可以提供效能提升或新增冗餘,具體取決於它的配置方式。讓我們快速進入多磁碟世界。 ...

  • 發佈於 2021-03-12 05:36
  • 閲讀 ( 42 )

什麼是shell指令碼,為什麼要使用它

... 如何執行shell指令碼?很簡單。只需將指令碼路徑作為引數傳遞給shell: ...

  • 發佈於 2021-03-13 04:53
  • 閲讀 ( 56 )

如何在linux和raspberry pi中安裝usb快閃記憶體裝置

...(可能是與數碼相機一起使用的裝置)時,系統會提示您如何繼續操作。為了方便起見,我喜歡將裝置開啟到檔案管理器中。 ...

  • 發佈於 2021-03-17 16:00
  • 閲讀 ( 49 )

如何在windows 10上實現swift程式

... 下面介紹如何建立一個簡單的Swift程式,並在windows10中編譯和執行它。 ...

  • 發佈於 2021-03-19 11:30
  • 閲讀 ( 57 )

什麼是離線影片編輯?如何在弱硬體上編輯4k影片

如果你有4K攝像頭或智慧**,那麼用4K質量拍攝所有影片是很有意義的。增加的解析度給你更多的選擇時,編輯你的鏡頭,它仍然會看起來很好的年代,1080p是老新聞。 ...

  • 發佈於 2021-03-24 17:07
  • 閲讀 ( 55 )

如何使用pydroid3在android上安裝和編寫python程式碼

... 無論您是Python程式設計新手還是專家,讓我們來看看您如何在Android裝置上充分發揮pydroid3的潛力。 ...

  • 發佈於 2021-03-30 03:41
  • 閲讀 ( 89 )

如何在linux上使用awk命令

在Linux上,awk是一種命令列文字操作生成器,也是一種功能強大的指令碼語言。下面介紹一些最酷的功能。 awk是怎麼得名的 awk命令的名字是使用1977年編寫原始版本的三個人的縮寫:阿爾弗雷德·阿霍、彼得·溫伯格和布萊恩·...

  • 發佈於 2021-04-02 15:02
  • 閲讀 ( 50 )

linux檔案時間戳:atime、mtime和ctime

...們談論Linux檔案時間戳時。在本指南中,我們將解釋系統如何更新它們,以及如何自己修改它們。 atime、mtime和ctime的區別 每個Linux檔案都有三個時間戳:訪問時間戳(atime)、修改時間戳(mtime)和更改時間戳(ctime)。 訪問時...

  • 發佈於 2021-04-02 16:01
  • 閲讀 ( 63 )

如何將linux主目錄移動到另一個驅動器

...業系統。 現在,在我們開始之前,去做個備份。 相關:如何備份Linux系統 識別驅動器 如果您剛剛將一個驅動器安裝到Linux計算機上,或者將Linux安裝到新的多驅動器計算機中的一個驅動器上,然後重新啟動,那麼幾乎沒有證據...

  • 發佈於 2021-04-03 02:48
  • 閲讀 ( 52 )

如何在linux上將ext2或ext3檔案系統遷移到ext4

...的Linux檔案系統,但是你不能面對這個問題嗎?下面介紹如何將ext2和ext3轉換為ext4,而不必完全重新安裝。 linux檔案系統 如果你有禮貌的話,你可以稱ext3檔案系統為“受人尊敬的”,就像2001年一樣。至於可憐的舊ext2,這個檔...

  • 發佈於 2021-04-03 11:00
  • 閲讀 ( 50 )
比例嘩啦啦啦123
比例嘩啦啦啦123

0 篇文章

作家榜

  1. admin 0 文章
  2. 孫小欽 0 文章
  3. JVhby0 0 文章
  4. fvpvzrr 0 文章
  5. 0sus8kksc 0 文章
  6. zsfn1903 0 文章
  7. w91395898 0 文章
  8. SuperQueen123 0 文章

相關推薦