Сравнить два репозитория — таблица всех версий пакетов?

Сравнить два репозитория — таблица всех версий пакетов?

Я хотел бы увидеть и сравнить версии всех пакетов в двух разных репозиториях. Что-то вроде:

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

Есть ли такая сеть?

Или способ получить список всех версий пакетов в репозитории, чтобы я мог сравнить их с помощью скрипта?

Вариант использования — возможность узнать, какие версии изменятся после обновления системы.

решение1

Используйте инструментrmadisonдля одной версии пакета информация в разных дистрибутивах (ну тогда разные репозитории)

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

Например,

$ rmadison alsa-utils

и вывод выглядит так [версия пакета дистрибутив архитектура]:

 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. Этот файл относится к каналу выпуска ( trusty, trusty-updates, и т.д.), компоненту ( main, multiverse, и т.д.) и типу пакетов ( binary-amd64, source, и т.д.).

Обычно файл можно найти по адресу:

/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для Packageи Version, а затем сравнить выходные данные.

Пример кода:

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

Связанный контент