Zwei Repos vergleichen – eine Tabelle mit allen Paketversionen?

Zwei Repos vergleichen – eine Tabelle mit allen Paketversionen?

Ich möchte die Versionen aller Pakete in zwei verschiedenen Repos sehen und vergleichen. So etwas wie:

libfoo | 1.2 | 1.3 libbar | 2.4 | 3.0 libbaz | ... | ...

Gibt es ein solches Netz?

Oder eine Möglichkeit, eine Liste aller Paketversionen in einem Repo zu erhalten, sodass ich sie selbst per Skript vergleichen kann?

Der Anwendungsfall besteht darin, zu wissen, welche Versionen sich nach einem System-Upgrade ändern.

Antwort1

Verwenden Sie das ToolAbonnierenfür ein Paket Versionsinformationen in verschiedenen Distributionen (also verschiedenen Repositories)

  1. sudo apt-get install devscripts
  2. rmadison [the package name]

Zum Beispiel,

$ rmadison alsa-utils

und die Ausgabe sieht wie folgt aus: [Paketversion Distro Arch]:

 alsa-utils | 1.0.25-1ubuntu5   | precise         | source, amd64, armel, armhf, i386, powerpc
 alsa-utils | 1.0.25-1ubuntu5.2 | precise-updates | source, amd64, armel, armhf, i386, powerpc
 alsa-utils | 1.0.27.2-1ubuntu2 | trusty          | source, amd64, arm64, armhf, i386, powerpc, ppc64el
 alsa-utils | 1.0.28-1ubuntu2   | vivid           | source, amd64, arm64, armhf, i386, powerpc, ppc64el
 alsa-utils | 1.0.29-0ubuntu1   | wily            | source, amd64, arm64, armhf, i386, powerpc, ppc64el

Oder Sie können auf diese Website gehen, um die Listen anzuzeigen

http://packages.ubuntu.com/

Antwort2

Du kannst besuchenUbuntu-Updateswie folgt:

Suche nachPakete:

Bildbeschreibung hier eingeben


Klicken Sie dann auf Paketsuche(Sie finden auf der Seite verschiedene Versionen, wie unten gezeigt):

Bildbeschreibung hier eingeben


Sie können auch nach möglichen Übereinstimmungen mit Paketnamen je nach Version suchen und dann auf eine beliebige Option klicken, um weitere Einzelheiten zu erfahren!

Bildbeschreibung hier eingeben


Hier werden Paketnamen nur als Beispiel verwendet. Ich hoffe, dies hilft, geeignete zu findenPaketname + PPA gemäß Ubuntu-Version.

Antwort3

Für zwei verschiedene Repositories können Sie die PackagesDateien vergleichen. Diese Datei ist spezifisch für den Release-Kanal ( trusty, trusty-updates, usw.), die Komponente ( main, multiverse, usw.) und den Typ der Pakete ( binary-amd64, source, usw.).

Normalerweise finden Sie die Datei hier:

/ubuntu/dists/$CHANNEL/$COMPONENT/binary-$ARCH/Packages{,.gz,.bz2,.xz}

relativ zur Wurzel der meisten offiziellen Spiegel.

Ein Beispiel wärehttp://mirror.cse.iitk.ac.in/ubuntu/dists/precise/main/binary-amd64/Packages.gz

Sie können die PackagesDateien, die Sie interessieren, grepfür Packageund abrufen (ggf. entpacken) Versionund dann die Ausgabe vergleichen.

Ein Beispielcode:

curl -s http://mirror.cse.iitk.ac.in/ubuntu/dists/trusty/main/binary-amd64/Packages.gz | gunzip | grep -E '^(Package|Version)' | awk 'ORS=NR%2?FS:RS {print $2}' > repo-a.txt 
curl -s ftp://ftp.iitb.ac.in/distributions/ubuntu/archives/dists/trusty/main/binary-amd64/Packages.gz | gunzip | grep -E '^(Package|Version)' | awk 'ORS=NR%2?FS:RS {print $2}' > repo-b.txt 
diff repo-a.txt repo-b.txt

verwandte Informationen