Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> 關於 Linux

Gentoo 系統與內核手動升級完整指南

編輯:關於 Linux

Gentoo 作為原始碼發佈版,其升級過程極具彈性但也相對複雜。當自動升級機制失效或需要精確控制版本時,掌握手動升級系統與內核的完整流程至關重要。本文將系統化梳理從 Portage 同步到內核編譯、引導配置、系統重構與依賴清理的全過程,並附上關鍵參數解析與風險提示。

一、內核升級流程

1. 同步 Portage 樹

emerge --sync

更新本地軟體倉庫元數據,確保獲取最新的內核源碼版本資訊。亦可編寫定時腳本自動化此步驟。

2. 搜尋並安裝新內核源碼

emerge -s sources
emerge -avq gentoo-sources

-s 搜尋可用內核套件,-avq 顯示詳細資訊並詢問確認後安裝。輸出範例:

[ebuild  NS ] sys-kernel/gentoo-sources-3.10.4 [3.9.0] USE="-build -deblob -symlink"

3. 進入源碼目錄並配置編譯

cd /usr/src/linux-3.10.4-gentoo
make -j5 menuconfig          # 圖形化配置介面,依硬體啟用所需模組
make -j5 && make install modules_install

-j5 指定 5 線程並行編譯,依 CPU 核心數調整(建議核心數 +1)。make install 會將 vmlinuz、System.map、config 複製至 /boot,並自動生成 initramfs(若啟用 initramfs 支援)。

4. 更新 GRUB 引導配置

vim /boot/grub/grub.conf

新增內核啟動項,關鍵字段說明:

default 1                    # 預設啟動第 2 項(索引從 0 開始)
timeout 5                    # 等待 5 秒
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
title Gentoo 3.10.4          # 選單顯示名稱
root (hd0,0)                 # /boot 所在分區
kernel /boot/vmlinuz-3.10.4-gentoo ro root=/dev/sda1 rootfstype=ext4 quiet

注意:root= 需指向真實根分區,ro 以唯讀掛載啟動,quiet 抑制啟動日誌輸出。

Gentoo 升級流程示意圖

二、系統完整升級(World 重構)

1. 更新核心工具鏈

emerge -avq portage   # 確保 Portage 本身最新
emerge -avq python    # 更新 Python 解釋器
/usr/sbin/update-python  # 或 python-updater,重建 Python 模組連結

2. 執行深度系統重構

emerge -avquDN world

參數詳細含義:

參數完整形式作用
-a--ask顯示將變更的套件清單並詢問確認
-v--verbose輸出完整編譯日誌與檔案列表
-u--update升級至最佳版本(而非單純重裝)
-D--deep遞歸處理所有依賴,而非僅顯式安裝套件
-N--newuse檢測 USE 旗標變更觸發的重編譯需求

此命令會依據 /var/lib/portage/world 重新編譯整個系統,耗時極長,建議在 screen 或 tmux 會話中執行。

3. 清理孤立套件與修復依賴

emerge -av --depclean        # 移除不再被任何套件依賴的「孤兒」套件
revdep-rebuild               # 檢查動態庫依賴斷裂並自動重建受影響套件(屬 gentoolkit)
perl-cleaner --all -- -avq   # 專門處理 Perl 模組路徑與版本衝突

4. 更新配置檔與閱讀新聞

dispatch-conf        # 互動式合併 /etc 下的配置檔更新(._cfg0000_* 檔案)
eselect news read all # 閱讀 Gentoo 官方發佈的重要安全/遷移公告

5. 可選:本地全量重編譯

# emerge -e world  # 重新編譯 world 所有套件,極度耗時,通常僅在 GCC/glibc 重大升級後需要

關鍵風險提示與最佳實踐

  • 備份先行:升級前備份 /etc、/var/lib/portage/world、內核 .config 及 /boot 關鍵檔案。
  • 分階段驗證:先升級內核並驗證啟動,再執行 world 重構;若內核啟動失敗,可從 GRUB 選單回退舊內核。
  • 關注 USE 旗標變更:-N 參數會觸發大量重編譯,若磁碟空間或時間有限,可先用 emerge -pvquDN world 預覽變更規模。
  • 避免盲目追新:最新版內核/套件可能引入回歸錯誤,生產環境建議鎖定 LTS 分支或經過測試的版本。
  • 記錄升級日誌:使用 script 或重定向輸出保存完整編譯日誌,便於事後排查。

遵循本指南的標準化流程,配合謹慎的驗證與回滾預案,即可安全完成 Gentoo 系統與內核的手動升級,保持系統處於最佳狀態。

Copyright © Windows教程網 All Rights Reserved