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)
sudo apt-get install devscripts
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
Antwort2
Du kannst besuchenUbuntu-Updateswie folgt:
Suche nachPakete:
Klicken Sie dann auf Paketsuche(Sie finden auf der Seite verschiedene Versionen, wie unten gezeigt):
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!
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 Packages
Dateien 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 Packages
Dateien, die Sie interessieren, grep
für Package
und abrufen (ggf. entpacken) Version
und 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