如您所知,您可以升級所有已安裝的軟件包 apt upgrade
命令可用於 Debian、Ubuntu 和其他基於 Debian 的系統。在這次升級過程中,升級了所有已安裝的包,安裝了一些額外的包(即依賴項),並刪除了一些不需要的包。 Apt Package Manager 會自動完成所有這些工作,以便您可以維護一個乾淨的系統。 Apt 也有防止軟件包在 Debian、Ubuntu 及其變體上自動安裝、升級或刪除的選項。描述了防止或阻止生物體中軟件包升級的各種方法。
內容
誰想阻止包升級?
您可能想知道為什麼我們讓軟件包遠離 apt upgrade 。將軟件包更新到最新版本可以保護我的系統嗎?當然可以!但有些情況下你不想這樣做。以下是阻止軟件包升級的一些原因:
- 由於該軟件包的當前版本運行良好,您可能認為無需升級。
- 另一個應用程序需要特定版本才能正常運行。
- 您嘗試更新的包可能有問題。開發人員在將包推送到存儲庫之前對其進行徹底測試,但他們可能會在不知不覺中推送不穩定的包並破壞系統。
- 節省帶寬。您可能不想更新大於 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>
命令。
該方法只是防止應用程序在系統升級過程中被自動安裝、更新、升級或刪除。保留一個包實際上意味著告訴包管理器 無論如何都要保留當前版本,即使有更新的版本可用這個技巧對於阻止圖形驅動程序非常有用。如果當前 worker 的較新版本在更新後中斷,這也很有用。
每當我嘗試使用命令更新系統時 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 Package Manager 來防止自動安裝、升級或刪除軟件包
如果你有 突觸 安裝在系統上的包管理器允許您輕鬆鎖定包安裝、更新、升級或刪除。
打開 Synaptic Manager 並蒐索要保存的包。然後點擊 盒 從菜單欄點擊 抓住.

就這樣。只要你保留這個,包就不會在系統升級過程中改變。
取消, 突觸 -> 打包 -> 解鎖 版本。
如果您的系統上沒有安裝 Synaptic Package Manager,您可以使用以下命令安裝它:
$ sudo apt install synaptic
結論是
在本教程中,您學習瞭如何防止在基於 Debian 的系統(例如 Ubuntu、Linux Mint 和 Pop!_OS)上自動安裝、升級和刪除包。阻止包有時會有所幫助,但它也會在您的 Ubuntu 系統中留下安全漏洞。您需要知道何時預訂或取消預訂包裹。請謹慎使用此功能。祝你好運!
相關文件:
- 如何在 Arch Linux 升級期間忽略包
由 erfouris studio 拍攝的特色圖片在Pixabay上發布
APTapt-getapt-markDebianLinuxLinux 基本 Linux 命令包管理Synaptic 包管理器Ubuntu