要降級apt軟件包,最直接的方法是使用 apt-get install 指定具體版本號,但需注意以下關(guān)鍵步驟:1. 先用 apt-cache policy 包名 查看目標(biāo)版本是否存在;2. 若存在,則執(zhí)行 sudo apt-get install 包名=版本號 進行安裝;3. 為防止下次更新恢復(fù)高版本,可用 sudo apt-mark hold 包名 鎖定當(dāng)前版本;此外需注意依賴沖突、版本不可用等問題,必要時可修改源或手動安裝deb包。
想降級APT軟件包,最直接的方法就是通過 apt-get install 指定具體版本號。但操作時有幾個關(guān)鍵點需要注意,否則容易出錯或達不到預(yù)期效果。
查看可用版本
在降級之前,你得先知道你想安裝的舊版本是否存在,并且被系統(tǒng)識別。可以用下面這個命令查看某個軟件包的所有可用版本:
apt-cache policy 包名
比如你想看看 nginx 都有哪些版本可裝:
apt-cache policy nginx
輸出中會列出所有可用版本,包括當(dāng)前默認要裝的版本(Installed 和 Candidate),以及其他可用版本(Versions)。如果目標(biāo)版本不在里面,說明你的源里沒有這個版本,這時候要么換源,要么下載deb文件手動裝。
使用 apt-get install 指定版本
確認你要的版本存在后,就可以用如下命令安裝指定版本了:
sudo apt-get install 包名=版本號
比如:
sudo apt-get install nginx=1.18.0-0ubuntu1
執(zhí)行這個命令的時候,APT 會嘗試安裝你指定的版本。但注意:如果依賴關(guān)系發(fā)生變化,老版本可能無法滿足當(dāng)前系統(tǒng)的依賴要求,這時候就會報錯,提示某些依賴不能滿足。
避免自動升級到高版本
如果你成功降級了某個包,但不希望它下次系統(tǒng)更新時又被升回去,就需要“鎖定”它的版本。可以通過以下方式實現(xiàn):
方法一:使用 apt-mark hold
sudo apt-mark hold 包名
例如:
sudo apt-mark hold nginx
這樣之后,系統(tǒng)在執(zhí)行 upgrade 的時候就不會動這個包了。
方法二:修改 /etc/apt/preferences.d/
你可以在這個目錄下創(chuàng)建一個文件,添加 Pin 設(shè)置來控制特定版本優(yōu)先級。這種方式適合更復(fù)雜的場景,一般用戶用第一種就夠了。
注意事項和常見問題
- 版本不存在:如果輸入的版本號不存在,APT 會提示找不到該版本。
- 依賴沖突:降級可能導(dǎo)致依賴鏈斷裂,尤其是核心庫或服務(wù)組件。
- Hold 狀態(tài)查詢:可以用 apt-mark showhold 來查看目前被鎖定的包。
- 恢復(fù)升級權(quán)限:不想再鎖定了,可以用 apt-mark unhold 包名 解鎖。
基本上就這些。只要記得查版本、裝版本、鎖版本這三步,就能穩(wěn)定地完成APT包的降級操作了。