LINUX.ORG.RU

Получение списка файлов, не принадлежащих никакому пакету в Debian.


0

1

Всем ку. Ищу такой скрипт, аналог Arch-eвскому

#!/bin/bash
time /usr/bin/pacman -Ql | cut -d ' ' -f 2- | sort -u > db.txt
time find /arch /bin /boot /etc /lib /opt /sbin /usr 2>/dev/null | while read i; do
	if [ ! -d "$i" ]; then
		echo "$i"
	fi;
done | sort -u > fs.txt
time comm -23 fs.txt db.txt > non-db.txt

#для проверки:
#cat non-db.txt | while read i; do pacman -Qo "$i" 2>&1; done | tee test.txt
Может быть, кто-нибудь составлял такой скрипт. В крайнем случае, ищу команду, выводящую список всех файлов, установленных пакетами(аналог pacman -Ql без аргумента)(сам подставлю в готовый скрипт).


#!/bin/bash -x

find /var/lib/dpkg/info/ -name \*.list |xargs sort -u >a1
find /bin /boot /etc /lib /lib64 /sbin /selinux /usr /var \! -type l |sort >b1

comm -13 a2 b1 >c1
grep -Ev \
-e '^/var/lib/dpkg/' \
-e '^/var/lib/apt/' \
-e '^/var/lib/update-rc.d/' \
-e '^/var/cache/apt/' \
-e '^/usr/share/mime/' \
-e '^/etc/alternatives/' \
-e '^/etc/rc.\.d/' \
-e '^/lib/modules/' \
-e '^/usr/lib/python(2\.7|3\.2)/.+\.pyc$' \
c1 >c2

Правда, сейчас проверить не на чем.

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

У тебя опечатка, в 4 строке вместо a2 должно быть a1. Ну или в первой некомментированной строке наоборот. А так- огромное спасибо, оно работает. Кстати, хочу отметить, быстрее, чем Арчевский аналог. Ну и небольшое дополнение: надо бы добавить в список исключения «/var/tmp». Большое спасибо!

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