Tentei instalar um pacote depois de excluir alguns servidores que não eram mais necessários e remover os usuários e grupos do pacote de software excluído. Fui buscar e instalar um novo pacote e recebi o seguinte erro.
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)
Portanto, /usr/bin/dpkg-statoverride tem uma opção para remover um caminho, mas o binário gera o mesmo erro quando tento executá-lo fora de todo o contexto de instalação do apt-get.
Então, acabei de adicionar o fantoche do usuário e posso baixar pacotes novamente, mas estou tentando remover quaisquer elementos estranhos do meu sistema de desenvolvimento, então, no que me diz respeito, isso não é uma solução só porque funciona .
Pelo que eu sei, o statoverride diz ao gerenciador de pacotes para instalar certas coisas em um determinado caminho e mexe com o sinalizador setuid, então, potencialmente, poderia estar abrindo um monte de falhas de segurança ao instalar programas de co-propriedade de um usuário e grupo não utilizados. Existe uma razão pela qual o dpkg-statoverride não é atualizado com o resto do sistema quando um usuário é removido? E existe uma maneira de contornar isso para que eu não precise :adduser -> install -> deluser: toda vez que eu quiser instalar um pacote?
Responder1
Você pode tentar isso:
sudo sed -i '/puppet/d' /var/lib/dpkg/statoverride
Deve remover o usuário do statoverride e dar-lhe acesso para instalar novamente