降級軟體包

出自 Arch Linux 中文维基

在決定降級之前,請小心考慮。如果是因為現有包有Bug,請在Bug追蹤系統搜索現有的Bug報告。如果沒有,請花上幾分鐘幫忙把它報告給Arch的Bug追蹤系統或軟體包的項目地址,或者在論壇中警告其他可能遇到類似問題的用戶。

警告:

如何降級軟體包[編輯 | 編輯原始碼]

使用pacman的臨時文件[編輯 | 編輯原始碼]

如果一個新包剛剛被安裝並且沒有刪除pacman cache,你可以在/var/cache/pacman/pkg/中找到較早版本. 安裝替換現有的版本.pacman會處理依賴包但不會處理依賴庫的版本衝突。如果一個其依賴庫因該包降級需要降級,你需要手動降級這些包。

 # pacman -U /var/cache/pacman/pkg/package-old_version.pkg.tar.type

對老的軟體包,type 應該是 xz,遵循 2020 變更的新軟體包,type 應該是 zst

當成功降級該包以後,請暫時將其加入pacman.confIgnorePkg section,直到您的問題被解決。

降級內核[編輯 | 編輯原始碼]

新內核出問題時,可以通過使用 pacman 緩存降級內核。在/var/cache/pacman/pkg 尋找舊版安裝包。必須降級的有linuxlinux-headers和任何內核模塊。舉例來說:

# pacman -U linux-4.15.8-1-x86_64.pkg.tar.xz linux-headers-4.15.8-1-x86_64.pkg.tar.xz virtualbox-host-modules-arch-5.2.8-4-x86_64.pkg.tar.xz

退出並重啟。

如果您在升級內核後無法啟動,您可以通過使用 live CD 來降級內核。方法類似Arch Linux的安裝進程。啟動後在/mnt掛載你的根目錄文件系統,別忘了掛載其他分區如/boot/var等等。(例子 mount /dev/sdc3 /mnt/boot)。然後chroot進入系統。

Arch Linux Archive[編輯 | 編輯原始碼]

Arch Linux Archiveofficial repositories的日更快照。

ALA能被用來降級包或者還原整個系統到過去版本。

手動編譯[編輯 | 編輯原始碼]

如果找不到編譯好的軟體包,就需要自己找到 PKGBUILD 並通過 makepkg 編譯。

官方軟體倉庫中的 PKGBUILD 可以通過 ABS 獲取並修改軟體版本。或者訪問 軟體包頁面搜索你需要的降級的軟體包,然後點 "查看修改" 連結,選擇「查看日誌「。找到需要的版本並通過 Tree 視圖下載 .tar.gz 快照。

參閱 Arch Build System#Checkout an older version of a package.

老的 AUR 軟體包可以從 AUR 軟體包 git 倉庫提出舊版本。如果是 2015 AUR3 之前的 PKGBUILD,請參閱 Arch User Repository#Git repositories for AUR3 packages.

自動化[編輯 | 編輯原始碼]

downgrade — 基於Bash使用本地緩存和Arch Rollback Machine。詳見downgrade(8)

https://github.com/pbrisbin/downgrade || downgradeAUR

從[testing]中返回[編輯 | 編輯原始碼]

參見 Official repositories#Disabling testing repositories