/boot 分割槽空間不足時如何清理
Linux 中 /boot 是存放系統啟動檔案的地方,安裝 ubuntu 時單獨分割槽給 200M 足夠,但是系統核心更新後,老的核心依然儲存在 /boot 分割槽內,幾次升級後,就會提示 /boot 空間不足。
我們只要刪掉老的核心,將空間釋放出來就可以了。
先檢視系統當前使用的什麼版本的核心 uname -a
$ uname -a
Linux ubuntu-ThinkPad-Edge 4.8.0-38-generic #41-Ubuntu SMP Wed Feb 8 14:27:17 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
這裡顯示當前核心是 4.8.0-38
檢視系統中安裝已經安裝的核心 dpkg --get-selections | grep
Linux-image
$ dpkg --get-selections | grep linux-image
linux-image-4.8.0-22-generic deinstall
linux-image-4.8.0-34-generic install
linux-image-4.8.0-37-generic install
linux-image-4.8.0-38-generic install
linux-image-extra-4.8.0-22-generic deinstall
linux-image-extra-4.8.0-34-generic install
linux-image-extra-4.8.0-37-generic install
linux-image-extra-4.8.0-38-generic install
linux-image-generic install
- 1
- 2
- 3
- 4
- 5
- 7
後面顯示 deinstall 的表示已經刪除了的, install 表示沒有刪除的
這時可以看到除了當前的 4.8.0-38 之外,還有 4.8.0-34 4.8.0.37 這幾個過期的版本
刪除這幾個版本 sudo apt-get remove
linux-image-xxx
這裡的 xxx 就是上面過期版本的版本號
還有沒有刪除乾淨的內容可以用 sudo apt-get autoremove
來清理
執行完畢之後,可以看到 /boot 分割槽裡的空間又空出來了
在按照以上方法進行處理的時候,執行命令sudo apt-get purge 核心名稱 出現了以下錯誤:
正在讀取軟體包列表... 完成
正在分析軟體包的依賴關係樹
正在讀取狀態資訊... 完成
下列軟體包將被【解除安裝】:
linux-image-4.8.0-36-generic* linux-image-extra-4.8.0-36-generic
linux-signed-image-4.8.0-36-generic*
升級了 0 個軟體包,新安裝了 0 個軟體包,要解除安裝 3 個軟體包,有 110 個軟體包未被升級。
有 7 個軟體包沒有被完全安裝或解除安裝。
解壓縮後將會空出 234 MB 的空間。
您希望繼續執行嗎? [Y/n] y
(正在讀取資料庫 ... 系統當前共安裝有 261630 個檔案和目錄。)
正在解除安裝 linux-image-extra-4.8.0-36-generic (4.8.0-36.36~16.04.1) ...
run-parts: executing /etc/kernel/postinst.d/apt-auto-removal 4.8.0-36-generic /boot/vmlinuz-4.8.0-36-generic
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 4.8.0-36-generic /boot/vmlinuz-4.8.0-36-generic
update-initramfs: Generating /boot/initrd.img-4.8.0-36-generic
gzip: stdout: No space left on device
E: mkinitramfs failure cpio 141 gzip 1
update-initramfs: failed for /boot/initrd.img-4.8.0-36-generic with 1.
run-parts: /etc/kernel/postinst.d/initramfs-tools exited with return code 1
dpkg: 處理軟體包 linux-image-extra-4.8.0-36-generic (--remove)時出錯:
子程式 已安裝 post-removal 指令碼 返回錯誤狀態 1
在處理時有錯誤發生:
linux-image-extra-4.8.0-36-generic
E: Sub-process /usr/bin/dpkg returned an error code (1)
刪除舊的核心失敗,沒辦法,接著百度
子程式 已安裝 pre-removal 指令碼 返回了錯誤號 1或2 與 子程式 已安裝 post-installation 指令碼 返回了錯誤號 1或2
一、子程式 已安裝 pre-removal 指令碼 返回了錯誤號 1或2 解決辦法:
sudo gedit /var/lib/dpkg/status
找到Package: <package name>,比如Package: vsftpd
刪除這部分的描述,刪到下個Package: XXX前就好。存檔後,再進行操作就OK了。
二、子程式 已安裝 post-installation 指令碼 返回了錯誤號 1或2 解決辦法:
sudo rm /var/lib/dpkg/info/<package name>.*
比如sudo rm /var/lib/dpkg/info/vsftpd.*,存檔後,再進行操作就OK了
解決 在升級核心過程中安裝新版本核心系統依賴混亂問題,安裝時已存在,解除安裝不掉
子程式 已安裝 post-removal 指令碼 返回了錯誤號 1
在處理時有錯誤發生:
按照一的步驟進行操作
sudo gedit /var/lib/dpkg/status
找到Package: <package name>,比如Package: vsftpd刪除這部分的描述,刪到下個Package: XXX前就好這裡我出錯的地方是: linux-image-extra-4.8.0-36-generic , 所以ctrl F 搜尋到這一行,
刪除Package : linux-image-extra-4.8.0-36-generic 到下個Package: XXX前就好。強烈建議刪除前先備份一下/var/lib/dpkg/status 這個檔案,不起作用的話還能恢復原來的狀態。
相關文章
- boot分割槽剩餘空間不足boot
- Linux 清理boot分割槽Linuxboot
- win10分割槽磁碟空間不足怎麼回事_win10分割槽磁碟沒有足夠空間如何處理Win10
- oracle 表空間 不足時如何處理Oracle
- Linux空間不足怎麼辦?磁碟滿了如何清理?Linux
- windows10磁碟空間不足怎麼清理_win10磁碟空間清理的方法WindowsWin10
- 硬碟空間的管理和分割槽硬碟
- win10分割槽d盤空間太小怎麼調整_win10分割槽d盤空間太小如何擴大Win10
- Ubuntu空間不足,如何擴容Ubuntu
- Win10磁碟空間不足怎麼清理 電腦怎麼清理個人磁碟Win10
- ORACLE臨時表空間的清理Oracle
- 時間型分割槽欄位不走分割槽的解決
- win10c盤空間越來越小怎麼清理_win10c盤空間不足如何解決Win10
- 騰訊雲CVM主機在原分割槽(主分割槽)上增加磁碟空間
- oracle清理和重建臨時表空間Oracle
- partition 分割槽表移動到其他表空間
- 批量移動分割槽表到其他表空間
- 系統臨時表空間不足問題
- 虛擬機器Unbuntu如何修改硬碟空間大小(不需要分割槽)虛擬機硬碟
- var分割槽不足%15問題處理
- oracle partition分割槽_分割槽列為空測試(一)Oracle
- 程式的虛擬地址空間——NULL指標分割槽Null指標
- 虛擬塊硬碟,新增點swap分割槽空間(轉)硬碟
- 分割槽表對應的表空間遷移案例
- linux建立新分割槽擴充套件磁碟空間Linux套件
- LINUX下ORACLE軟體、資料檔案等所在的磁碟分割槽空間不足的解決思路LinuxOracle
- 雲伺服器空間不足如何解決?伺服器
- Jenkins臨時空間不足處理辦法Jenkins
- win10備份空間不足怎麼辦_win10備份空間不足如何處理Win10
- Linux空間不足怎麼辦?Linux磁碟滿了怎麼清理?Linux
- 如何檢查Mac磁碟空間,mac磁碟空間其他怎麼清理Mac
- 如何查詢分割槽表的分割槽及子分割槽
- ASM磁碟組空間不足ASM
- df命令顯示可以空間和已用空間之和不等於分割槽大小的原因
- Oracle 間隔分割槽Oracle
- oracle的表空間、分割槽表、以及索引的總結Oracle索引
- Win10硬碟空間如何自動清理Win10硬碟
- Oracle清理SYSAUX表空間OracleUX