如您所知,您可以升級所有已安裝的軟件包 apt upgrade
命令可用於 Debian、Ubuntu 和其他基於 Debian 的系統。在這個升級過程中,所有安裝的包都會被升級,一些額外的包(也就是依賴)會被安裝,一些不必要的包也會被移除。 Apt Package Manager 會自動執行所有這些操作,以便您可以維護一個乾淨的系統。 Apt 還具有阻止軟件包在 Debian、Ubuntu 及其變體上自動安裝、升級或刪除的選項。了解在您的產品中阻止或阻止軟件包升級的不同方法。
內容
為什麼要阻止軟件包升級?
您可能想知道為什麼我們讓軟件包遠離 apt 升級。將軟件包更新到最新版本是否有助於保護我的系統?當然!但有時你不想這樣做。不允許升級包的原因是:
- 當前版本的軟件包運行良好,因此您可能認為無需升級。
- 另一個應用程序需要特定版本才能正常運行。
- 您嘗試更新的軟件包可能存在問題。開發人員在將軟件包推送到存儲庫之前對其進行徹底測試,但有時他們會在不知不覺中推送可能破壞系統的不穩定軟件包。
- 節省帶寬。您可能不想更新大於 500 MB 的軟件包。
因此,如果您出於某種原因想要在 Debian 或 Ubuntu 系統上保持軟件包不變,本教程將為您提供幫助。
在 Debian、Ubuntu 中保留或阻止軟件包升級
您可以從命令行或使用圖形包管理實用程序阻止/保留/忽略/排除 apt 升級。 突觸 包管理器。
讓我們從命令行方法開始。
1.在Debian、Ubuntu上使用apt-mark命令防止自動安裝、升級或刪除包
標記 用於查看、配置和取消配置包的各種設置(例如標記包以進行自動/手動安裝或修改) dpkg
保留、安裝、卸載、清除等選項。 apt-get dselect-upgrade
還 aptitude
.
為了防止軟件包被修改(安裝、卸載和升級), apt-mark
該命令提供三個子命令:
- 抓住
- 不要放手
- 節目
這個 hold
此命令用於將包標記為已阻止。這可以防止軟件包被自動安裝、升級或刪除。
這個 unhold
該命令用於取消之前設置的套餐預訂並重新允許所有操作。
什麼時候 showhold
該命令用於顯示保留包的列表。
讓我們看一個例子。我想阻止一個包裹(例如 htop
) 使用以下命令自動安裝、升級或刪除:
$ sudo apt-mark hold htop
示例輸出:
htop set on hold.
鎖定 htop
即使您升級您的系統,軟件包也將保持相同的版本。
要查看您保留的包,請運行:
$ sudo apt-mark showhold
要取消預訂包裹,請執行以下操作:
$ sudo apt-mark unhold htop
示例輸出:
Canceled hold on htop.
筆記 無法通過這種方式手動刪除包仍可用於刪除鎖定的包。 apt-get remove <packagename>
命令。
此方法僅防止在系統升級期間自動安裝、更新、升級或刪除應用程序。保留一個包實際上意味著告訴包管理器 仍然保留當前版本,即使有更新的版本可用這個技巧對於阻止圖形驅動程序非常有用。如果當前工作人員的更新版本在更新後中斷,這也很有用。
每當我嘗試使用命令更新系統時 sudo apt-get update
還 sudo apt-get upgrade
,標記的包的版本與您保留包時的版本相同。
Apt-mark 不是唯一一個在 Debian 或 Ubuntu 上防止軟件包更改的 CLI 實用程序。有兩種方法可以從命令行掛起和取消保留包。
2.在Debian、Ubuntu上使用dpkg防止包升級
數據包 用於安裝、構建、刪除和管理 Debian 軟件包的命令行實用程序。
放一個包裹 向上要在 dpkg 中暫停,請運行:
$ echo "htop hold" | sudo dpkg --set-selections
您可以通過運行以下命令來檢查以前擱置的包的狀態:
$ dpkg --get-selections | grep "htop"
htop hold
如您所見,htop 處於待處理狀態。
要查看所有包的狀態,請運行:
$ dpkg --get-selections
要取消包裹,請執行以下操作:
$ echo "htop install" | sudo dpkg --set-selections
3.在Debian、Ubuntu中使用aptitude保存升級包
資質 Debian GNU/Linux 打包系統的基於文本的界面。允許用戶執行各種包管理任務,例如安裝、更新、升級、列出和刪除包。
要掛起軟件包以使其不會自動升級,請運行:
$ sudo aptitude hold htop
要檢查包的狀態,請運行:
$ aptitude show htop
示例輸出:
Package: htop
Version: 2.2.0-2build1
State: installed [held]
Automatically installed: no
Priority: optional
Section: utils
Maintainer: Ubuntu Developers <[email protected]>
Architecture: amd64
Uncompressed Size: 225 k
Depends: libc6 (>= 2.15), libncursesw6 (>= 6), libtinfo6 (>= 6)
Suggests: lsof, strace
Description: interactive processes viewer
Htop is an ncursed-based process viewer similar to top, but it allows
one to scroll the list vertically and horizontally to see all processes
and their full command lines.
Tasks related to processes (killing, renicing) can be done without
entering their PIDs.
Homepage: https://hisham.hm/htop/
從上面的輸出可以看出,htop 包已經升級。
要取消包裹,請執行以下操作:
$ sudo aptitude unhold htop

4. 在 Debian、Ubuntu 上使用 Synaptic 包管理器來防止自動安裝、升級或刪除包
如果你有 突觸 通過在系統上安裝包管理器,您可以輕鬆鎖定包以進行安裝、更新、升級或刪除。
打開 Synaptic Manager 並蒐索要保存的包。然後點擊 盒 從菜單欄中單擊 抓住.

而已。只要你保持這個,包在系統升級過程中就不會改變。
取消, 突觸 -> 包 -> 解鎖 版本。
如果您的系統上未安裝 Synaptic Package Manager,您可以使用以下命令安裝它:
$ sudo apt install synaptic
結論是
在本教程中,您學習瞭如何防止軟件包在基於 Debian 的系統(例如 Ubuntu、Linux Mint 和 Pop!_OS)上被自動安裝、升級和刪除。阻止軟件包有時會有所幫助,但它也會在您的 Ubuntu 系統中留下安全漏洞。人們需要知道何時將行李擱置或擱置。請謹慎使用此功能。祝你好運!
相關文件:
- 如何忽略 Arch Linux 上的軟件包升級
特色圖片由 erfouris 工作室提供。
APTapt-getapt-markDebianLinuxLinux BasicLinux 命令包管理Synaptic Package ManagerUbuntu