Como resolver o erro "usuário desconhecido 'elasticsearch' no arquivo statoverride"?

8

Estou tentando instalar o Elastic Search, baixei o elasticsearch-2.3.4.debarquivo. Quando tento usar o comando:

sudo dpkg -i elasticsearch-1.7.2.deb

Ele gera este erro:

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

Como posso consertar isso?

akshay ramesh
fonte

Respostas:

19

No meu caso, seguir estas etapas funcionou:

  • Comece desinstalando completamente todas as instâncias do Elasticsearch em sua máquina:

    apt remove --purge elasticsearch
    apt autoremove
    
  • Em seguida, abra o /var/lib/dpkg/statoverridearquivo no seu editor e remova as linhas que mencionam o elasticsearchusuário.

Não é uma solução ideal, pois envolve a edição manual de arquivos que normalmente são modificados apenas por dpkgsi só, mas em execução dpkg-reconfiguree apt --reinstall installnão funcionaram para mim; esse foi o último recurso.

Jules
fonte
1
'apt autoremove' não era necessário, a edição do statoverride fez o truque
user1007727 11/11
@ user1007727 Obrigado! É bom ter um ponto de dados extra. De qualquer forma, estou saindo da autoremoveinvocação porque foi necessário para mim (IIRC) e ajuda a organizar o pior caso do sistema.
Jules
5

abra o arquivo

/var/lib/dpkg/statoverride

você deve ver algo como:

root elasticsearch 755 /var/log/elasticsearch

ou

root elasticsearch 755 /var/lib/elasticsearch

Nesse caso, execute dpkg-statoverride --remove:

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

Eu apenas preciso

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

O problema para mim foi que renomeei o usuário padrão para alinhar com meu esquema de nomeação no meu servidor.

Resolvi esse problema editando o

/var/lib/dpkg/statoverride

e substituindo o nome antigo pelo novo. Não há necessidade de desinstalar o aplicativo.

mythos
fonte