it-swarm.com.de

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

Gibt es eine Methode oder einen Befehl, die bzw. der erkennen kann, aus welchem ​​Repository ein Paket stammt?

144
dfme

Erforderliche Befehle:

  • _dpkg -s <package>_ - Ermöglicht es Ihnen, die Version zu finden, die Sie installiert haben. ( Quelle )
  • _apt-cache showpkg <package>_ - zeigt eine Liste der verfügbaren Versionen des Pakets an. Für jede Version wird die Quelle des Pakets in Form eines Indexdateinamens angegeben.

Wenn Sie die Quelle des derzeit installierten Pakets ermitteln möchten, benötigen Sie die Ausgabe von _dpkg -s <package>_. Ansonsten können Sie sich einfach die neueste Version ansehen, die von _apt-cache showpkg <package>_ ausgegeben wurde.

Beispiel:

_$ dpkg -s liferea
Package: liferea
Status: install ok installed
Priority: optional
Section: web
Installed-Size: 760
Maintainer: Ubuntu Developers <[email protected]>
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
...
_

Anhand des ersten Befehls kann ich erkennen, dass Liferea Version 1.6.2-1ubuntu6 installiert ist. Aus dem zweiten Befehl kann ich erkennen, dass diese Version in _/var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_lucid_main_binary-i386_Packages_ aufgeführt ist.

Ohne allzu großen Aufwand kann ich ableiten, dass die Quellzeile archive.ubuntu.com, ubuntu, lucid und main.

Und natürlich enthält mein _/etc/apt/sources.list_ die folgende Zeile.

_deb http://archive.ubuntu.com/ubuntu lucid main universe restricted multiverse
_
109

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

apt-cache policy <Package Name>

Für Ubuntu 16.04 und höher gibt es einen kürzeren Weg, dies zu tun:

apt policy <Package Name>
101
SuB

apt unter Ubuntu 16.04+

Neben apt-cache policy, showpkg und show haben wir jetzt einen einfacheren, leicht zu merkenden Unterbefehl: apt (nicht mit dem klassischen apt-* verwechseln):

apt policy <package> 

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

Beschreibung: Dieses Paket bietet Befehlszeilentools zum Suchen und Verwalten sowie zum Abfragen von Informationen zu Paketen als Low-Level-Zugriff auf alle Funktionen von libapt-pkg Bibliothek. Dazu gehören: apt-get, apt-cache, apt-cdrom, apt-config, apt-key.

Grundlegende Befehle von apt --help

Andere auch leicht zu merkende Unterbefehle:

  • apt list - Liste Pakete basierend auf Paketnamen
  • apt search - Suche in Paketbeschreibungen
  • apt show - Paketdetails anzeigen
  • apt update - Liste der verfügbaren Pakete aktualisieren
  • apt install - Pakete installieren
  • apt remove - Pakete entfernen
  • apt purge - Pakete entfernen nd Konfigurationsdateien :

    Durch das Entfernen eines Pakets werden alle gepackten Daten entfernt, es verbleiben jedoch normalerweise kleine (geänderte) Benutzerkonfigurationsdateien, falls das Entfernen versehentlich war. Wenn Sie nur eine Installationsanforderung für das versehentlich entfernte Paket absenden, wird die Funktion wie zuvor in diesem Fall wiederhergestellt. Andererseits können Sie diese Reste auch bei bereits entfernten Paketen durch Aufrufen von purge entfernen. Beachten Sie, dass dies keine Daten oder Konfigurationen beeinflusst, die in Ihrem Home-Verzeichnis gespeichert sind.

  • apt upgrade - Aktualisieren Sie das System, indem Sie Pakete installieren/aktualisieren

  • apt full-upgrade - Aktualisieren Sie das System, indem Sie Pakete entfernen/installieren/aktualisieren
  • apt edit-sources - Bearbeiten Sie die Quellinformationsdatei
8
Pablo Bianchi

Leider werden diese Informationen während der Paketinstallation nicht aufgezeichnet. Sie können eine Vermutung anstellen, ob sich das Repository noch in der Quellliste befindet und das Repository noch das Paket enthält:

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

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

6
kanaka
Sudo grep *packagename* /var/lib/apt/lists/* | grep "Filename:"

Quelle

4
sBlatt

Das ist etwas 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
mchid