Я собираюсь написать сценарий, который делает это:
dpkg -s
для каждого файла. ] Идея состоит в том, что со временем я установил много программного обеспечения make install
и хотел бы получить список оставшихся файлов из установленного вручную программного обеспечения, которое я с тех пор удалил.
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
find /usr/lib -type f -exec dpkg -S {} + 2>&1 >/dev/null | sed -r 's/^[^/]+//'
Я сейчас предупрежу: это медленно.
Вы можете выполнить следующую команду
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 просмотров, поэтому я сомневаюсь, что он может быть чем-то полезен.