? ?
前幾天,我收到警告,引導分區幾乎已滿或沒有剩余空間。是的,我有一個單獨的啟動分區,我相信現在沒有多少人這樣做。
這是我第一次看到這樣的錯誤,這讓我感到困惑。現在,有幾種方法可以釋放Ubuntu(或基于Ubuntu的發行版)上的空間,但是在這種情況下,并非所有方法都有用。
這就是為什么我決定寫一些關于釋放/ boot分區中的空間的步驟的原因。
我建議您仔細閱讀解決方案,并遵循最適合您情況的解決方案。這很容易,但是您需要對在生產系統上執行其中一些操作保持謹慎。
您無需成為終端專家即可執行此操作,這只是一個命令,并且您將刪除未使用的內核以釋放/ boot分區中的空間。
您要做的就是輸入:
sudo apt autoremove
這不僅會刪除未使用的內核,還會擺脫您不需要或不需要的已安裝任何工具所依賴的依賴項。
輸入命令后,它將列出將要刪除的內容,您只需確認操作即可。如果您好奇,可以仔細檢查一下,看看它實際上刪除了什么。
這是它的樣子:
您必須按Y才能繼續。
值得注意的是,該方法僅在您只剩一點點空間并且收到警告時才有效。但是,如果/ boot分區已滿,則APT可能甚至無法工作。
在下一個方法中,我將重點介紹兩種不同的方式,您可以通過兩種方式使用GUI和終端刪除舊內核以釋放空間。
在嘗試刪除任何較舊的內核以釋放空間之前,需要確定當前的活動內核,并確保不要刪除該內核。
要檢查您的內核版本,請在終端中輸入以下命令:
uname -r
該uname命令通常用來獲取Linux系統的信息。在這里,此命令顯示當前使用的Linux內核。它看起來應該像這樣:
現在,您知道當前的Linux內核是什么,只需刪除與該版本不匹配的Linux內核即可。您應該在某處記下它,以確保不會意外刪除它。
接下來,要刪除它,您可以使用終端或GUI。
警告!
刪除內核時要格外小心。僅識別和刪除舊內核,而不是當前使用的內核,否則您的系統將損壞。
您可以使用Synaptic軟件包管理器或Stacer之類的工具開始使用。就個人而言,當我遇到一個完整的/ boot分區且apt損壞時,我使用Stacer擺脫了較舊的內核。所以,讓我向您展示一下。https://fdbe3af2b5f90e9ca80c9c343780675d.safeframe.googlesyndication.com/safeframe/1-0-37/html/container.html?upapi=true
首先,您需要啟動“ Stacer ”,然后導航到軟件包卸載程序,如下面的屏幕快照所示。
在這里,搜索“ image ”,您將找到您擁有的Linux內核的圖像。您只需要刪除舊的內核版本,而不是當前的內核映像即可。
在上面的屏幕快照中,我已經指出了當前的內核和舊的內核,因此您必須小心系統上的內核版本。
您不必刪除其他任何內容,而只需刪除較舊的內核版本。
同樣,只需在軟件包列表中搜索“ header ”,然后刪除舊的標題,如下所示。
只是警告您,您不想刪除“ linux-headers-generic”。只關注那些帶有版本號的版本。
就是這樣,您將完成操作,并且apt將再次工作,并且您已經成功從/ boot分區中釋放了一些空間。同樣,您可以使用其他任何熟悉的軟件包管理器來執行此操作。
這是同一件事,只是使用終端。因此,如果您沒有使用GUI的選項(如果它是遠程計算機/服務器),或者您只是對終端感到滿意,則可以按照以下步驟操作。
首先,使用以下命令列出所有已安裝的內核:
ls -l /boot
它看起來應該像這樣:
提到的“舊”或與當前內核版本不匹配的是可以刪除的未使用的內核。
現在,您可以使用rm命令,使用以下命令(從單個命令中刪除每個內核)從引導分區中刪除特定內核:
sudo rm /boot/vmlinuz-5.4.0-7634-generic
確保檢查系統的版本-您的系統可能有所不同。
如果您有很多未使用的內核,這將需要一些時間。因此,您還可以使用以下命令擺脫多個內核:
sudo rm /boot/*-5.4.0-{7634}-*
為了清楚起見,您需要編寫以逗號分隔的內核版本的最后部分/代碼,以一次將其全部刪除。
假設我有兩個舊的內核5.4.0-7634-generic和5.4.0-7624,命令將是:
sudo rm /boot/*-5.4.0-{7634,7624}-*
如果您不想在grub引導菜單中看到舊的內核版本,則可以使用以下命令簡單地更新grub:
sudo update-grub
而已。你完成了。您已經釋放了空間,并且還可能解決了損壞的APT,如果在/ boot分區填滿后出現問題的話。
在某些情況下,您可能需要輸入以下命令來修復損壞的apt(如我在論壇中所注意到的):
sudo dpkg --configure -a
sudo apt install -f
請注意,除非發現APT損壞,否則無需輸入上述命令。就個人而言,我不需要這些命令,但我在論壇上找到了它們非常方便。