Я очень новичок в ubuntu, и я пытаюсь найти команду, которая сообщает, какие пакеты и версии установленный на моей «песочнице». Я ищу, чтобы связать это как выходной файл
Я знаю, что вы можете использовать dpkg --get-selections | awk '{print $1}' для просмотра всех установленных пакетов. но не уверен в версиях, я дам вам знать, если я найду что-нибудь еще
Хотя выбор полей из выхода dpkg -l, безусловно, работает, более фундаментальная команда dpkg-query позволяет настраивать выходные поля и формат, не прибегая к дополнительным средствам обработки текста. Как это бывает, plain
dpkg-query -W
без строкой форматированного текста дает точно список имен пакетов и версий пакетов (эквивалентно dpkg -l | awk '{print $2,$3}'), как отмечено в man dpkg-query:
-W, --show [package-name-pattern...]
Just like the --list option this will list all packages matching
the given pattern. However the output can be customized using
the --showformat option. The default output format gives one
line per matching package, each line having the name (extended
with the architecture qualifier for Multi-Arch same packages)
and installed version of the package, separated by a tab.
Если вы хотите, чтобы более красивый вывод был более похожим на dpkg -l, вы могли бы использовать что-то вроде
dpkg-query -W -f='${binary:Package;-25}\t${Version}\n'
для выравнивания по левому краю имен пакетов в поле шириной 25 столбцов, или
dpkg-query -W -f='${db:status-abbrev}\t${binary:Package;-25}\t${Version}\n'
, чтобы включить флаги состояния ii и т.д. в начале каждой строки.