溫馨提示×

Ubuntu如何清理舊的內核版本

小樊
57
2025-09-17 15:00:23
欄目: 智能運維

Ubuntu清理舊內核版本的步驟與注意事項

一、清理前的準備工作

  1. 確認當前正在使用的內核版本
    運行以下命令,獲取系統當前加載的內核版本(此版本絕對不能刪除):

    uname -r
    

    示例輸出:5.15.0-78-generic

  2. 查看已安裝的所有內核包
    使用以下命令列出系統中已安裝的內核相關包(包括鏡像、頭文件、模塊):

    dpkg --list | grep -E 'linux-image|linux-headers|linux-modules' | awk '{print $2}'
    

    輸出示例:

    linux-image-5.15.0-78-generic
    linux-image-5.15.0-76-generic
    linux-headers-5.15.0-78-generic
    linux-headers-5.15.0-76-generic
    

二、清理舊內核的具體方法

1. 自動清理(推薦,最安全)

Ubuntu的apt工具提供了自動識別并刪除未使用舊內核的功能,無需手動指定版本:

sudo apt update && sudo apt autoremove --purge

該命令會自動保留最新的1-2個內核(系統默認策略),刪除其余舊內核及關聯的配置文件、依賴包。

2. 手動指定刪除(精確控制)

若需手動選擇刪除的舊內核,可按以下步驟操作:

  • 刪除單個內核包:替換以下命令中的<版本號>為要刪除的內核版本(如5.15.0-76-generic),注意要連帶刪除對應的頭文件和模塊:
    sudo apt purge linux-image-<版本號>-generic linux-headers-<版本號>* linux-modules-<版本號>*
    
    示例(刪除5.15.0-76-generic內核):
    sudo apt purge linux-image-5.15.0-76-generic linux-headers-5.15.0-76* linux-modules-5.15.0-76*
    
  • 批量刪除所有舊內核:創建一個腳本文件(如kernel_clean.sh),內容如下:
    #!/bin/bash
    current_kernel=$(uname -r)
    sudo apt purge $(dpkg --list | grep -E 'linux-image|linux-headers|linux-modules' | awk '{print $2}' | grep -v "$current_kernel" | grep -v "linux-image-generic" | grep -v "linux-headers-generic")
    sudo apt autoremove --purge -y
    
    賦予執行權限并運行:
    chmod +x kernel_clean.sh
    sudo ./kernel_clean.sh
    

3. 使用腳本工具(Ubuntu 16.04+)

Ubuntu提供了purge-old-kernels腳本,可快速保留指定數量的舊內核(默認保留2個),刪除其余:

sudo apt install byobu  # 安裝byobu工具(包含purge-old-kernels腳本)
sudo purge-old-kernels --keep 2  # 保留2個舊內核,可根據需求調整數字

三、清理后的收尾工作

  1. 更新GRUB引導配置
    刪除舊內核后,需更新GRUB以確保系統能正常引導至保留的內核:

    sudo update-grub
    
  2. 清理殘留配置文件
    若存在孤立的配置文件(如已刪除內核的配置殘留),可使用以下命令徹底清理:

    sudo dpkg --purge $(dpkg -l | awk '/^rc/ {print $2}')
    
  3. 驗證清理結果

    • 檢查剩余內核:
      dpkg --list | grep -E 'linux-image|linux-headers'
      
    • 查看/boot分區空間(確認空間是否釋放):
      df -h /boot
      

四、關鍵注意事項

  • 絕對禁止刪除當前內核:若誤刪當前內核,系統將無法啟動,需通過Live CD或恢復模式修復。
  • 保留至少1個備用內核:建議保留1-2個舊內核,以防新內核出現兼容性問題(如驅動不支持)。
  • 提前備份重要數據:清理內核前,建議使用Timeshift等工具創建系統快照,以便出現問題時快速恢復。
  • 處理/boot分區滿的情況:若/boot分區空間不足(使用率超過90%),需先清理舊內核才能正常更新系統。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女