Загрузите исходные пакеты Ubuntu

Я разработал сценарий, который должен загрузить исходный код некоторых установленных пакетов Ubuntu. Чтобы сделать это, я делаю следующее:

  1. дать dpkg --get-selections иметь список установленных пакетов;
  2. для каждого пакета я делаю dpkg -s <package name> чтобы к grep Версия.
  3. После того как у меня есть имя пакета и версия, я просто делаю следующее: apt-get source <package name>=<package version> загружать код

Проблема состоит в том, что это работает 95% времени, потому что существует ситуация, в которой это не работало. Обычно проблемой является версия. Например, если я имею:

apt-get source host=1:9.9.5.dfsg-3ubuntu0.5
apt-get source p7zip-full=9.20.1~dfsg.1-4+deb7u1build0.14.04.1

это не работало. Я должен сделать что-то вроде этого:

apt-get source host=1:9.9.5.dfsg
apt-get source p7zip-full=9.20.1~dfsg.1-4+deb

и существуют другие. В целом я не могу найти способ получить версию <version> это, когда я даю команду:

apt-get source <package name>=<version>

это работает 100% времени. Кто-то Вас знает, как решить эту проблему?

4
задан 7 October 2016 в 05:22

1 ответ

Без большего количества данных я подозреваю, что пакет был обновлен со времени при сборе списка. Архивы не сохраняют полные источники для всех версий никогда опубликованными.

Главным образом (игнорирующий некоторые проблемы синхронизации), они просто сохраняют последние версии ("испытанные обновления", "гостеприимные обновления", и т.д.), и исходная версия для каждого выпуска в кармане выпуска ("надежный человек", "гостеприимный", и т.д.). Это что apt-get source ссылки команды.

Теперь, не вся надежда потеряна. Посмотрите на этот ответ. Если Вы посмотрите на (например), acpi пакет и нажмете на 'view full publishing history' в правом верхнем углу, то Вы будете видеть, что Панель запуска сохраняет все, что это опубликовало. Так, можно найти более старые версии таким образом и даже изучить панель запуска API, чтобы видеть, можно ли к тем данным получить доступ программным способом.

1
ответ дан 1 December 2019 в 10:35

Другие вопросы по тегам:

Похожие вопросы: