Я не уверен, существует ли существующий код для этого. Но можно посмотреть на файл /var/lib/dpkg/status
. Вся информация об установленных пакетах хранится в этом файле.
Написать код, который проанализирует этот файл, довольно легко даже в случае, если Вы не являетесь великими в Python.
Не уверенный, если это не должно быть перемещено в askubuntu, но просто использовать тот же подход в качестве в упомянутом потоке. Выполненный dpkg/dpkg-query, чтобы получить дамп всех данных и использовать стандартный Python, анализирующий механизмы для извлечения релевантной информации.
Конечно, так как Вы уже разветвляетесь, можно сделать все текстовое искажение в самом ударе.
С другой стороны, найдите файл состояния, который содержит версии, если существует кто-либо ("Dir:: И т.д.:: Состояние"?). Этот подход был бы самым чистым.
Передайте -F
(--format
) опция к способности для определения, какие поля отображены.
aptitude --disable-columns -F '%p %v' search '~A'
Из Python используйте apt_pkg
модуль от python-apt
пакет.