Как удалить пользователя из файла dpkg-statoverride?

Как удалить пользователя из файла dpkg-statoverride?

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

user@localhost~$ sudo apt-get install any-package

... package installation output omitted for brevity ...

dpkg: unrecoverable fatal error, aborting:
syntax error: unknown user 'puppet' in statoverride file
E: Sub-process /usr/bin/dpkg returned an error code (2)

Итак, /usr/bin/dpkg-statoverride имеет опцию удаления пути, но двоичный файл выдает ту же ошибку, когда я пытаюсь запустить его вне общего контекста установки apt-get.

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

Насколько я могу судить, statoverride сообщает менеджеру пакетов, что нужно установить определенные вещи по определенному пути, и портит флаг setuid, так что потенциально это может открыть кучу дыр в безопасности, устанавливая программы, совладельцем которых является неиспользуемый пользователь и группа. Есть ли причина, по которой dpkg-statoverride не обновляется вместе с остальной системой при удалении пользователя? И есть ли способ обойти это, чтобы мне не приходилось :adduser -> install -> deluser: каждый раз, когда я хочу установить пакет?

решение1

Вы можете попробовать это:

sudo sed -i '/puppet/d' /var/lib/dpkg/statoverride

Следует удалить пользователя из statoverride и снова предоставить вам доступ к установке.

Связанный контент