如何解决“ statoverride文件中的未知用户'elasticsearch'”错误?


8

我一直在尝试安装Elastic Search,我已经下载了elasticsearch-2.3.4.deb文件。当我尝试使用命令时:

sudo dpkg -i elasticsearch-1.7.2.deb

它输出此错误:

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

我怎样才能解决这个问题?

Answers:


19

就我而言,请按照以下步骤操作:

  • 首先,完全卸载计算机上的所有Elasticsearch实例:

    apt remove --purge elasticsearch
    apt autoremove
    
  • 然后,/var/lib/dpkg/statoverride在编辑器中打开文件,并删除提及elasticsearch用户的行。

这不是理想的解决方案,因为它涉及手动编辑文件,这些文件通常仅由其dpkg自身修改,但是正在运行dpkg-reconfigure并且apt --reinstall install对我不起作用。这是不得已的方法。


1
不需要“ apt autoremove”,编辑statoverride可以解决问题
user1007727

@ user1007727谢谢!很高兴有一个额外的数据点。autoremove无论如何,我都将保留调用,因为它对我来说是必需的(IIRC),它有助于使系统最糟糕的情况变得混乱。
2013年

5

打开文件

/var/lib/dpkg/statoverride

您应该看到类似以下内容:

root elasticsearch 755 /var/log/elasticsearch

要么

root elasticsearch 755 /var/lib/elasticsearch

如果是这样,请运行dpkg-statoverride --remove:

dpkg-statoverride --remove /var/log/elasticsearch
dpkg-statoverride --remove /var/lib/elasticsearch

2

我只需要

sudo dpkg-statoverride --remove /var/lib/elasticsearch
sudo dpkg-statoverride --remove /var/log/elasticsearch

2

对我来说,问题是我重命名了默认用户,以使其与服务器上的命名方案保持一致。

我通过编辑

/var/lib/dpkg/statoverride

文件,并用新名称替换旧名称。无需卸载应用程序。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.