如何指定将从中安装软件包的存储库?(emacs快照)


Answers:


19

您可以使用-t选项指定存储库。作为示例,我添加了以下存储库/etc/apt/sources.list以安装Iceweasel最新版本:

deb http://mozilla.debian.net/ squeeze-backports iceweasel-release

如您所知iceweasel,在官方的Debian仓库中有一个相同的软件包。如果要从此特定存储库安装Iceweasel,请运行:

apt-get install -t squeeze-backports iceweasel

从apt-get手册页:

-t, --target-release, --default-release
           This option controls the default input to the policy engine, it creates a default pin at priority 990 using the specified
           release string. This overrides the general settings in /etc/apt/preferences. Specifically pinned packages are not affected by
           the value of this option. In short, this option lets you have simple control over which distribution packages will be retrieved
           from. Some common examples might be -t '2.1*', -t unstable or -t sid. Configuration Item: APT::Default-Release; see also the
           apt_preferences(5) manual page.

我认为这是一个更好的解决方案,

来源自:https : //askubuntu.com/questions/27362/how-to-only-install-updates-from-a-specific-repository/57749#57749


是的,您的解决方案比我的更好。
elviejo79 2014年

1
如果您不想将所述来源添加到您的sources.list中,该怎么办?
LittleNooby

12

我找到了解决方法。首先,我需要找到具有此功能的存储库:

$ apt-cache showpkg emacs-snapshot
Package: emacs-snapshot
Versions: 
1:20100111-1~lenny1 (/var/lib/apt/lists/emacs.orebokech.com_dists_lenny_main_binary-amd64_Packages) (/var/lib/dpkg/status)
 Description Language: 
                 File: /var/lib/apt/lists/emacs.orebokech.com_dists_lenny_main_binary-amd64_Packages
                  MD5: 906df684c212eabe267e6b5c2e8c2032

1:20090909-1 (/var/lib/apt/lists/us.archive.ubuntu.com_ubuntu_dists_karmic_universe_binary-amd64_Packages)
 Description Language: 
                 File: /var/lib/apt/lists/us.archive.ubuntu.com_ubuntu_dists_karmic_universe_binary-amd64_Packages
                  MD5: 906df684c212eabe267e6b5c2e8c2032


Reverse Depends: ...
...

在“ 版本:”部分。我看到了来自不同存储库的版本:

  • 1:20100111-1〜lenny1
  • 1:20090909-1

所以现在我们只告诉apt或aptitude安装该特定版本:

$ sudo aptitude install emacs-snapshot=1:20100111-1~lenny1

包名称 = VERSION_NAME

胜利。

我仍然不知道如何使用特定的存储库。但是在这种情况下,一个特定的版本就足够了。


1

有一个用于apt的首选项文件。我认为它位于/ etc / apt下,但不确定100%。在那里,您可以将存储库中软件包的优先级设置为高于Ubunto存储库中相同软件包的优先级。有关确切的语法,请在man apt-get中查找。编辑文件,然后像往常一样使用apt-get安装,它将从优先级最高的源获取。只需事先确保已为您的发行版(例如,debian二进制文件可能会在错误的位置查找依赖项)和内核版本(在Ubuntu版本的整个生命周期中经常更改)编译该存储库中的软件包。否则,它是否会起作用是一个偶然的问题。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.