From 18c594c33e9df89701b0172e0edc524aa65f89ba Mon Sep 17 00:00:00 2001 From: geekpi Date: Wed, 11 Mar 2020 08:24:07 +0800 Subject: [PATCH] translated --- ... a Specific Package from an apt Upgrade.md | 190 ------------------ ... a Specific Package from an apt Upgrade.md | 190 ++++++++++++++++++ 2 files changed, 190 insertions(+), 190 deletions(-) delete mode 100644 sources/tech/20200306 Three Ways to Exclude-Hold-Prevent a Specific Package from an apt Upgrade.md create mode 100644 translated/tech/20200306 Three Ways to Exclude-Hold-Prevent a Specific Package from an apt Upgrade.md diff --git a/sources/tech/20200306 Three Ways to Exclude-Hold-Prevent a Specific Package from an apt Upgrade.md b/sources/tech/20200306 Three Ways to Exclude-Hold-Prevent a Specific Package from an apt Upgrade.md deleted file mode 100644 index e55c7a24e0..0000000000 --- a/sources/tech/20200306 Three Ways to Exclude-Hold-Prevent a Specific Package from an apt Upgrade.md +++ /dev/null @@ -1,190 +0,0 @@ -[#]: collector: (lujun9972) -[#]: translator: (geekpi) -[#]: reviewer: ( ) -[#]: publisher: ( ) -[#]: url: ( ) -[#]: subject: (Three Ways to Exclude/Hold/Prevent a Specific Package from an apt Upgrade) -[#]: via: (https://www.2daygeek.com/debian-ubuntu-exclude-hold-prevent-packages-from-apt-get-upgrade/) -[#]: author: (Magesh Maruthamuthu https://www.2daygeek.com/author/magesh/) - -Three Ways to Exclude/Hold/Prevent a Specific Package from an apt Upgrade -====== - -Sometimes you may accidentally update packages that are not updated due to some application dependency. - -This is always the case during the entire system update or automatic package upgrade process. - -If this happens, it may break the application function. - -This creates a serious problem and you need to spend a lot of time fixing the problem. - -See the following article if you want to **[Exclude Specific Packages from Yum Update][1]** - -How to avoid this kind of situation? - -How do I exclude packages from apt-get update? - -Yes, it can be done using the following three methods on Debian and Ubuntu systems. - - * **[apt-mark Command][2]** - * **[dpkg Command][3]** - * aptitude Command - - - -We will show in detail each. - -### Method-1: How to Exclude Packages Update on Debian/Ubuntu System Using the apt-mark Command - -The apt-mark is used to mark/unmark a package as being automatically installed. - -The Hold option is used to mark a package as blocked, which prevents the package from being automatically installed, upgraded, or removed. - -The unhold option is used to cancel a previously set hold on a package to allow all actions to be repeated. - -Run the following command to hold the given package using the **apt-mark** command. - -``` -$ sudo apt-mark hold nano -nano set on hold. -``` - -Once you have hold some packages, run the following apt-mark command to view them. - -``` -$ sudo apt-mark showhold -nano -``` - -This will show that the **“nano”** package will not be upgraded when you perform a full system update. - -``` -$ sudo apt update - -Reading package lists… Done -Building dependency tree -Reading state information… Done -Calculating upgrade… Done -The following packages have been kept back: - nano -0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded. -``` - -Run the following command to unhold the “nano” package using the apt-mark command. - -``` -$ sudo apt-mark unhold nano -Canceled hold on nano. -``` - -### Method-2: How to Exclude Packages Update on Debian/Ubuntu System Using the dpkg Command - -The dpkg command is a CLI tool to install, build, remove and manage Debian packages. The primary and more user-friendly front-end for dpkg is aptitude. - -Run the following command to block a given package using the dpkg command. - -**Syntax:** - -``` -$ echo "package_name hold" | sudo dpkg --set-selections -``` - -Run the below dpkg command to hold the **“apache2”** package. - -``` -$ echo "apache2 hold" | sudo dpkg --set-selections -``` - -Once you have hold some packages, run the following command to view them. - -``` -$ sudo dpkg --get-selections | grep "hold" -apache2 hold -``` - -It will show that the **“apache2”** package will not be upgraded when you perform a full system update. - -``` -$ sudo apt update - -Reading package lists… Done -Building dependency tree -Reading state information… Done -Calculating upgrade… Done -The following packages have been kept back: - apache2 -0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded. -``` - -Run the following command to unhold the given package using the dpkg command. - -**Syntax:** - -``` -$ echo "package_name install" | sudo dpkg --set-selections -``` - -Run the following command to unhold the “apache2” package using the dpkg command. - -``` -$ echo "apache2 install" | sudo dpkg --set-selections -``` - -### Method-3: How to Exclude Packages Update on Debian/Ubuntu System Using the aptitude Command - -The aptitude command is a text-based package management interface to the Debian and it’s derivative. - -It allows the user to view a list of packages and to perform package management tasks such as installing, upgrading, and removing packages. Actions may be performed from a visual interface or from the command-line. - -Run the following command to hold the given package using the aptitude command. - -``` -$ sudo aptitude hold python3 -``` - -Once you have hold some packages, run the following aptitude command to view them. - -``` -$ sudo dpkg --get-selections | grep "hold" -or -$ sudo apt-mark showhold - -python3 -``` - -This will show that the **“python3”** package will not be upgraded when you perform a full system update. - -``` -$ sudo apt update - -Reading package lists… Done -Building dependency tree -Reading state information… Done -Calculating upgrade… Done -The following packages have been kept back: - python3 -0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded. -``` - -Run the following command to unhold the **“python3”** package using the apt-mark command. - -``` -$ sudo aptitude unhold python3 -``` - --------------------------------------------------------------------------------- - -via: https://www.2daygeek.com/debian-ubuntu-exclude-hold-prevent-packages-from-apt-get-upgrade/ - -作者:[Magesh Maruthamuthu][a] -选题:[lujun9972][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://www.2daygeek.com/author/magesh/ -[b]: https://github.com/lujun9972 -[1]: https://www.2daygeek.com/redhat-centos-yum-update-exclude-specific-packages/ -[2]: https://www.2daygeek.com/apt-get-apt-cache-command-examples-manage-packages-debian-ubuntu-systems/ -[3]: https://www.2daygeek.com/dpkg-command-to-manage-packages-on-debian-ubuntu-linux-mint-systems/ diff --git a/translated/tech/20200306 Three Ways to Exclude-Hold-Prevent a Specific Package from an apt Upgrade.md b/translated/tech/20200306 Three Ways to Exclude-Hold-Prevent a Specific Package from an apt Upgrade.md new file mode 100644 index 0000000000..53dc123695 --- /dev/null +++ b/translated/tech/20200306 Three Ways to Exclude-Hold-Prevent a Specific Package from an apt Upgrade.md @@ -0,0 +1,190 @@ +[#]: collector: (lujun9972) +[#]: translator: (geekpi) +[#]: reviewer: ( ) +[#]: publisher: ( ) +[#]: url: ( ) +[#]: subject: (Three Ways to Exclude/Hold/Prevent a Specific Package from an apt Upgrade) +[#]: via: (https://www.2daygeek.com/debian-ubuntu-exclude-hold-prevent-packages-from-apt-get-upgrade/) +[#]: author: (Magesh Maruthamuthu https://www.2daygeek.com/author/magesh/) + +从 apt 升级中排除/保留/阻止特定软件包的三种方法 +====== + +有时,由于某些应用依赖性,你可能会意外更新未更新的软件包。 + +在整个系统更新或自动包升级过程中一直会发生。 + +如果发生这种情况,可能会破坏应用的功能。 + +这会造成严重的问题,你需要花费大量时间来解决问题。 + +如果你要**[从 Yum Update 中排除特定软件包][1]**,请参考它。 + +如何避免这种情况? + +如何从 apt-get 更新中排除软件包? + +是的,可以在 Debian 和 Ubuntu 系统上使用以下三种方法来完成。 + + * **[apt-mark 命令][2]** + * **[dpkg 命令][3]** + * aptitude 命令 + + + +我们将分别详细展示。 + +### 方法 1:如何使用 apt-mark 命令排除 Debian/Ubuntu 系统上的软件包更新 + +apt-mark 用于将软件包标记/取消标记为自动安装。 + +hold 选项用于将软件包标记为已阻止,以防止软件包被自动安装、升级或删除。 + +unhold 选项用于取消软件包的先前设置,以允许重复执行所有操作。 + +运行以下命令以使用 apt-mark 命令保留指定的软件包。 + +``` +$ sudo apt-mark hold nano +nano set on hold. +``` + +保留软件包后,请运行以下 apt-mark 命令查看它们。 + +``` +$ sudo apt-mark showhold +nano +``` + +这表明在执行完整的系统更新时,不会升级 **“nano”** 包。 + +``` +$ sudo apt update + +Reading package lists… Done +Building dependency tree +Reading state information… Done +Calculating upgrade… Done +The following packages have been kept back: + nano +0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded. +``` + +运行以下命令,使用 apt-mark 命令取消对 “nano” 包的保留。 + +``` +$ sudo apt-mark unhold nano +Canceled hold on nano. +``` + +### 方法 2:如何使用 dpkg 命令在 Debian/Ubuntu 系统上排除软件包更新 + +dpkg 命令是一个 CLI 工具,用于安装,构建,删除和管理 Debian 软件包。dpkg 的主要且更用户友好的前端是 aptitude。 + +运行以下命令使用 dpkg 命令阻止给定的软件包。 + +**语法:** + +``` +$ echo "package_name hold" | sudo dpkg --set-selections +``` + +运行以下 dpkg 命令以保留 **“apache2”** 包。 + +``` +$ echo "apache2 hold" | sudo dpkg --set-selections +``` + +保留软件包后,请运行以下命令查看它们。 + +``` +$ sudo dpkg --get-selections | grep "hold" +apache2 hold +``` + +它会显示在执行完整的系统更新时,不会升级 **“apache2”** 包。 + +``` +$ sudo apt update + +Reading package lists… Done +Building dependency tree +Reading state information… Done +Calculating upgrade… Done +The following packages have been kept back: + apache2 +0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded. +``` + +运行以下命令,使用 dpkg 命令取消对指定软件包的保留。 + +**语法:** + +``` +$ echo "package_name install" | sudo dpkg --set-selections +``` + +运行以下命令,使用 dpkg 命令取消保留 “apache2” 包。 + +``` +$ echo "apache2 install" | sudo dpkg --set-selections +``` + +### 方法 3:如何使用 aptitude 命令排除 Debian/Ubuntu 系统上的软件包更新 + +aptitude 命令是 Debian 及其衍生版本的基于文​​本的软件包管理界面。 + +它允许用户查看软件包列表并执行软件包管理任务,例如安装、升级和删除软件包。它可以从可视界面或命令行执行操作。 + +运行以下命令,使用 aptitude 命令保留指定的软件包。 + +``` +$ sudo aptitude hold python3 +``` + +保留某些软件包后,请运行以下 aptitude 命令查看它们。 + +``` +$ sudo dpkg --get-selections | grep "hold" +或者 +$ sudo apt-mark showhold + +python3 +``` + +这表明在执行完整的系统更新时,不会升级 **“python3”** 软件包。 + +``` +$ sudo apt update + +Reading package lists… Done +Building dependency tree +Reading state information… Done +Calculating upgrade… Done +The following packages have been kept back: + python3 +0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded. +``` + +使用 apt-mark 命令运行以下命令以解除对 **“python3”** 软件包的保留。 + +``` +$ sudo aptitude unhold python3 +``` + +-------------------------------------------------------------------------------- + +via: https://www.2daygeek.com/debian-ubuntu-exclude-hold-prevent-packages-from-apt-get-upgrade/ + +作者:[Magesh Maruthamuthu][a] +选题:[lujun9972][b] +译者:[geekpi](https://github.com/geekpi) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://www.2daygeek.com/author/magesh/ +[b]: https://github.com/lujun9972 +[1]: https://www.2daygeek.com/redhat-centos-yum-update-exclude-specific-packages/ +[2]: https://www.2daygeek.com/apt-get-apt-cache-command-examples-manage-packages-debian-ubuntu-systems/ +[3]: https://www.2daygeek.com/dpkg-command-to-manage-packages-on-debian-ubuntu-linux-mint-systems/