Мне нужно получить список исходных пакетов, у которых нет двоичных пакетов в Debian.
Ответом может быть перечисление всех исходных пакетов, что позволит нам получить связь diff
между доступным двоичным файлом и доступным исходным пакетом.
решение1
Насколько мне известно, все исходные пакеты в Debian должны создавать как минимум один двоичный пакет как минимум на одной архитектуре.
Чтобы подсчитать количество двоичных пакетов, созданных исходными пакетами, доступными в настроенных репозиториях исходного кода системы ( deb-src
строк), выполните:
awk '/Package:/{p=$2;b=0} /Binary:/{b=NF - 1} /^$/{printf "%s: %d\n", p, b} END{printf "%s: %d\n", p, b}' /var/lib/apt/lists/*Sources
Не удается найти ни одного исходного пакета без двоичных пакетов в текущих стабильном, тестовом, нестабильном и экспериментальном репозиториях.
Если вы хотите определить, какие исходные пакеты не создают никаких двоичных файлов на данной архитектуре, вы можете выполнить следующие действия:
вывести список уникальных имен исходных пакетов по всему миру:
awk '/Package:/{print $2}' /var/lib/apt/lists/*_Sources | sort -u > source-packages
перечислите исходные пакеты, используемые для создания двоичных файлов данной архитектуры (за исключением
all
, который включен в индексы, специфичные для архитектуры):awk '/(Package|Source):/{source=$2}/Version:/{print source}' /var/lib/apt/lists/*-amd64_Packages | sort -u > amd64-packages
список записей, присутствующих в списке глобальных исходных пакетов, но не используемых для
amd64
:comm -23 source-packages amd64-packages