Wie erhalte ich eine Übersicht der installierten Pakete nach Repository und kann die Unterschiede zur Neuinstallation erkennen?

Wie erhalte ich eine Übersicht der installierten Pakete nach Repository und kann die Unterschiede zur Neuinstallation erkennen?

Ich habe gerade mehrere PCs auf Ubuntu Trusty 14.04 aktualisiert. Dafür habe ich alles von Grund auf neu installiert, um ein sauberes System zu erhalten, und nur /home (und /etc als Referenz) behalten.

Dieses Mal habe ich jedoch das Upgrade mit dem Upgrade-Tool durchgeführt und möchte wissen, welche Unterschiede meine PCs im Vergleich zu einem normalen System aufweisen. Denn ich habe viele verschiedene Pakete aus unterschiedlichen Quellen installiert und möglicherweise hier und da einige Dateien bearbeitet. Natürlich weiß ich, dass apt alles automatisch erledigen sollte, aber ich bin der paranoide Typ und möchte wirklich sichergehen.

Im Wesentlichen hätte ich gerne Folgendes:

  1. Erhalten Sie eine Liste aller installierten Pakete und für jedes davon das Repository, aus dem es stammt (falls verfügbar).. Dies wäre grundsätzlich ein apt-cache policyfür jedes Paket, aber in einer übersichtlichen Liste zusammengefasst.

  2. Bei Paketen aus "inoffiziellen Quellen" ein Hinweis, ob eine Version aus den offiziellen Quellen verfügbar ist(Ich meine das in /etc/apt/sources.list aufgeführte Repo).

    Manchmal installiere ich gepatchte Pakete von Drittanbietern und dieses Paket wird aufgrund einer widersprüchlichen Versionsnummer nicht aktualisiert. Ich möchte eine Liste haben, die mir sagt, ob es sinnvoll ist, auf die offizielle Version zurückzugreifen.

  3. Die Liste aller Dateien im Dateisystem, die aus einem installierten Paket stammen (inkl. Konfigurationsdateien), aber nachträglich geändert wurden.

  4. Die Liste aller Dateien im Dateisystem (außer /home und möglicherweise /etc), die nicht aus einem installierten Paket stammen.

Grundsätzlich möchte ich wissen, welche Unterschiede es bei meinem System gibt, wenn ich das Upgrade im Vergleich zu einer Neuinstallation durchführe und von Fall zu Fall entscheiden, ob diese Unterschiede zu Instabilitäten führen könnten.

Antwort1

Meine Frage wurde bereits teilweise beantwortet unterWie erhalte ich eine Liste veralteter Pakete?.

Die Antworten legen nahe,

apt-show-versions | grep 'No available version'   # Show all package not coming from repo
aptitude search '~o'                              # Similar

Ich denke, wir können auch Folgendes tun:

apt-show-versions | grep -v uptodate              # All packages that are not up-to-date

Dies würde zu Paketen führen, die nicht auf dem neuesten Stand sind, also Pakete, die aus aktivierten Repositories aktualisierbar sind, oder Pakete, die nicht aus solchen Repositories stammen.

Um eine Liste aller verfügbaren Versionen für solche Pakete zu erhalten, können wir Folgendes tun:

apt-show-versions -a $(apt-show-versions | grep -v uptodate | sed -r 's/:.*//')

Ich habe auch eine Frage mit Verweis auf deborphan -a(Wie liste ich in apt installierte Pakete auf, die nicht von einem Repository unterstützt werden?)

deborphan -a             # List all packages that have no reverse dependencies

Zusammenfassend kann ich also sagen, dass ich einige Antworten auf die Punkte 1 und 2 habe, aber noch nach 3 und 4 suche:

  1. apt-show-versionsist eine gute Antwort
  2. Das Gleiche gilt für eine der Befehlskombinationen oben. Der wichtigste Schritt besteht hier natürlich darin, zunächst sicherzustellen, dass in /etc/apt nur offizielle Repositories aktiviert sind.
  3. ?
  4. ?

verwandte Informationen