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.list
enthä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 )
trusty
Paketquellen verwende, dann füge utopic
ich vorübergehend meine hinzu sources.list
, um Version 1.20ubuntu3 zu installieren, init-system-helpers
und entferne dann das Repo wieder von meiner sources.list
, apt-cache showpkg init-system-helpers
lüge nur über die ursprüngliche Paketliste und gebe apt-cache policy init-system-helpers
nur 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 policy
siehe auch superuser.com/a/236605/61370
apt-cache policy
ist gut, aber manchmal müssen Sie apt-cache showpkg
MD5-Summen aus dem Paket vergleichen. Siehe auchdebsums --changed
policy
Option 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
, showpkg
und show
jetzt 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 --help
Andere 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 xxx
scheint identisch zu sein apt-cache policy xxx
, vielleicht hätte dies stattdessen ein Kommentar sein sollen. Oder zumindest erwähnen, apt show
dass der -a
Schalter 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.