我一直在尝试安装 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
我怎样才能解决这个问题?
答案1
就我而言,按照以下步骤操作有效:
首先完全卸载机器上的所有 Elasticsearch 实例:
apt remove --purge elasticsearch apt autoremove
/var/lib/dpkg/statoverride
然后,在编辑器中打开该文件并删除提及elasticsearch
用户的行。
这不是一个理想的解决方案,因为它涉及手动编辑通常仅由其dpkg
自身修改的文件,但运行时dpkg-reconfigure
对apt --reinstall install
我来说不起作用;这是最后的手段。
答案2
打开文件
/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
答案3
我只需要
sudo dpkg-statoverride --remove /var/lib/elasticsearch
sudo dpkg-statoverride --remove /var/log/elasticsearch
答案4
对我来说,问题是我重命名了默认用户,以符合我服务器上的命名方案。
我通过编辑解决了这个问题
/var/lib/dpkg/statoverride
文件并将旧名称替换为新名称。无需卸载应用程序。