管理 Debian 系统上的非官方存储库

管理 Debian 系统上的非官方存储库

几年前,我将此存储库添加到我的sources.list中:

http://www.deb-multimedia.org/

因为它包含 acroread 或 flash player 等软件包,这些软件包在官方存储库中要么丢失,要么已过时。

然而,现在我刚刚意识到该存储库中的一些软件包已损坏,例如 mencoder。因此有几个问题:

  1. 如何找出从该特定存储库安装了哪些软件包?
  2. 如何降低此存储库的优先级,以便仅从那里自动安装/升级我想要的软件包?

编辑:我按照有人的建议编辑了“/etc/apt/preferences”文件:

grzes:/home/ga# cat /etc/apt/preferences
Package: *
Pin: release a=testing
Pin-Priority: 700

Package: *
Pin: release a=stable
Pin-Priority: 600

Package: *
Pin: release a=unstable
Pin-Priority: 50

Package: *
Pin: origin deb-multimedia.org/
Pin-Priority: 50

但它似乎不起作用(请注意,我手动降级了这个包):

grzes:/home/ga# apt-cache policy mencoder
mencoder:
  Installed: 2:1.0~rc4.dfsg1+svn34540-1+b2
  Candidate: 3:1.1-dmo5
  Version table:
     3:1.1-dmo5 0
         50 http://www.deb-multimedia.org/ unstable/main i386 Packages
        700 http://www.deb-multimedia.org/ testing/main i386 Packages
 *** 2:1.0~rc4.dfsg1+svn34540-1+b2 0
         50 http://ftp.uk.debian.org/debian/ unstable/main i386 Packages
        700 http://ftp.uk.debian.org/debian/ testing/main i386 Packages
        100 /var/lib/dpkg/status
     2:1.0~rc3++final.dfsg1-1 0
        600 http://ftp.uk.debian.org/debian/ stable/main i386 Packages

答案1

我不知道如何列出所有包及其存储库,但对于单个包,您只需执行apt-cache policy <package>.带 *** 的行是当前安装的版本以及相应的存储库。

设置特定源的优先级称为易于固定可以通过以下方式完成/etc/apt/首选项(较新的乌班图版本要求配置位于/etc/apt/preferences.d/反而!):

您可以固定每个发布,起源或者版本。在您的情况下,您想要固定每个来源:

Package: *
Pin: origin www.deb-multimedia.org
Pin-Priority: 300

或每个版本和奥=选项:

Package: *
Pin: release o=Unofficial Multimedia Packages
Pin-Priority: 300

注意:似乎使用了第一个匹配的引脚配置,而忽略了其他匹配的配置。

要查看所有当前已知的包源、它们的优先级、来源和其他属性,只需调用apt-cache policy而不带任何选项。

答案2

您可以使用该脚本apt-show-versions

apt-show-versions -b | grep deb-multimedia

会给你一个来自 的软件包列表deb-multimedia.org

答案3

事实证明,您不能同时拥有origin和子句。release不过,每个存储库都提供了一个标签,可用于过滤。就我而言,正确的/apt/cache/preferences文件如下所示:

Package: acroread acroread-data acroread-debian-files acroread-dictionary acroread-dictionary-en acroread-escript acroread-fonts-jpn acroread-l10n acroread-l10n-en acroread-plugin-speech acroread-plugins cinelerra flashplayer-mozilla mozilla-acroread w32codecs
Pin: release a=testing,l=Unofficial Multimedia Packages
Pin-Priority: 550

Package: acroread cinelerra flashplayer-mozilla mozilla-acroread w32codecs
Pin: release a=stable,l=Unofficial Multimedia Packages
Pin-Priority: 500

Package: *
Pin: origin "www.deb-multimedia.org"
Pin-Priority: 50

Package: *
Pin: release a=testing
Pin-Priority: 700

Package: *
Pin: release a=stable
Pin-Priority: 600

Package: *
Pin: release a=unstable
Pin-Priority: 50

要获取所有可用标签的列表,您需要运行:

apt-cache policy

不指定包名称。

答案4

2) 您可以使用aptitude(来源)。

aptitude search '~S ~i (!~Atesting ~Aunstable ~O"Unofficial Multimedia")'

相关内容