Directory
我可以在 /lib/modules/ 中刪除所有最近的核心版本嗎
我看到在
/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" " ")
現在這讓我想到了一個進一步的問題……