Я хотел бы вывести список всех не установленных в данный момент пакетов (например, они видны в Synaptic), используя только команды оболочки. Как мне это сделать?
Спасибо!
Это не быстро, но будет работать:
apt-cache pkgnames | xargs -i1 dpkg-query -f '${Package}\n' --show '1' 2>&1 | perl -lne 'if(/matching (.*)$/){ print $1 }'
Предупреждение: При этом будут напечатаны все пакеты, даже метапакеты и виртуальные пакеты.
Это должно быть так:
aptitude -F %p search '!~i'
В этом списке будут перечислены все пакеты, которые в настоящее время не установлены (включая виртуальные пакеты и пакеты, в которых установлены только их файлы конфигурации). Если вам не нужны виртуальные пакеты (это то, что Synaptic показывает как Не установлено ), расширите шаблон поиска до:
aptitude -F %p search '!~i!~v'
Вам, вероятно, нужно установить aptitude
, так как больше не является частью установки по умолчанию с Ubuntu 10.10.