Comment résoudre l'erreur "utilisateur inconnu 'elasticsearch' dans le fichier statoverride"?

8

J'ai essayé d'installer Elastic Search, j'ai téléchargé le elasticsearch-2.3.4.debfichier. Lorsque j'essaie d'utiliser la commande:

sudo dpkg -i elasticsearch-1.7.2.deb

Il génère cette erreur:

dpkg: unrecoverable fatal error, aborting: unknown user 'elasticsearch' in statoverride file

Comment puis-je réparer cela?

akshay ramesh
la source

Réponses:

19

Dans mon cas, les étapes suivantes ont fonctionné:

  • Commencez par désinstaller complètement toutes les instances Elasticsearch sur votre machine:

    apt remove --purge elasticsearch
    apt autoremove
    
  • Ensuite, ouvrez le /var/lib/dpkg/statoverridefichier dans votre éditeur et supprimez les lignes mentionnant l' elasticsearchutilisateur.

Ce n'est pas une solution idéale car cela implique de modifier manuellement des fichiers qui ne sont normalement modifiés que par dpkglui-même, mais qui fonctionnent dpkg-reconfigureet apt --reinstall installne fonctionnent pas pour moi; c'était un dernier recours.

Jules
la source
1
'apt autoremove' n'était pas nécessaire, l'édition de statoverride a fait l'affaire
user1007727
@ user1007727 Merci! C'est bien d'avoir un point de données supplémentaire. Je pars autoremovequand même dans l' invocation parce que c'était nécessaire pour moi (IIRC), et ça aide à désencombrer le pire des cas du système.
Jules
5

ouvrir le dossier

/var/lib/dpkg/statoverride

vous devriez voir quelque chose comme:

root elasticsearch 755 /var/log/elasticsearch

ou

root elasticsearch 755 /var/lib/elasticsearch

si c'est le cas, exécutez dpkg-statoverride --remove:

dpkg-statoverride --remove /var/log/elasticsearch
dpkg-statoverride --remove /var/lib/elasticsearch
Abid Khan
la source
2

j'ai juste besoin

sudo dpkg-statoverride --remove /var/lib/elasticsearch
sudo dpkg-statoverride --remove /var/log/elasticsearch
fangxing
la source
2

Le problème pour moi était que j'ai renommé l'utilisateur par défaut pour correspondre à mon schéma de nommage sur mon serveur.

J'ai résolu ce problème en modifiant le

/var/lib/dpkg/statoverride

fichier et en remplaçant l'ancien nom par le nouveau. Pas besoin de désinstaller l'application.

mythos
la source