如何在 Linux 上釋放 inode 使用量?


**inode**(也稱為**索引節點**)是一種資料結構,用於描述檔案系統物件,通常儲存在檔案系統目錄中。

我們可以藉助以下命令檢查本地機器上存在的不同**inode**的大小:

df -

上述命令稱為**df**命令,它是一個 Linux 實用程式命令,用於獲取磁碟上可用空間的詳細資訊。

執行上述命令後,您可能會看到類似以下的輸出:

immukul@192 ~ % df -i
Filesystem 512-blocks Used Available Capacity iused ifree
/dev/disk1s5s1 236568496 44429928 45432792 50% 559993 1182282487
devfs 377 377 0 100% 652 0
/dev/disk1s4 236568496 6293880 45432792 13% 4 1182842476

在輸出中我們可以注意到,一個驅動器(即**devfs**)已完全使用,在這種情況下,我們將無法向其中寫入任何新內容。

現在我們希望釋放該 inode 使用量,以便以後使用。

為此,我們可以建立一個 shell 指令碼來執行此操作,或者可以執行以下命令:

首先,使用以下命令查詢 inode 使用量大的根資料夾:

for d in /*; do echo $d; find $d |wc -l; done

上述命令需要一些時間,但它會列印 inode 使用量大的根資料夾。如果您已經知道 inode 使用量大的目錄,則可以使用以下命令替換上述命令:

for d in /devfs; do echo $d; find $d |wc -l; done

現在您只需要刪除 linux-headers 來釋放一些空間。為此,只需執行以下命令:

sudo apt-get autoremove linux-headers-x.x

將**x.x**替換為先前版本的 linux-headers,然後您就完成了。

輸出

immukul@192 ~ % df -i
Filesystem 512-blocks Used Available Capacity iused ifree
/dev/disk1s5s1 236568496 44429928 45432792 50% 559993 1182282487
devfs 277 277 0 74% 652 0
/dev/disk1s4 236568496 6293880 45432792 13% 4 1182842476

另一種方法是使用以下命令,它可以幫助我們實現相同的結果。

只需在終端中鍵入以下命令:

sudo find . -xdev -type file | cut -d "/" -file 2 | sort | uniq -c | sort -n

輸出

immukul@192 ~ % df -i
Filesystem 512-blocks Used Available Capacity iused ifree
/dev/disk1s5s1 236568496 44429928 45432792 50% 559993 1182282487
devfs 207 207 0 63% 652 0
/dev/disk1s4 236568496 6293880 45432792 13% 4 1182842476

更新於: 2021-07-29

3K+ 瀏覽量

開啟您的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.