Jak rozwiązać błąd „elasticsearch” nieznanego użytkownika w pliku statoverride?

8

Próbowałem zainstalować Elastic Search, plik został pobrany elasticsearch-2.3.4.deb. Kiedy próbuję użyć polecenia:

sudo dpkg -i elasticsearch-1.7.2.deb

Wysyła ten błąd:

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

Jak mogę to naprawić?

akshay ramesh
źródło

Odpowiedzi:

19

W moim przypadku zadziałały następujące kroki:

  • Rozpocznij od całkowitego odinstalowania wszelkich instancji Elasticsearch na komputerze:

    apt remove --purge elasticsearch
    apt autoremove
    
  • Następnie otwórz /var/lib/dpkg/statoverrideplik w edytorze i usuń wiersze o elasticsearchużytkowniku.

Nie jest to idealne rozwiązanie, ponieważ wymaga ręcznej edycji plików, które normalnie są modyfikowane tylko przez dpkgsiebie, ale działają dpkg-reconfigurei apt --reinstall installnie działały dla mnie; to był ostateczność.

Jules
źródło
1
'apt autorove' nie było konieczne, edycja statoverride
załatwiła sprawę
@ user1007727 Dzięki! Dobrze mieć dodatkowy punkt danych. I tak zostawiam autoremovewywołanie, ponieważ było ono dla mnie wymagane (IIRC) i pomaga uporządkować najgorszy przypadek systemu.
Jules
5

otwórz plik

/var/lib/dpkg/statoverride

powinieneś zobaczyć coś takiego:

root elasticsearch 755 /var/log/elasticsearch

lub

root elasticsearch 755 /var/lib/elasticsearch

jeśli tak, uruchom dpkg-statoverride --remove:

dpkg-statoverride --remove /var/log/elasticsearch
dpkg-statoverride --remove /var/lib/elasticsearch
Abid Khan
źródło
2

potrzebuję jedynie

sudo dpkg-statoverride --remove /var/lib/elasticsearch
sudo dpkg-statoverride --remove /var/log/elasticsearch
Fangxing
źródło
2

Problem polegał na tym, że zmieniłem nazwę domyślnego użytkownika, aby był zgodny ze schematem nazewnictwa na moim serwerze.

Rozwiązałem ten problem, edytując

/var/lib/dpkg/statoverride

plik i zastępując starą nazwę nową. Nie musisz odinstalowywać aplikacji.

mity
źródło