Вот один из способов понять это: сравнение.
deltik@node51 [~]$ dpkg -l | tail -n +6 | wc -l
3170
deltik@node51 [~]$ ls /usr/share/doc/ | wc -l
2964
Каждая строка dpkg -l | tail -n +6
отформатирован так:
ii zram-config 0.5 all Upstart job to enable zram support
Каждая строка ls /usr/share/doc/
отформатирована так:
zram-config
Чтобы команды соответствовали друг другу, они должны выглядеть так: dpkg -l | tail -n +6 | awk '{print $2}' | sort -h
и ls /usr/share/doc/ | sort -h
Теперь поместите результаты в два файла:
deltik@node51 [~]$ dpkg -l | tail -n +6 | awk '{print $2}' | sort -h > /tmp/a.txt
deltik@node51 [~]$ ls /usr/share/doc/ | sort -h > /tmp/b.txt
И измените их (используйте colordiff
для более удобного просмотра):
colordiff /tmp/{a,b}.txt
В моей системе я видел эти шаблоны:
Если у вас две разные архитектуры, вы увидите, что /usr/share/doc/
показывает только базовый пакет без добавленной архитектуры:
305,308c305,306
< gcc-5-base:amd64
< gcc-5-base:i386
< gcc-6-base:amd64
< gcc-6-base:i386
---
> gcc-5-base
> gcc-6-base
Это составляет большую часть различий в моей системе multiarch (i386
и amd64
).
Если вы игнорируете различные архитектуры из команды dpkg -l
(dpkg -l | tail -n +6 | awk '{print $2}' | awk -F":" '{print $1}' | sort -h | uniq > /tmp/a.txt
), вы увидите, что некоторые пакеты ничего не помещают в /usr/share/doc/
, например, пакеты, начинающиеся с linux-image
.
Или в /usr/share/doc/
есть другое имя папки, например NetworkManager
для пакета network-manager
или HTML
для различных пакетов KDE.