Directory

我可以在 /lib/modules/ 中刪除所有最近的核心版本嗎

  • September 8, 2021

我看到在/lib/modules/我有 7 個與過時核心版本相關的目錄中,我可以完全刪除它們嗎?它不會做任何改變或傷害我的系統嗎?

$ ls /lib/modules
5.4.0-26-generic  5.4.0-31-generic  5.4.0-37-generic  5.4.0-40-generic
5.4.0-29-generic  5.4.0-33-generic  5.4.0-39-generic  5.4.0-42-generic
$ uname -r
5.4.0-42-generic # remove all directories without this kernel directory

你應該跑

dpkg -S /lib/modules/*

檢查是否有任何已安裝的軟體包與這些目錄匹配。您可以刪除上述任何目錄

dpkg-query: no path found matching pattern /lib/modules/...

對於仍然匹配包的目錄,您應該先刪除相應的包。如果您使用的是 Ubuntu,

sudo apt -get autoremove --purge

應該為您解決這個問題,但在確認刪除之前請注意它顯示的軟體包列表。

這是一個提煉@Stephen Kitt 發布的命令結果的單行程式碼

$ dpkg -S /lib/modules/* 2>&1 | grep "no path found matching pattern" | awk '{ print $NF }' | tr "\n" " "

獲取所有“目標”目錄的干淨列表,因此您可以將其與類似的東西連結起來

$ rmdir $(dpkg -S /lib/modules/* 2>&1 | grep "no path found matching pattern" | awk '{ print $NF }' | tr "\n" " ")

或更激進的

$ rm -rf $(dpkg -S /lib/modules/* 2>&1 | grep "no path found matching pattern" | awk '{ print $NF }' | tr "\n" " ")

現在這讓我想到了一個進一步的問題……

引用自:https://unix.stackexchange.com/questions/605806