Как я могу получить список файлов на моем компьютере, которые не принадлежат & ldquo; принадлежат & ldquo; каким пакетом?

Я собираюсь написать сценарий, который делает это:

  • Просматривает каждый файл в / usr / lib
  • Выполняет поиск dpkg -s для каждого файла. ]
  • Сообщает список «потерянных» файлов, не принадлежащих ни к какому пакету .deb.

Идея состоит в том, что со временем я установил много программного обеспечения make install и хотел бы получить список оставшихся файлов из установленного вручную программного обеспечения, которое я с тех пор удалил.

9
задан 29 February 2012 в 17:47

3 ответа

sudo aptitude install cruft
man cruft
sudo addgroup cruft
sudo chmod g+rwx /var/spool/cruft
sudo chown root:cruft
sudo addgroup $USER cruft
cruft -r cruftreport
sudo chown root:root /var/spool/cruft
less cruftreport
0
ответ дан 29 February 2012 в 17:47
find /usr/lib -type f -exec dpkg -S {} + 2>&1 >/dev/null | sed -r 's/^[^/]+//'

Я сейчас предупрежу: это медленно.

0
ответ дан 29 February 2012 в 17:47

Вы можете выполнить следующую команду

join -t '' -v1 <(find /usr/lib | sort) \
               <(grep -h /usr/lib /var/lib/dpkg/info/*.list | sort -u)

, которая сравнивает список файлов в /usr/lib со списком файлов, присутствующих хотя бы в файле в /var/lib/dpkg/info/<NAME>.list (файлы, используемые в dpkg -S ]). Опция -v1 будет сообщать о файлах, присутствующих в первом списке, но не во втором.

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

0
ответ дан 29 February 2012 в 17:47

Другие вопросы по тегам:

Похожие вопросы: