Linux 系統管理員日常工作中需要使用大量的指令來進行系統維護和管理。本文提供的指令集涵蓋了硬體資訊檢視、檔案系統操作、磁碟分割區管理、系統狀態監控以及邏輯卷管理等多個方面,方便工程師快速查詢和使用。這些指令不僅可以幫助管理員瞭解系統的執行狀態,還可以進行必要的調整和最佳化,確保系統的穩定性和高效性。對於 LVM 的部分,文章著重介紹了邏輯卷的建立、修改、移除等操作,以及如何利用 LVM 進行儲存空間的彈性管理,這對於需要動態調整儲存容量的系統來說至關重要。

Linux 系統管理與維護指令大全

Linux 系統提供了豐富的指令工具,用於系統管理、硬體偵測、儲存裝置管理等。以下將介紹一系列常用的 Linux 指令,並提供範例與詳細說明。

硬體偵測與資訊顯示

lshw:顯示硬體資訊

lshw 指令用於顯示系統的硬體資訊,包括網路介面、儲存裝置等。

# 顯示硬體資訊
lshw

# 以 HTML 格式顯示網路介面資訊
lshw -html -class network

# 停用 DMI 偵測硬體
lshw -disable dmi

內容解密:

  • lshw 指令預設顯示系統的詳細硬體資訊。
  • 使用 -html 引數可將輸出格式化為 HTML,方便在網頁上顯示。
  • -class network 指定只顯示網路介面的資訊。
  • -disable dmi 引數用於停用 DMI(Desktop Management Interface)偵測硬體,有時用於解決某些硬體偵測問題。

相關指令:lscpulshallspcilsusb

lspci:顯示 PCI 匯流排資訊

lspci 指令用於顯示系統中 PCI 匯流排及連線裝置的資訊。

# 以樹狀結構顯示 PCI 裝置資訊
lspci -tv

內容解密:

  • lspci 指令列出系統中的 PCI 裝置。
  • -tv 引數以樹狀檢視顯示,方便理解裝置之間的關係。

相關指令:lscpulshallshwlsusb

lsusb:顯示 USB 匯流排資訊

lsusb 指令用於顯示系統中 USB 匯流排及連線裝置的資訊。

# 以樹狀結構顯示 USB 裝置資訊
lsusb -tv

內容解密:

  • lsusb 指令用於列出系統中的 USB 裝置。
  • -tv 引數以樹狀結構顯示,方便檢視裝置層級關係。

相關指令:lscpulshallshwlspci

檔案系統與儲存管理

mkfs:建立檔案系統

mkfs 指令用於在儲存裝置上建立 Linux 檔案系統。

# 在 /dev/sda 上建立 ext4 檔案系統
mkfs -t ext4 /dev/sda

內容解密:

  • mkfs 是用來建立檔案系統的指令。
  • -t ext4 指定要建立的檔案系統型別為 ext4。
  • /dev/sda 是目標裝置路徑。

相關指令:mkfs.bfsmkfs.cramfsmkfs.fatmkfs.minixmkfs.xfs

磁碟分割區管理

parted:磁碟分割區管理程式

parted 是一個用於管理磁碟分割區的工具,支援多種分割區表格格式,如 MS-DOS 和 GPT。

# 使用 parted 操作 /dev/sda
(parted) select /dev/sda

內容解密:

  • parted 是一個互動式的磁碟分割區管理工具。
  • 使用 select /dev/sda 可選擇要操作的磁碟裝置。

相關指令:addpartdelpartfdiskpartprobepartx

其他儲存相關指令

wipefs:清除裝置簽名

wipefs 用於清除儲存裝置上的檔案系統簽名,使其對 libblkid 不可見。

# 清除 /dev/sda 上的簽名
wipefs /dev/sda

內容解密:

  • wipefs 用於清除裝置上的檔案系統或分割區表格簽名。
  • 操作前需謹慎,因為這將使資料難以被辨識,但不會立即刪除資料。

相關指令:blkidfindfs

系統狀態監控

stat:顯示檔案或檔案系統狀態

stat 指令用於顯示檔案或檔案系統的詳細狀態資訊。

# 顯示 /dev 的狀態資訊
stat /dev

內容解密:

  • stat 用於顯示檔案或檔案系統的狀態。
  • 輸出包含檔案大小、inode 號碼、許可權等詳細資訊。

邏輯卷管理(LVM)指令詳解

邏輯卷管理(Logical Volume Management,LVM)是一種抽象化多個區塊儲存裝置物理特性,使其表現為單一較大區塊裝置的技術。這樣就可以將大型的磁碟分割成較小的邏輯卷。

LVM 也用於克服傳統儲存分割區的限制。例如,LVM 卷可以擴充套件、跨越多個裝置、建立快照分割區,以及在磁碟之間移動卷。

lvchange 指令

lvchange 指令用於更改邏輯卷的屬性。

使用範例:

將卷組 vg00 中的邏輯卷 lvol1 的許可權更改為唯讀:

# lvchange -pr vg00/lvol1

內容解密:

  • -pr 引數表示將邏輯卷設為唯讀。
  • vg00/lvol1 指定了要修改的邏輯卷。

lvconvert 指令

lvconvert 指令用於將線性邏輯卷轉換為映象或快照。

使用範例:

  1. 將線性邏輯卷 vg00/lvol1 轉換為雙向映象邏輯卷:

    # lvconvert -m1 vg00/lvol1
    

    內容解密:

    • -m1 表示新增一個映象,從而形成雙向映象組態。
    • vg00/lvol1 是要轉換的邏輯卷。
  2. 將線性邏輯卷 vg00/lvol1 轉換為 RAID1 邏輯卷:

    # lvconvert --type raid1 -m1 vg00/lvol1
    

    內容解密:

    • --type raid1 指定轉換後的邏輯卷型別為 RAID1。
    • -m1 表示新增一個映象,總共形成兩個映象裝置。

lvcreate 指令

lvcreate 指令用於在現有的卷組中建立邏輯卷。

使用範例:

建立一個大小為 100MB、具有 3 個條帶、條帶大小為 8KB 的條帶邏輯卷在卷組 vg00 中:

# lvcreate -i 3 -I 8 -L 100M vg00

內容解密:

  • -i 3 指定條帶數量為 3。
  • -I 8 指定條帶大小為 8KB。
  • -L 100M 指定邏輯卷大小為 100MB。
  • vg00 是目標卷組。

lvdisplay 指令

此處原檔案內容似乎與 lvchange 重複,實際上 lvdisplay 用於顯示邏輯卷的屬性。

lvextend 指令

lvextend 指令用於擴充套件邏輯卷的大小。

使用範例:

將邏輯卷 vg01/lvol10 的大小擴充套件 54MB,使用物理卷 /dev/sdk3

# lvextend -L +54 /dev/vg01/lvol10 /dev/sdk3

內容解密:

  • -L +54 表示增加 54MB 的空間。
  • /dev/vg01/lvol10 是要擴充套件的邏輯卷。
  • /dev/sdk3 是用於擴充套件的物理卷。

lvmchange 與 lvmconf 指令

  • lvmchange 用於更改 LVM 的屬性,但目前在 LVM2 下不支援。
  • lvmconf 用於顯示載入 lvm.conf 及其他組態檔案後的組態資訊。

使用範例:

# lvmconf --enable-cluster

內容解密:

  • --enable-cluster 用於啟用叢集組態。

LVM 指令集詳解與實務應用

LVM(Logical Volume Manager)是一種靈活的磁碟管理工具,允許使用者動態調整儲存空間。以下將探討多個重要的 LVM 指令及其應用場景。

lvmconf:修改 LVM 設定檔中的鎖定設定

lvmconf 是一個用於修改 /etc/lvm/lvm.conf 設定檔中鎖定設定的指令碼。它主要用於調整 LVM 的鎖定機制,以滿足不同的系統需求。

內容解密:

  • lvmconf 的主要功能是修改 LVM 設定檔中的鎖定型別。
  • 鎖定設定對於多節點叢集環境中的 LVM 管理至關重要。

lvmdiskscan:掃描系統中的 LVM 物理卷

lvmdiskscan 用於掃描系統中的所有儲存裝置,以尋找 LVM 物理卷。

使用範例:

# lvmdiskscan

內容解密:

  • lvmdiskscan 會列出系統中所有可用的儲存裝置。
  • 它有助於識別哪些裝置已被用作 LVM 物理卷。

lvmdump:建立 LVM 資訊轉儲檔案

lvmdump 用於建立 LVM 資訊的轉儲檔案,以便於故障診斷。

使用範例:

# lvmdump -d /path/to/directory

內容解密:

  • lvmdump 會建立一個包含 LVM 相關資訊的 tarball 檔案。
  • 該檔案可用於提交問題報告或進行故障分析。

lvreduce:縮減邏輯卷大小

lvreduce 用於縮減邏輯卷的大小。

使用範例:

# lvreduce -l -3 vg00/lvol1

內容解密:

  • 使用 lvreduce 前,必須先縮減邏輯捲上的檔案系統大小。
  • 否則,可能會導致資料遺失。

lvremove:移除邏輯卷

lvremove 用於移除指定的邏輯卷。

使用範例:

# lvremove -f vg00/lvol1

內容解密:

  • lvremove 會刪除指定的邏輯卷及其相關的快照。
  • 在叢集環境中,必須先在所有節點上停用邏輯卷,才能進行移除。

lvrename:重新命名邏輯卷

lvrename 用於重新命名邏輯卷。

使用範例:

# lvrename /dev/vg02/lvold vg02/lvnew

內容解密:

  • lvrename 可以更改邏輯卷的名稱,而無需更改其內容。
  • 這對於邏輯卷的管理和識別非常有用。

lvresize:調整邏輯卷大小

lvresize 用於調整邏輯卷的大小,可以擴充套件或縮減。

使用範例:

# lvresize -L+16M vg1/lv1 /dev/sda:0-1 /dev/sdb:0-1

內容解密:

  • 擴充套件邏輯卷時,可以指定使用特定的物理範圍。
  • 縮減邏輯卷時,必須先縮減其上的檔案系統大小,以避免資料遺失。

lvs:報告邏輯卷資訊

lvs 用於報告系統中邏輯卷的相關資訊。

使用範例:

# lvs --all

內容解密:

  • lvs 可以列出所有邏輯卷的詳細資訊。
  • 它對於監控和管理邏輯卷非常有用。

pvchange:修改物理卷屬性

pvchange 用於修改物理卷的屬性。

使用範例:

# pvchange -x n /dev/sdk1

內容解密:

  • pvchange 可以更改物理卷的分配屬性。
  • 這對於管理物理卷的使用方式非常有用。

pvck:檢查物理卷的中繼資料

pvck 用於檢查物理卷的中繼資料完整性。

使用範例:

# pvck --labelsector 204800 /dev/sda

內容解密:

  • pvck 可以檢查物理卷的中繼資料是否損壞。
  • 這對於診斷物理卷相關問題非常有用。

pvcreate:初始化物理卷

pvcreate 用於初始化磁碟或分割區為 LVM 物理卷。

使用範例:

# pvcreate /dev/sdc4 /dev/sde

內容解密:

  • pvcreate 將指定的磁碟或分割區初始化為 LVM 物理卷。
  • 這是使用 LVM 管理儲存空間的第一步。

pvmove:移動物理範圍

pvmove 用於將物理範圍從一個物理卷移動到另一個物理卷。

使用範例:

# pvmove /dev/sdb1 /dev/sdc1

內容解密:

  • pvmove 可以將資料從一個物理卷遷移到另一個物理卷。
  • 這對於維護和升級儲存裝置非常有用。

vgcfgbackup:備份 Volume Group 描述區

vgcfgbackup 用於備份 Volume Group 的描述區。

使用範例:

# vgcfgbackup /dev/vg-01

內容解密:

  • vgcfgbackup 將 Volume Group 的組態資訊備份到檔案中。
  • 這對於 Volume Group 的還原和管理非常重要。

邏輯卷管理(LVM)指令詳解與CUPS列印系統介紹

邏輯卷管理(LVM, Logical Volume Manager)是Linux系統中用於管理儲存裝置的重要工具,提供彈性的磁碟管理功能。以下將詳細介紹多個與LVM相關的指令及其應用場景,並簡要介紹CUPS列印系統。

LVM指令詳解

1. vgchange

功能:變更Volume Group(VG)的屬性,如啟用或停用VG。 範例# vgchange -l 128 /dev/vg00,設定vg00的最大邏輯卷數量為128。 相關指令:lvm, vgcreate。

2. vgck

功能:檢查Volume Group的metadata是否正確。 範例# vgck,檢查所有VG的metadata。 相關指令:lvm, vgchange, vgscan。

3. vgconvert

功能:轉換Volume Group的metadata格式。 範例# vgconvert -M2 vg1,將vg1從LVM1格式轉換為LVM2格式。 相關指令:lvm, pvcreate, vgcfgrestore。

4. vgcreate

功能:建立新的Volume Group。 範例# vgcreate example_vg /dev/sdk1 /dev/sdl1,使用/dev/sdk1和/dev/sdl1建立名為example_vg的VG。 相關指令:lvm, pvdisplay, pvcreate。

5. vgdisplay

功能:顯示Volume Group的屬性。 範例# vgdisplay -v vg01,詳細顯示vg01的屬性。 相關指令:lvm, pvcreate, vgcreate。

6. vgexport

功能:使Volume Group對核心不可見,以便於將其匯出到其他系統。 範例# vgexport example_vg,將example_vg匯出。 相關指令:lvm, vgimport, vgscan。

7. vgextend

功能:向Volume Group中新增Physical Volume。 範例# vgextend vg00 /dev/sda4 /dev/sdn1,將/dev/sda4和/dev/sdn1新增到vg00。 相關指令:lvm, vgcreate, vgreduce。

8. vgimport

功能:匯入先前匯出的Volume Group,使其對核心可見。 範例# vgimport example_vg /dev/sdb1 /dev/sdb2,匯入example_vg。 相關指令:lvm, pvscan, vgexport。

9. vgimportclone

功能:匯入並重新命名複製的Volume Group。 範例# vgimportclone --basevgname vg00_snap /dev/sdc /dev/sdd,將vg00的複製VG重新命名為vg00_snap。

內容解密:

此指令主要用於處理硬體快照後的VG匯入工作,透過指定新的名稱和相關的PV來完成重新命名和UUID變更,確保新舊VG之間不會發生衝突。這個過程涉及調整VG名稱、變更UUID以及確保系統能夠正確識別和管理新的VG。

10. vgmerge

功能:合併兩個Volume Group。 範例# vgmerge -v databases my_vg,將my_vg合併到databases。

內容解密:

vgmerge指令允許管理員將一個VG合併到另一個VG中,這在需要簡化VG管理或合併儲存資源時非常有用。合併過程中需要注意目標VG的容量和名稱衝突等問題。

11. vgmknodes

功能:重新建立Volume Group目錄和邏輯卷的特殊檔案。

內容解密:

vgmknodes主要用於檢查和修復/dev下LVM相關的特殊檔案,確保邏輯卷的正常使用。它會建立遺失的檔案並移除未使用的檔案,從而維護系統的一致性。

12. vgreduce

功能:從Volume Group中移除Physical Volume。

內容解密:

vgreduce允許管理員從VG中移除未使用的PV,以最佳化儲存組態或進行硬體維護。在執行此操作時,需要確保被移除的PV不再被任何邏輯卷使用,以避免資料遺失。

13. vgremove

功能:移除Volume Group。

內容解密:

vgremove用於刪除整個VG及其相關的邏輯卷。在執行刪除操作前,需要確保VG中的資料已經備份或不再需要,以避免不可逆的資料遺失。

14. vgrename

功能:重新命名Volume Group。

內容解密:

vgrename提供了重新命名VG的功能,使得管理員可以根據需要更改VG的名稱,以更好地組織和管理儲存資源。

15. vgs

功能:報告Volume Group的資訊。

內容解密:

vgs指令提供了快速檢視VG資訊的功能,包括VG名稱、大小、空閒空間等關鍵資訊,有助於快速評估儲存資源的使用狀況。

16. vgscan

功能:掃描所有磁碟以尋找Volume Group並重建快取。

內容解密:

vgscan主要用於掃描系統中的儲存裝置,以識別和更新LVM的快取資訊。這在新增或移除儲存裝置後尤其有用,能夠確保LVM組態的正確性。

17. vgsplit

功能:將一個Volume Group分割成兩個。

內容解密:

vgsplit允許管理員根據需要將一個VG分割成多個獨立的VG,這在需要重新組織儲存資源或隔離不同應用的資料時非常有用。

CUPS列印系統簡介

CUPS(Common UNIX Printing System)是Linux系統中預設的列印管理系統,提供了一個統一的介面來管理列印任務。無論是本地列印還是網路列印,CUPS都能夠提供良好的支援。

安裝CUPS

要安裝CUPS,可以使用以下指令:

apt-get install cups cups-client lpr

安裝完成後,可以透過網頁介面進行CUPS的管理,存取 http://localhost:631/即可進入CUPS的管理頁面。同時,也提供了線上幫助系統,存取 http://localhost:631/help可以獲得更多使用上的幫助。