Wie kann ich das Repository angeben, aus dem ein Paket installiert wird? (Emacs-Schnappschuss)


27

Ich möchte den Emacs-Snapshot von http://emacs.orebokech.com installieren. In Ubuntus Repositories befindet sich jedoch bereits ein Emacs-Snapshot.

Wie kann ich das Repository angeben, aus dem ein Paket installiert wird?

Antworten:


19

Sie können ein Repository mit der -tOption angeben . Als Beispiel habe ich das folgende Repository hinzugefügt /etc/apt/sources.list, um die neueste Version von Iceweasel zu installieren:

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

Wie Sie wissen, gibt es dasselbe Paket iceweaselim offiziellen Debian-Repository. Wenn ich Iceweasel von diesem speziellen Repo installieren möchte, führe ich Folgendes aus:

apt-get install -t squeeze-backports iceweasel

von apt-get manual page:

-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.

Ich denke, das ist eine bessere Lösung,

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


ja deine lösung ist besser als meine.
Elviejo79

1
Was ist, wenn Sie diese Quelle nicht zu Ihrer sources.list hinzufügen möchten?
LittleNooby

12

Ich habe eine Problemumgehung gefunden. Zuerst musste ich die Repositories mit dem Paket finden:

$ 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: ...
...

Im Abschnitt Versionen: Ich sehe die Versionen, die aus verschiedenen Repositories stammen:

  • 1: 20100111-1 ~ lenny1
  • 1: 20090909-1

Jetzt sagen wir apt oder aptitude nur, dass sie diese bestimmte Version installieren sollen:

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

Paketname = Versionsname

Sieg.

Ich weiß immer noch nicht, wie ich ein bestimmtes Repository verwenden soll. In diesem Fall war jedoch eine bestimmte Version ausreichend.


1

Es gibt eine Einstellungsdatei für apt. Ich denke, es befindet sich unter / etc / apt, aber nicht 100% sicher. Dort können Sie die Priorität für ein Paket aus einem Repository höher einstellen als für dasselbe Paket aus dem Ubunto-Repository. Die genaue Syntax finden Sie in man apt-get. Bearbeiten Sie die Datei und installieren Sie sie wie gewohnt mit apt-get. Sie wird vom Ursprung mit der höchsten Priorität abgerufen. Stellen Sie einfach vorher sicher, dass das Paket aus diesem Repository für Ihre Distribution (zB eine Debian-Binärdatei sucht möglicherweise nach Abhängigkeiten an den falschen Stellen) und für Ihre Kernel-Version (dies ändert sich ziemlich oft im Laufe des Lebenszyklus einer Ubuntu-Version) kompiliert wurde. Ansonsten ist es eine Frage des Zufalls, ob es funktioniert.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.