|
Re: [Lug-bg] Debian dpkg
- Subject: Re: [Lug-bg] Debian dpkg
- From: "Alexandar Angelov" <alexandarangelov@xxxxxxxxx>
- Date: Tue, 30 Jan 2007 10:45:12 +0200
Благодаря, чудесен отговор, който мнogo ми помогна!
On 1/29/07, Peter Pentchev <roam@xxxxxxxxxxx> wrote:
On Sat, Jan 27, 2007 at 11:40:12AM +0200, Alexandar Angelov wrote: > Как мога да разбера кои фаилове в не са инсталирани от dpkg
Не е директен отговор на въпроса ти, но пълен списък от всички файлове, за които dpkg "знае", можеш да получиш с комбинация от dpkg -l (или -W) и dpkg -L, примерно нещо като:
dpkg -l | awk '/^ii/ {print $2}' | xargs dpkg -L
"dpkg -l" ти дава списък от всички пакети, които си инсталирал някога (по-точно дава списък от всички пакети, за които има информация във /var/lib/dpkg/status, което е горе-долу същото). Следващата стъпка
избира само пакетите, които *наистина* са инсталирани, след което ги подава на "dpkg -L", което ти показва всички файлове, които тези пакети са инсталирали.
(и преди някой да се е обадил, да, знам, че всъщност и двете "dpkg"
горе би трябвало да бъдат "dpkg-query")
Оттук нататък имаш няколко възможности: - сортираш резултата (най-добре през sort -u, защото в резултата от dpkg -L има и директории, и какво ли не);
- филтрираш резултата, за да намериш само файловете, примерно през нещо като perl -lne 'print if -f' - пускаш един "find / -type f", за да намериш всички файлове, които действително съществуват върху системата ти (можеш да замениш "/" с
един или повече пътища, които действително те интересуват, ако не иска наистина всички) - сортираш резултата от find / -type f - сравняваш единия сортиран списък с файлове (тези, за които dpkg знае) с другия (тези, които действително са при теб), примерно с "diff -u"
- интерпретираш по някакъв начин резултата от "diff -u" и правиш с него каквото ти харесва :) (за интерпретирането са удобни неща като egrep -e '^-' или egrep -e '^[+][^+]' ... но можеш да го направиш и
по други начини, под Unix поне имаш голям избор от средства за обработка на текстова информация :)
Надявам се това да е помогнало поне малко; ако има нужда от още идеи и пояснения, казвай смело :)
Поздрави, Петър
-- Peter Pentchev roam@xxxxxxxxxxx roam@xxxxxxxx roam@xxxxxxxxxxx PGP key:
http://people.FreeBSD.org/~roam/roam.key.asc Key fingerprint FDBA FD79 C26F 3C51 C95E DF9E ED18 B68D 1619 4553 I am not the subject of this sentence.
_______________________________________________ Lug-bg mailing list Lug-bg@xxxxxxxxxxxxxxxxxx http://linux-bulgaria.org/mailman/listinfo/lug-bg
_______________________________________________
Lug-bg mailing list
Lug-bg@xxxxxxxxxxxxxxxxxx
http://linux-bulgaria.org/mailman/listinfo/lug-bg
|
|
|