AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 506772
Accepted
milosgajdos
milosgajdos
Asked: 2013-05-11 08:16:16 +0800 CST2013-05-11 08:16:16 +0800 CST 2013-05-11 08:16:16 +0800 CST

在 Ubuntu 中优先存储库

  • 772

我们在一些我们坚持使用的服务器上有一些 PPA 源/etc/apt/sources.list.d。其中一些 repos 提供相同的包(在名称方面)但不同的版本和可能不同的二进制文件。有没有办法让一个回购优先于另一个回购?

我阅读了 apt_preferences 教程,但它再晦涩难懂,也没有找到我的问题的答案。这是情况。我们有以下来源:

$ ls -l /etc/apt/sources.list.d 
total 12
-rw-r--r-- 1 root root 66 Jan  2 16:50 nginx-source.list
-rw-r--r-- 1 root root 84 Jan  2 16:49 ruby-ng-experimental-source.list

哪里nginx-source.list:

deb     http://ppa.launchpad.net/nginx/stable/ubuntu precise main

和ruby-ng-experimental-source.list:

deb     http://ppa.launchpad.net/brightbox/ruby-ng-experimental/ubuntu precise main

这两个来源都提供了不同版本的 nginx-full 包等。当我列出优先级时,ruby-ng-experimental-source.list 位于输出之上,因此 nginx-full 是从该目录安装的:

$ apt-cache policy nginx-full                                 
nginx-full:
  Installed: 1:1.2.3-1~38~precise1
  Candidate: 1:1.2.6-1~43~precise1
  Version table:
     1:1.2.6-1~43~precise1 0
        500 http://ppa.launchpad.net/brightbox/ruby-ng-experimental/ubuntu/ precise/main amd64 Packages
 *** 1:1.2.3-1~38~precise1 0
        100 /var/lib/dpkg/status
     1.4.1-1ppa0~precise 0
        500 http://ppa.launchpad.net/nginx/stable/ubuntu/ precise/main amd64 Packages
     1.1.19-1ubuntu0.1 0
        500 http://mirror.rackspace.co.uk/ubuntu/ precise-updates/universe amd64 Packages
     1.1.19-1 0
        500 http://mirror.rackspace.co.uk/ubuntu/ precise/universe amd64 Packages

我如何确定 nginx-source.list 中列出的 repo 的优先级?

我试过这样的事情:

$ cat /etc/apt/preferences
Package: nginx-full
Pin: origin http://ppa.launchpad.net/nginx/stable/ubuntu
Pin-Priority: 1000

Package: nginx-full
Pin: origin http://ppa.launchpad.net/brightbox/ruby-ng-experimental/ubuntu
Pin-Priority: 100

但这已经改变了所有来源的优先级 - 或者类似的东西?

$ apt-cache policy nginx-full  
nginx-full:
  Installed: 1:1.2.3-1~38~precise1
  Candidate: 1:1.2.6-1~43~precise1
  Package pin: (not found)
  Version table:
     1:1.2.6-1~43~precise1 1000
        500 http://ppa.launchpad.net/brightbox/ruby-ng-experimental/ubuntu/ precise/main amd64 Packages
 *** 1:1.2.3-1~38~precise1 1000
        100 /var/lib/dpkg/status
     1.4.1-1ppa0~precise 1000
        500 http://ppa.launchpad.net/nginx/stable/ubuntu/ precise/main amd64 Packages
     1.1.19-1ubuntu0.1 1000
        500 http://mirror.rackspace.co.uk/ubuntu/ precise-updates/universe amd64 Packages
     1.1.19-1 1000
        500 http://mirror.rackspace.co.uk/ubuntu/ precise/universe amd64 Packages

感谢您的回答!

ubuntu
  • 1 1 个回答
  • 1977 Views

1 个回答

  • Voted
  1. Best Answer
    etagenklo
    2013-05-12T05:51:29+08:002013-05-12T05:51:29+08:00

    优先 viaPin: origin在您的情况下不起作用,因为它需要一个主机名作为参数:

    Pin: origin ppa.launchpad.net

    由于两个回购协议都在ppa.launchpad.net,这对你没有帮助。

    您可以在此处找到获得较低版本的原因:

    http://www.debian.org/doc/debian-policy/ch-controlfields.html#sf-Version

    版本号1.4.1-1ppa0~precise缺少纪元部分,因此 apt 将0:1.4.1-1ppa0~precise其解释为低于1:1.2.6-1~43~precise.

    因此,您可以尝试通过版本号固定:

    Pin: version 0:*
    

    另一种方法是通过release带有回购发行人名称的选项固定:

    Pin: release o=<issuer>

    <issuer>要在不同的回购协议上找出正确的值,请apt-cache policy不带参数运行。

    • 3

相关问题

  • 无法通过 Ubuntu VPN 访问外部网络

  • ubuntu apt-get upgrade - 如何在 shell 中单击确定?

  • VirtualBox 上 Ubuntu 的访客优化技巧 [关闭]

  • 外部硬盘上的 virtualbox 虚拟硬盘驱动器(Vista 主机上的 ubuntu 客户机)

  • 如何在 Ubuntu 上挂载 LVM 分区?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve