Вопрос Почему `dpkg -S / var / lib / dpkg` показывает« базовые файлы, dpkg »?


Мне любопытно узнать, какой пакет предоставляет /var/lib/dpkg , поэтому я запускаю эту команду

$ dpkg -S /var/lib/dpkg
base-files, dpkg: /var/lib/dpkg

Приведенный результат отображает пакет, который обеспечивает /var/lib/dpkg вместе с base-files строка, как указано выше.

$ dpkg -S /var/lib/aptitude
aptitude: /var/lib/aptitude
$ dpkg -S /var/lib/apt
apt: /var/lib/apt

Но я не видел никаких base-files строка на указанном выше выходе. Бесполезные файлы внутри /var/lib/apt каталог также необходим для запуска системы Ubuntu.

Итак, почему dpkg -S /var/lib/dpkg команда показывает «base-files», string? Почему он не отображается на других?


2
2018-04-16 03:08


происхождения




ответы:


Вы ищете каталог, а не конкретный файл / двоичный файл, поэтому любой пакет может устанавливать файлы внутри каталога:

➜  ~  dpkg -L dpkg | grep '/var/lib/dpkg'
/var/lib/dpkg
/var/lib/dpkg/info
/var/lib/dpkg/updates
/var/lib/dpkg/parts
/var/lib/dpkg/alternatives
➜  ~  dpkg -L base-files | grep '/var/lib/dpkg'
/var/lib/dpkg
➜  ~  

Как вы видете, base-files также создает /var/lib/dpkg каталог (точная причина, почему, я игнорирую его, возможно, были удалены некоторые файлы, но журнал изменений не дает никакого очевидного намека) и пакет dpkg, который помимо того, что является владельцем /var/lib/dpkg каталог, установленные файлы внутри него.


2
2018-04-16 04:01