Назад | Перейти на главную страницу

Что именно делает эта команда dpkg?

Я исправил проблему с разрешениями для nagios, как описано Вот.

Команда была:

sudo dpkg-statoverride --update --add nagios www-data 2710 /var/lib/nagios3/rw
sudo dpkg-statoverride --update --add nagios nagios 751 /var/lib/nagios3

Хорошо, очевидно, что это какое-то изменение разрешений. Но где это происходит? Где хранится? Это просто модификация chmod?

dpkg-statoverride - это инструмент управления базой данных, поддерживаемой dpkg, которая содержит настройки владельца и режима для заданных путей к файлам.

Вызванный, как в вашем вопросе, он будет делать две вещи: немедленно устанавливать владение / режим для данных файлов, если они существуют (--update) и сохраните новую запись в файле переопределения (--add). Последнее гарантирует, что в дальнейшем dpkg операции, которые создают или изменяют перечисленные файлы, будут использовать значения переопределения, а не те, которые определены в пакете.

Эти переопределения являются постоянными. Обычно они лучше обычных chmod/chown поскольку это избавляет вас от необходимости не забывать сбрасывать разрешения вручную при обновлении или переустановке пакета.

Существующие переопределения можно просмотреть, запустив dpkg-statoverride --list.

Вы мог просто сделай это вручную. Это просто смена разрешений. Причина использования dpkg-statoverride заключается в том, что он запоминает его при обновлениях и т.п.

Это инструмент, указывающий dpkg использовать эти разрешения. Фактически, вы также можете установить его перед установкой пакета.

Флаг --update используется при изменении разрешений с помощью dpkg-statoverride для уже существующих файлов.