Я хотел бы увидеть и сравнить версии всех пакетов в двух разных репозиториях. Что-то вроде:
libfoo | 1.2 | 1.3 libbar | 2.4 | 3.0 libbaz | ... | ...
Есть ли такая сеть?
Или способ получить список всех версий пакетов в репозитории, чтобы я мог сравнить их с помощью скрипта?
Вариант использования — возможность узнать, какие версии изменятся после обновления системы.
решение1
Используйте инструментrmadisonдля одной версии пакета информация в разных дистрибутивах (ну тогда разные репозитории)
sudo apt-get install devscripts
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
Или вы можете зайти на этот сайт, чтобы увидеть списки.
решение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