Список установленных программ

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Список установленных программ

Сообщение SunFreeX » 31.05.2011 19:08:29

Как получить список установленных программ в Linux?
SunFreeX
незнакомец
 
Сообщения: 6
Зарегистрирован: 27.07.2010 16:04:10

Re: Список установленных программ

Сообщение Odyssey » 31.05.2011 19:46:32

В rpm-дистрибутивах:
Код: Выделить всё
rpm -qa

В deb-дистрибутивах:
Код: Выделить всё
dpkg –-get-selections

В дистрибутивах с установкой из исходников, типа Gentoo, будет что-то другое.

В Lazarus можно вызвать указанные команды через TProcess и проанализировать их вывод.
Odyssey
энтузиаст
 
Сообщения: 580
Зарегистрирован: 29.11.2007 17:32:24

Re: Список установленных программ

Сообщение alex208210 » 01.06.2011 08:54:17

function Tform1.shellv(commd:string):ansistring;
var
S : TProcess;
Buf: ansistring;
Count : longint;
begin
S:=TProcess.Create(Nil);
S.Commandline:=commd;
S.Options:=[poUsePipes,poNoConsole];
S.execute;
SetLength(buf, 1000);
Repeat
Count:=s.output.read(buf[1], length(buf));
result:=result + Copy(buf, 1, Count-1);
until Count=0;
S.Free;
end;

memo1.lines.add(shellv('rpm -qa')); {rpm}
memo1.lines.add(shellv('dpkg –-get-selections')); {deb}
memo1.lines.add(shellv('emerge -pve world')); {gentoo}
memo1.lines.add(shellv('equo query list installed')); {sabayon}

лучше всего делать вывод в файл например так shell('rpm -qa > /tmp/1'); а потом парсить файл. Функция shell естьв модуле unix
alex208210
постоялец
 
Сообщения: 207
Зарегистрирован: 12.05.2010 13:16:51


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 50

Рейтинг@Mail.ru