几年前,我将此存储库添加到我的sources.list中:
http://www.deb-multimedia.org/
因为它包含 acroread 或 flash player 等软件包,这些软件包在官方存储库中要么丢失,要么已过时。
然而,现在我刚刚意识到该存储库中的一些软件包已损坏,例如 mencoder。因此有几个问题:
- 如何找出从该特定存储库安装了哪些软件包?
- 如何降低此存储库的优先级,以便仅从那里自动安装/升级我想要的软件包?
编辑:我按照有人的建议编辑了“/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")'