Gibt es eine Methode oder einen Befehl, die bzw. der erkennen kann, aus welchem Repository ein Paket stammt?
Gibt es eine Methode oder einen Befehl, die bzw. der erkennen kann, aus welchem Repository ein Paket stammt?
Antworten:
dpkg -s <package>- Damit können Sie die Version 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 Ausgabe von ansehen apt-cache showpkg <package>.
$ 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
...
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 aufgeführt ist /var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_lucid_main_binary-i386_Packages.
Ohne zu viel Aufwand, kann ich ableiten , dass die Source - Leitung enthält archive.ubuntu.com, ubuntu, lucid, und main.
Und natürlich /etc/apt/sources.listenthält my die folgende Zeile.
deb http://archive.ubuntu.com/ubuntu lucid main universe restricted multiverse
apt-cache policy <package name>(aus: superuser.com/a/236605/37279 )
trustyPaketquellen verwende, dann füge utopicich vorübergehend meine hinzu sources.list, um Version 1.20ubuntu3 zu installieren, init-system-helpersund entferne dann das Repo wieder von meiner sources.list, apt-cache showpkg init-system-helperslüge nur über die ursprüngliche Paketliste und gebe apt-cache policy init-system-helpersnur das Offensichtliche an.
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>
apt-cache policysiehe auch superuser.com/a/236605/61370
apt-cache policyist gut, aber manchmal müssen Sie apt-cache showpkgMD5-Summen aus dem Paket vergleichen. Siehe auchdebsums --changed
policyOption ist am nützlichsten, wenn man sie mitsources.list
apt policy <package-name> betont hat, kann ab 16.04LTS eine noch einfachere verwendet werden. Sobald 14.04LTS 2018 EOL-zertifiziert wurde, kann diese Antwort bearbeitet werden, um den neueren Befehl zu verwenden.
apt auf Ubuntu 16.04+Neben apt-cache policy, showpkgund showjetzt haben wir ein einfacheren, mit einfachem Subbefehle zu erinnern: apt(nicht mit klassischen verwechseln apt-*):
apt policy <package>
Oder die Alternative mit mehr Infos 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 der Bibliothek libapt-pkg. Dazu gehören: apt-get, apt-cache, apt-cdrom, apt-config, apt-key.
apt --helpAndere auch leicht zu merkende Unterbefehle:
apt list - Liste Pakete basierend auf Paketnamenapt search - Suche in Paketbeschreibungenapt show - Paketdetails anzeigenapt update - Liste der verfügbaren Pakete aktualisierenapt install - Pakete installierenapt remove - Pakete entfernenapt purge- Pakete und Konfigurationsdateien entfernen :
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 durch Entfernen / Installieren / Aktualisieren von Paketenapt edit-sources - Bearbeiten Sie die Quellinformationsdateiapt policy xxxscheint identisch zu sein apt-cache policy xxx, vielleicht hätte dies stattdessen ein Kommentar sein sollen. Oder zumindest erwähnen, apt showdass der -aSchalter benötigt, um "zusätzliche Datensätze" aus anderen Quellen zu sehen
Leider werden diese Informationen während der Paketinstallation nicht aufgezeichnet. Sie können eine gute 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.