Linux-Bulgaria.ORG
навигация

 

начало

пощенски списък

архив на групата

семинари ...

документи

как да ...

 

 

Предишно писмо Следващо писмо Предишно по тема Следващо по тема По Дата По тема (thread)

Re: [Lug-bg] Debian dpkg


  • Subject: Re: [Lug-bg] Debian dpkg
  • From: Peter Pentchev <roam@xxxxxxxxxxx>
  • Date: Mon, 29 Jan 2007 14:46:53 +0200

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.

Attachment: pgp4PIFMUmaf_.pgp
Description: PGP signature

_______________________________________________
Lug-bg mailing list
Lug-bg@xxxxxxxxxxxxxxxxxx
http://linux-bulgaria.org/mailman/listinfo/lug-bg

  • Във връзка с:
  • Относно:

 

наши приятели

 

линукс за българи
http://linux-bg.org

FSA-BG
http://fsa-bg.org

OpenFest
http://openfest.org

FreeBSD BG
http://bg-freebsd.org

KDE-BG
http://kde.fsa-bg.org/

Gnome-BG
http://gnome.cult.bg/

проект OpenFMI
http://openfmi.net

NetField Forum
http://netField.ludost.net/forum/

 

 

Linux-Bulgaria.ORG

Mailing list messages are © Copyright their authors.