比较两个存储库——所有软件包版本的表格?

比较两个存储库——所有软件包版本的表格?

我想查看并比较两个不同存储库中所有软件包的版本。例如:

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

有这样的网站吗?

或者有一种方法可以获取存储库中所有软件包版本的列表,以便我可以通过脚本进行比较?

用例是能够知道系统升级后哪些版本会发生改变。

答案1

使用工具麦迪逊对于不同发行版(以及不同的存储库)中的一个软件包版本信息

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

例如,

$ rmadison alsa-utils

输出如下所示 [软件包版本 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更新如下:

根据搜索

在此处输入图片描述


然后点击包搜索(您会在页面中发现不同的版本,如下所示):

在此处输入图片描述


您还可以根据版本查找可能匹配的包名称,然后单击任何人以了解更多详细信息!

在此处输入图片描述


此处的包名称仅用作示例。希望这有助于找到合适的根据 Ubuntu-release 的包名称 + PPA。

答案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您感兴趣的文件(如果需要,可以解压缩),grep对于PackageVersion,然后比较输出的差异。

示例代码:

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

相关内容