Inoffizielle Repositorys auf einem Debian-System verwalten

7

Vor einigen Jahren habe ich dieses Repository zu meiner source.list hinzugefügt:

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

weil es Pakete wie Acroread oder Flash Player enthielt, die in den offiziellen Repos entweder fehlten oder veraltet waren.

Jetzt habe ich jedoch gerade festgestellt, dass einige der Pakete aus diesem Repository defekt sind, z. B. Mencoder. Daher ein paar Fragen:

  1. Wie kann ich herausfinden, welche Pakete aus diesem bestimmten Repository installiert sind?
  2. Wie kann ich die Priorität dieses Repositorys verringern, damit nur die gewünschten Pakete von dort automatisch installiert / aktualisiert werden?

BEARBEITEN: Ich habe die Datei "/ etc / apt / settings" wie vorgeschlagen bearbeitet:

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

aber es schien nicht zu funktionieren (beachten Sie, dass ich dieses Paket manuell heruntergestuft habe):

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
Grzenio
quelle
Sie haben mehrere übereinstimmende Konfigurationen ( Release a = Test und Ursprung deb-multimedia.org/ ). Ich denke, die erste Pinning-Konfiguration überschreibt die letztere. Ich weiß auch nicht, ob origin am Ende mit einem '/' arbeitet. Verwenden Sie die genaue Zeichenfolge, wie von angegeben apt-cache policy.
Scai
Hier hat deb-multimedia.org seinen Ursprung www.deb-multimedia.org (beachten Sie das www am Anfang). Nachdem es am Anfang der Datei eingefügt wurde, funktioniert es.
Scai
@scai - Ich bestätige, dass Sie Recht haben, Prost!
Grzenio
Werfen Sie einen Blick auf diese Antwort auf Superuser, wie man nach allen installierten Paketen von deb-multimedia.org
Ulrich Dangel

Antworten:

5

Ich weiß nicht, wie ich alle Pakete und ihre Repositorys auflisten soll, aber für ein einzelnes können Sie es einfach ausführen apt-cache policy <package>. Die Zeile mit dem *** ist die aktuell installierte Version mit den entsprechenden Repositorys.

Das Festlegen der Priorität einer bestimmten Quelle wird als apt-Pinning bezeichnet und kann über / etc / apt / settings erfolgen (neuere Ubuntu- Versionen erfordern stattdessen die Konfiguration in /etc/apt/preferences.d/ !):

Sie können entweder pro Release , Herkunft oder Version anheften . In Ihrem Fall möchten Sie entweder nach Ursprung pinnen:

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

oder pro Release und die Option o = :

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

Hinweis: Anscheinend wird die erste passende Pin-Konfiguration verwendet und zusätzliche passende Konfigurationen werden ignoriert.

Um alle derzeit bekannten Paketquellen, ihre Priorität, Herkunft und andere Attribute anzuzeigen, rufen Sie einfach apt-cache policyohne Option auf.

scai
quelle
Hallo, danke für deine Antwort. Ich habe das Fixieren versucht, aber es scheint nicht zu funktionieren - siehe die Bearbeitung der Frage.
Grzenio
Es tut mir leid, dass ich Ihre Antwort nicht
akzeptiert habe.
0

Sie können das Skript verwenden apt-show-versions.

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

würde Ihnen eine Liste von Paketen aus geben deb-multimedia.org.

Faheem Mitha
quelle
1
Das scheint nicht zu funktionieren. apt-show-versionsZeigt nur an, ob das Paket aus dem Test / instabil usw. stammt und nicht aus welchem ​​Repository.
Grzenio
0

Es stellt sich heraus, dass Sie nicht beide Klauseln originund releaseKlauseln gleichzeitig haben können. Jedes Repository enthält jedoch eine Beschriftung, die zum Filtern verwendet werden kann. In meinem Fall /apt/cache/preferencessieht die richtige Datei folgendermaßen aus:

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

Um die Liste aller verfügbaren Labels zu erhalten, müssen Sie Folgendes ausführen:

apt-cache policy

ohne Angabe des Paketnamens.

Grzenio
quelle
0

2) Mit aptitude( source ) können Sie herausfinden, welche Pakete aus diesem bestimmten Repository installiert sind .

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