簡介
如果你在管理 SUSE 15 機器,可能會遇到一個令人頭疼的問題:儲存庫無法重新整理,SUSEConnect 將所有產品顯示為「Not Registered」。這個問題可能導致無法安裝套件,並擾亂你的正常運維。雖然 SUSE 的公開文件提供了排查步驟,但它們並不總能解決問題。本指南將帶你了解症狀、排查步驟以及一個經過驗證的緩解策略,幫你修復 SUSE 15 儲存庫和註冊問題。
問題症狀
你可能會在 SUSE 15 機器上注意到以下症狀:
- Zypper 重新整理失敗:系統找不到任何儲存庫。
- SUSEConnect 狀態:執行
SUSEConnect --status會將所有產品顯示為「Not Registered」。
這些症狀可能看起來像常見的註冊或連線問題,但常規的排查步驟無法解決這個特定問題。
排查步驟
1. 驗證基本連線和註冊
先從 SUSE 文件中概述的基本排查步驟開始:
- 執行:
SUSEConnect --cleanup
registercloudguest --force-new
SUSEConnect --status
- 使用
sc-repocheck.py指令碼檢查連線:
python3 <(curl --location --silent https://raw.githubusercontent.com/rfparedes/susecloud-repocheck/main/sc-repocheck.py)
如果這些步驟都失敗了,你很可能遇到了一個與過期註冊套件有關的已知問題。
緩解策略
要解決這個問題,你需要在有問題的機器上手動更新註冊套件。具體方法如下:
步驟 1:從一台正常機器中擷取註冊套件
- 在一台相同 Service Pack (SP) 且運作正常的 SUSE 機器上,執行以下命令:
zypper --pkg-cache-dir /tmp/ts/packages/ download cloud-regionsrv-client cloud-regionsrv-client-plugin-azure regionServiceClientConfigAzure python3-azuremetadata SUSEConnect python3-cssselect python3-toml python3-lxml python3-M2Crypto python3-zypp-plugin
mkdir /tmp/ts/rpms
find /tmp/ts/packages/ -type f -name "*.rpm" -exec cp {} /tmp/ts/rpms/ \;
cd /tmp/ts/
tar -czvf suse-sp4-public-registration.tgz rpms
- 完成後,刪除暫存資料夾:
rm -rf /tmp/ts
步驟 2:在有問題的機器上複製並安裝套件
- 將
suse-sp4-public-registration.tgz檔案傳輸到有問題的機器。 - 解壓縮檔案:
tar xvfz suse-sp4-public-registration.tgz
cd rpms
- 安裝套件:
zypper --no-refresh --no-remote install *.rpm
- 出現提示時,選擇 選項 2,然後選擇 是。
- 執行以下命令來清理並重新註冊系統:
SUSEConnect --cleanup
registercloudguest --force-new
SUSEConnect --status
步驟 3:重新整理儲存庫
最後,重新整理儲存庫以確保一切正常:
zypper refresh
其他說明
- 做好預防措施:在進行變更之前,務必建立作業系統磁碟快照。
- 保持套件更新:過期的套件往往是這些問題的根本原因。建議客戶定期更新系統。
- 已終止支援的產品:大多數情況涉及 SUSE 15 SP2、SP3 和 SP4,這些版本已終止支援。客戶應確認自己是否擁有長期 Service Pack 支援 (LTSS)。
有關產品生命週期的更多詳情,請參閱 SUSE 產品支援生命週期。
結論
SUSE 15 儲存庫和註冊問題可能很難處理,尤其是在標準排查步驟無效時。透過手動更新註冊套件,你可以解決這個問題,並恢復系統安裝套件的能力。
如果你覺得本指南有幫助,請分享給你的同事,或加入書籤以備日後參考。想了解更多技巧和排查指南,請訂閱我們的電子報,或在下方留言!