dpkg -V, что означает вывод?

Я запустил DPKG Verify на всех пакетах и ​​получил этот вывод, и я не знаю, что это значит:

??5?????? c /etc/lightdm/lightdm-gtk-greeter.conf
??5?????? c /etc/default/chromium-browser
??5??????   /usr/local/etc/no-ip2.conf
??5??????   /var/lib/dokuwiki/data/cache/_dummy
??5?????? c /etc/xdg/menus/mate-settings.menu
??5?????? c /etc/apache2/apache2.conf
??5?????? c /etc/apt/apt.conf.d/10periodic
??5?????? c /etc/sysctl.conf
??5??????   /var/lib/xine/xine.desktop
??5??????   /boot/vmlinuz-4.4.0-21-generic
??5??????   /usr/lib/python3/dist-packages/cupshelpers/__pycache__/cupshelpers.cpython-35.pyc
??5??????   /usr/lib/python3/dist-packages/cupshelpers/__pycache__/xmldriverprefs.cpython-35.pyc
??5??????   /usr/lib/python3/dist-packages/cupshelpers/__pycache__/config.cpython-35.pyc
??5??????   /usr/lib/python3/dist-packages/cupshelpers/__pycache__/openprinting.cpython-35.pyc
??5??????   /usr/lib/python3/dist-packages/cupshelpers/__pycache__/__init__.cpython-35.pyc
??5??????   /usr/lib/python3/dist-packages/cupshelpers/__pycache__/ppds.cpython-35.pyc
??5??????   /usr/lib/python3/dist-packages/cupshelpers/__pycache__/installdriver.cpython-35.pyc
??5?????? c /etc/xdg/autostart/mate-volume-control-applet.desktop
??5?????? c /etc/libvirt/qemu/networks/default.xml

2 ответа

Решение

dpkg -V или же dpkg --verify проверяет целостность пакетов, сравнивая метаданные, хранящиеся в его базе данных, и пути к файлам. Вы можете выбрать выходной формат, используя --verify-format вариант, но в настоящее время он поддерживает только rpm формат. В rpm Отформатируйте только пути, которые не прошли проверку.

Возьмите пример неудачной проверки:

??5?????? c /etc/lightdm/lightdm-gtk-greeter.conf

Вот:

  • ? указывает, что проверка не удалась, например, из-за разрешения

  • Третий символ, 5указывает, что он прошел md5sum() проверять

  • c во втором столбце указывается атрибут, отмеченный только conffile (c) поддерживается

От man dpkg:

--verify-format format-name

Устанавливает формат вывода для команды --verify.

Единственный в настоящее время поддерживаемый формат вывода - это rpm, который состоит из строки для каждого пути, который не прошел проверку. Строки начинаются с 9 символов, чтобы сообщить о конкретных результатах проверки, "?" подразумевает, что проверка не может быть выполнена (отсутствие поддержки, права доступа к файлу и т. д.), '.' подразумевает пройденную проверку, а буквенно-цифровой символ подразумевает, что конкретная проверка не пройдена; единственная функциональная проверка - это проверка md5sum, обозначенная 5 на третьем символе.

За строкой следует пробел и символ атрибута (в настоящее время 'c' для conffiles), еще один пробел и путь.

От dpkg страница руководства:

  -V, --verify [package-name...]
          Verifies the integrity of package-name or all packages if
          omitted, by comparing information from the files installed by
          a package with the files metadata information stored in the
          dpkg database (since dpkg 1.17.2).  The origin of the files
          metadata information in the database is the binary packages
          themselves. That metadata gets collected at package unpack
          time during the installation process.

          Currently the only functional check performed is an md5sum
          verification of the file contents against the stored value in
          the files database.  It will only get checked if the database
          contains the file md5sum. To check for any missing metadata in
          the database, the --audit command can be used.

          The output format is selectable with the --verify-format
          option, which by default uses the rpm format, but that might
          change in the future, and as such, programs parsing this
          command output should be explicit about the format they
          expect.

А "?" означает, что проверка не может быть выполнена, скорее всего, из-за отсутствия поддержки или прав доступа к файлам. "С" означает, что проверка выполняется в файле конфигурации.

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