web-dev-qa-db-fra.com

Comment supprimer un utilisateur du fichier dpkg-statoverride?

J'ai essayé d'installer un package après avoir supprimé certains serveurs dont je n'avais plus besoin, et de supprimer les utilisateurs et les groupes du package logiciel supprimé. Je suis allé chercher et installer un nouveau paquet et j'ai eu l'erreur suivante.

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)

Donc,/usr/bin/dpkg-statoverride a une option pour supprimer un chemin, mais le binaire renvoie la même erreur lorsque je tente de l'exécuter en dehors du contexte d'installation complet d'apt-get.

Alors, j’ai simplement ajouté la marionnette utilisateur, et je peux télécharger à nouveau des paquets, mais j’essaie de supprimer tous les éléments superflus de mon système de développement. Par conséquent, en ce qui me concerne, ce n’est pas une solution simplement parce que cela fonctionne. .

Autant que je sache, statoverride indique au gestionnaire de paquets d'installer certains éléments sur un chemin donné et dérange l'indicateur setuid. Il pourrait donc potentiellement ouvrir de nombreuses failles de sécurité en installant des programmes détenus en copropriété par un autre utilisateur. utilisateur et groupe non utilisés. Y a-t-il une raison pour laquelle dpkg-statoverride n'est pas mis à jour avec le reste du système lorsqu'un utilisateur est supprimé? Et y a-t-il un moyen de contourner cela pour que je n'ai pas à: adduser -> installer -> deluser: chaque fois que je veux installer un paquet?

4
blanket_cat

Vous pouvez essayer ceci:

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

Devrait retirer l’utilisateur de statoverride et vous permettre d’installer à nouveau

8
ElefantPhace