2

Недавно я несколько раз запускал dpkg-query -L $package для одного и того же пакета и получал разные результаты. Разница в том, что один файл, который мы будем называть $file , отсутствует.

В промежутке между этими двумя командами я немного разбирался с этим пакетом, выполняя dpkg-reconfigure $package и aptitude reinstall $package , а также удаляя $file .

Версия пакета (как показано в aptitude show $package) остается такой же, какой она была, когда я делал первый dpkg-query -L .

Я немного озадачен тем, как dpkg-query -L генерирует свой список; Я думал, что это показывает фактическое содержание самого пакета, но эти данные, кажется, подразумевают, что его результаты связаны с фактическим состоянием системы.

Восстановление файла не меняет вывод пакета dpkg-query -L $package .

Как dpkg-query -L генерирует свой список файлов?

1 ответ1

0

dpkg-query -L $package (а также пакет dpkg -L $package) получают список установленных файлов из файла /var/lib/dpkg/info/$package.list .

Скорее всего, скрипт /var/lib/dpkg/info/$package.config (или что-либо еще, выполняемое dpkg-reconfigure) для этого пакета создает файл и добавляет его в список.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .