LINUX.ORG.RU

Получить список установленных приложений


0

0

Приветствую,

существует ли какая-нибудь C/C++ библиотека, позволяющая получить список установленных в системе через пакетный менеджер приложений? В идеале — хочется получить абстрацию от rpm/deb. Как минимум интересуют следующие поля приложений — название, версия, разработчик.

для RPM существует librpm4 (API правда еще не смотрел), однако несовсем понятно какую библиотеку использовать в случае deb: такой вещи как libdpkg не существует, но зато есть libept, libapt-pkg, libapt-front. Если есть у кого-нибудь опыт работы с вышеуказанными библиотеками, просьба поделиться своим мнением о них.

Спасибо.

★★★

По теме - к сожалению, ничего не посоветую, т.к. не сталкивался с подобными проблемами. Но очень любопытно, зачем тебе это надо ? Пишешь какую-то новую тулзу для управления пакетами ?

runtime ★★★★ ()
Ответ на: комментарий от kondor

Когда менеджурам нехuй делать, они яйца лижут.

ip1981 ☆☆ ()
Ответ на: комментарий от splinter

Так вам нужно универсальное средство для всех дистрибутивов? Боюсь, такое неосуществимо. Или же ваш проект потянет за собой тонну зависимостей.

Eddy_Em ☆☆☆☆☆ ()
Ответ на: комментарий от Eddy_Em

арчую.

2ТС надо скриптом такие вещи выполнять. алсо скрипт этот может определять, какой пакетный менеджер использовать для сбора информации.

anonymous ()

Дебиан парсить легко. Инфа об установленных пакетах находится в /var/lib/dpkg/available, даже библиотека есть для получения инфы об apt - ept. Погугли.

mono ★★★★★ ()
Ответ на: комментарий от kondor

все-таки не подходит. в случае когда создается чуть больше чем одна транзакция с запросом, начинают вылезать ошибки, что D-Bus отказывает в соединении из-за превышенного числа текущих соединений.

kondor ★★★ ()

Это не для c++ задача. На перле должно делаться легко и быстро, с привлечением command-line интерфейсов пакетных менеджеров.

Manhunt ★★★★★ ()

grep-ать /usr/share/applications ?

ananas ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.