Frage Wie finde ich heraus, aus welchem ​​Repository ein Paket stammt?


Gibt es eine Methode oder einen Befehl, der feststellen kann, aus welchem ​​Repository ein Paket stammt?


115
2017-10-20 20:43


Ursprung


Das ist mehrdeutig. Meinst du: Welche derzeit aktivierten Repositories bieten ein Paket mit dem angegebenen Namen oder: Welches Repository wurde verwendet, um das Paket mit dem aktuell installierten Namen zu installieren? (Beide sind nützlich. Ich suche nach letzterer, nicht nach ersterer.) - Reinier Post


Antworten:


Befehle benötigt:

  • dpkg -s <package> - erlaubt dir ... zu machen finde die Version davon du hast installiert. (Quelle)
  • apt-cache showpkg <package> - werden zeige eine Liste von Versionen der Paket verfügbar. Für jede Version die Quelle des Pakets, in der Form eines Indexdateinamens, wird gegeben.

Wenn Sie die Quelle des derzeit installierten Pakets suchen möchten, benötigen Sie die Ausgabe von dpkg -s <package>. Ansonsten können Sie sich einfach die neueste Ausgabe von apt-cache showpkg <package>.

Beispiel:

$ dpkg -s liferea
Package: liferea
Status: install ok installed
Priority: optional
Section: web
Installed-Size: 760
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Architecture: i386
Version: 1.6.2-1ubuntu6
...

$ apt-cache showpkg liferea
Package: liferea
Versions: 
1.6.2-1ubuntu6.1 (/var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_lucid-updates_main_binary-i386_Packages)
 Description Language: 
                 File: /var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_lucid-updates_main_binary-i386_Packages
                  MD5: 557b0b803b7ed864e6d14df4b02e3d26

1.6.2-1ubuntu6 (/var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_lucid_main_binary-i386_Packages) (/var/lib/dpkg/status)
 Description Language: 
                 File: /var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_lucid_main_binary-i386_Packages
                  MD5: 557b0b803b7ed864e6d14df4b02e3d26
...

Vom ersten Befehl kann ich sehen, dass Liferea Version 1.6.2-1ubuntu6 installiert ist. Vom zweiten Befehl kann ich sehen, dass diese Version in aufgelistet ist /var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_lucid_main_binary-i386_Packages.

Ohne großen Aufwand kann ich daraus schließen, dass die Quellzeile enthält archive.ubuntu.com, ubuntu, lucid, und main.

Und, wirklich genug, mein /etc/apt/sources.list enthält die folgende Zeile.

deb http://archive.ubuntu.com/ubuntu lucid main universe restricted multiverse

85
2017-10-20 21:49



mac, danke für deine ausführliche Antwort! Leider hilft es mir nicht mit meinem anfänglichen Problem eines unbefriedigten Abhängigkeitsproblems :-( Ich versuche, libqt4-opengl zu installieren und es sagt: Die folgenden Pakete haben nicht erfüllte Abhängigkeiten: libqt4-opengl: Hängt davon ab: libqtcore4 (= 4: 4.6.2-0ubuntu5.1) aber 4: 4.7.0 ~ beta1 + git20100522-0ubuntu1 ~ lucid1 ~ ppa1 + appmenu20100624 ist zu installieren Abhängig: libqtgui4 (= 4: 4.6.2-0ubuntu5.1) aber 4: 4.7. 0 ~ beta1 + git20100522-0ubuntu1 ~ lucid1 ~ ppa1 + appmenu20100624 soll installiert werden - dfme
Es ist schwer zu sehen, was das Problem ist. Sie sollten eine neue Frage öffnen, damit Sie alle Details angeben können. Wenn Sie dies tun, hinterlassen Sie einen Link in einem Kommentar. :-) - mac9416
apt-cache policy <package name> (von: superuser.com/a/236605/37279) - franzlorenzon
Gibt apt-cache {showpkg, policy} tatsächlich an, wo ein installiertes Paket ist wurde von installiertoder nur dort, wo es ist würde von installiert werden Zu der Zeit wird es abgefragt? - Croad Langshan
Letzteres. Wenn ich generell Ubuntu benutze trusty Paketquellen, dann vorübergehend hinzufügen utopic zu meinem sources.list um die Version 1.20ubuntu3 von zu installieren init-system-helpers und dann entferne den Repo wieder von meinem sources.list, apt-cache showpkg init-system-helpers wird nur über die ursprüngliche Paketliste liegen und apt-cache policy init-system-helpers wird nur das Offensichtliche sagen. - blubberdiblub


Verwenden Sie den folgenden Befehl. Es hat eine bessere Ausgabe:

apt-cache policy <Package Name>

Für Ubuntu 16.04 und später gibt es einen kürzeren Weg:

apt policy <Package Name>

84
2017-09-20 06:21



Das ist die richtige Antwort! Die Befehle in der Antwort von mac9416 benötigen langwierige Interpretation und Raten basierend auf ihrer Ausgabe. Für mehr Informationen über apt-cache policy siehe auch superuser.com/a/236605/61370 - pabouk
apt-cache policy ist gut, aber manchmal brauchen Sie apt-cache showpkg MD5-Summen aus dem Paket zu vergleichen. Siehe auch debsums --changed - gavenkoa
Dies policy Option ist am nützlichsten beim Vergleich mit sources.list - infinite-etcetera
Dies sollte die akzeptierte Antwort sein! @ Pabouk hat Recht. Diese Antwort ist für die Frage relevanter als die derzeit akzeptierte. - HEXcube
Wie @ pablo-bianchi darauf hingewiesen seine Antwort, ein noch einfacheres apt policy <package-name> kann ab 16.04LTS verwendet werden. Sobald 14.04LTS 2018 EOL erreicht wurde, kann diese Antwort möglicherweise bearbeitet werden, um den neueren Befehl zu verwenden. - HEXcube


Leider werden diese Informationen während der Paketinstallation nicht aufgezeichnet. Sie können eine vernünftige Schätzung machen, wenn sich das Repository noch in der Quellenliste befindet und das Repository noch das Paket enthält:

grep -l PKG /var/lib/apt/lists/*

Selbst Synaptic kann nicht sagen, ob Sie das Repository deaktivieren und aktualisieren.


6
2017-10-20 21:37





sudo grep *packagename* /var/lib/apt/lists/* | grep "Filename:"

Quelle


4
2017-10-20 21:29





apt auf Ubuntu 16.04+

Neben apt-cache Parameter wie policy, showpkg und show, jetzt haben wir einen einfacheren, einfach zu merkenden Parameter, Befehl: apt (nicht mit Klassik verwechseln apt-*):

apt policy <package> 

oder die Alternative mit mehr Info apt show <package>, Zeile beginnend mit "APT-Sources:".

Beschreibung: Dieses Paket bietet Kommandozeilen-Tools zum Suchen und Verwalten sowie Abfragen von Informationen zu Paketen als Low-Level-Zugriff auf alle Funktionen der libapt-pkg-Bibliothek. Diese beinhalten:apt-get, apt-cache, apt-cdrom, apt-config, apt-key.

Grundlegende Befehle von apt --help

Andere auch einfach zu merkende Parameter:

  • list - Listen Pakete basierend auf Paketnamen
  • search - Suche in Paketbeschreibungen
  • show - Paketdetails anzeigen
  • update - Liste der verfügbaren Pakete aktualisieren
  • install - Pakete installieren
  • remove - Pakete entfernen
  • upgrade - Aktualisieren Sie das System, indem Sie Pakete installieren / aktualisieren
  • full-upgrade - Aktualisieren Sie das System durch Entfernen / Installieren / Aktualisieren von Paketen
  • edit-sources - Bearbeiten Sie die Quelldatei

2
2018-06-01 19:27



apt policy xxx erscheint identisch mit apt-cache policy xxxVielleicht sollte das stattdessen ein Kommentar sein. Oder erwähne das zumindest apt show scheint das zu brauchen -a wechseln Sie, um "zusätzliche Datensätze" aus anderen Quellen zu sehen - Xen2050


Das ist ein bisschen genauer:

apt-cache show <packagename> | grep "Version:"

Die neueste Version wird normalerweise installiert, es sei denn, Sie haben apt-pinning festgelegt oder eine bestimmte Version explizit installiert.


1
2018-03-15 06:02