比較兩個儲存庫 - 所有軟體包版本的表格?

比較兩個儲存庫 - 所有軟體包版本的表格?

我想查看並比較兩個不同存儲庫中所有軟體包的版本。就像是:

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

有這樣的網站嗎?

或者一種獲取存儲庫中所有軟體包版本列表的方法,以便我可以通過腳本進行比較?

用例是能夠知道系統升級後會更改哪些版本。

答案1

使用工具雷麥迪遜對於不同發行版(然後是不同存儲庫)中的一個軟體包版本信息

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

例如,

$ rmadison alsa-utils

輸出看起來像 [package version 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

或者您可以訪問此網站查看列表

http://packages.ubuntu.com/

答案2

你可以拜訪Ubuntu更新如下:

搜尋依據包包:

在此輸入影像描述


然後點擊包搜尋(您會在頁面中找到不同的版本,如下所示):

在此輸入影像描述


您還可以根據版本查找可能匹配的包名,然後點擊任何人以了解更多詳細資訊!

在此輸入影像描述


這裡的包名稱僅作為範例。希望這有助於找到合適的軟體包名稱 + PPA 根據 Ubuntu 發行版。

答案3

對於兩個不同的儲存庫,您可以比較Packages檔案。該文件特定於發布管道(trustytrusty-updates等)、元件(mainmultiverse等)和套件的類型(binary-amd64source等)。

通常您可以在以下位置找到該文件:

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

相對於大多數官方鏡像的根。

一個例子是http://mirror.cse.iitk.ac.in/ubuntu/dists/precise/main/binary-amd64/Packages.gz

您可以取得Packages您感興趣的檔案(如有必要,請解壓縮),grepforPackageVersion,然後比較輸出。

範例程式碼:

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

相關內容