Мне нужно программно собрать информацию apt Origin
и Suite
для определенного пакета, чтобы настроить unattended-upgrades
.
Я могу вручную найти соответствующий файл информации о состоянии apt и затем обработать его, однако мне нужно автоматизировать этот процесс.
Например, если I:
ppa:qbittorrent-team/qbittorrent-stable
qbittorrent-nox
среди других файлов, apt будет создать /var/lib/apt/lists/ppa.launchpad.net_qbittorrent-team_qbittorrent-stable_ubuntu_dists_xenial_InRelease
, это файл, который я ищу.
Я пытался с apt-cache showpkg qbittorrent-nox
, но это дает .../ppa.launchpad.net_qbittorrent-team_qbittorrent-stable_ubuntu_dists_xenial_main_binary-armhf_Packages
, что не то, что я ищу.
Существует ли точный программный способ найти имя файла *Release
, начиная с пакета?
На основе исследования я сделал, нет никакого прямого способа решить эту проблему.
Однако согласно документ формата репозитория Debian, именование информационных файлов состояния имеет точные правила, которые могут использоваться.
Поэтому можно найти пакет _Packages
соответствующее имя файла через apt-cache showpkg
, затем обработать его согласно правилам формата репозитория:
_<component>_binary-<arch>_Packages
_Packages
затем:
_InRelease
и тестируют получающееся имя файла Release
(который является альтернативным именованием для файлов состояния с внешней подписью)