防止升级时显示“暂停”的软件包

防止升级时显示“暂停”的软件包

sudo apt-mark hold nameofthepackage对 3 个软件包都这么做了,但是现在当我使用以下命令升级时,出现了一个令人讨厌的提示sudo apt-get upgrade

Following packages have been holded : 
  package1 package2 package3
0 upgraded, 0 installed, 0 to remove and 3 non-updated.

(抱歉,终端输出不准确,我使用的是法语版本,我不知道用英语该如何确切地说这句话。)

0 non-updated有没有办法“隐藏”这个?即使我拿着包裹,我也希望一切如常。谢谢

答案1

使用 Apt Preferences 固定软件包版本

  1. 检查我的包裹当前的优先级策略,例如virtualbox

    $ apt-cache policy virtualbox
    virtualbox:
      Installed: 4.3.6-dfsg-1
      Candidate: 4.3.6-dfsg-2
      Version table:
         4.3.6-dfsg-2 0
            500 http://archive.ubuntu.com/ubuntu/ trusty/multiverse amd64 Packages
     *** 4.3.6-dfsg-1 0
            100 /var/lib/dpkg/status
    
  2. 在中创建新文件/etc/apt/preferences.d/

    sudo vim /etc/apt/preferences.d/my_pin
    
  3. 添加您想要的包(*可以使用 joker),具有更高的优先级(默认0、最大1000,甚至是负值,例如-1跳过某个版本)

    Package: virtualbox*
    Pin: version 4.3.6-dfsg-1
    Pin-Priority: 500
    
  4. 再检查一遍:

    $ apt-cache policy virtualbox
    virtualbox:
      Installed: 4.3.6-dfsg-1
      Candidate: 4.3.6-dfsg-1
      Package pin: 4.3.6-dfsg-1
      Version table:
         4.3.6-dfsg-2 500
            500 http://archive.ubuntu.com/ubuntu/ trusty/multiverse amd64 Packages
     *** 4.3.6-dfsg-1 500
            100 /var/lib/dpkg/status
    
  5. 无需使用保持,因此sudo apt-mark unhold virtualbox您可以将其保留为第二锁。

现在,如果我检查apt-get update,没有提到关于virtualbox(在保留的包裹清单中)。

相关内容