「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

どうすれば修正できますか?

回答:


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)に必要だったので、とにかく呼び出しに残します。これは、システムの最悪のケースを整理するのに役立ちます。
ジュール、

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

ファイルを作成し、古い名前を新しい名前に置き換えます。アプリケーションをアンインストールする必要はありません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.