新しいプラグインをインストールできません:構造のクリーニングが必要です

こんにちは。コンテナ/app.yml に reactions プラグインまたは translation プラグインを追加してアプリを再構築しようとすると、以下のような出力が表示されます。奇妙なことに、エラーメッセージにはオランダ語のフレーズも含まれています。

Ensuring launcher is up to date
Fetching origin
warning: unable to access '.git/info/grafts': Structure moet worden opgeschoond
warning: unable to access '.git/info/grafts': Structure moet worden opgeschoond
warning: unable to access '.git/info/grafts': Structure moet worden opgeschoond
Updating Launcher...
warning: unable to access '.git/info/grafts': Structure moet worden opgeschoond
warning: unable to access '.git/info/grafts': Structure moet worden opgeschoond
warning: unable to access '.git/info/grafts': Structure moet worden opgeschoond
Updating 333b879..f982cc4
warning: unable to access '.git/info/attributes': Structure moet worden opgeschoond
warning: unable to access '.git/info/exclude': Structure moet worden opgeschoond
error: Your local changes to the following files would be overwritten by merge:
        image/base/Dockerfile
        image/base/install-gifsicle
        image/base/install-imagemagick
        image/base/install-nginx
        image/base/install-pngcrush
        image/base/install-pngquant
        image/base/install-redis
Please commit your changes or stash them before you merge.
Aborting
failed to update
Launcher updated, restarting...

このメッセージが CTRL+C を押すまで無限に繰り返されます。

おそらく何か間違った操作をしているのでしょう。すべてを最新バージョンに更新しようと試みましたが、効果はありませんでした。

他に提供できる情報はありますか?プラグインを再度インストールする前に試せるクリーンアップ手順はありますか?

2 つのプラグンをクローンする行を追加し、

 ./launcher rebuild app

を実行しましたか?

こんにちは、この手順に従いました。

containers/app.yml のプラグイン部分:

## プラグインはここに入ります
## 詳細は https://meta.discourse.org/t/19157 を参照してください
hooks:
  after_code:
- exec:
    cd: $home/plugins
    cmd:
      - git clone https://github.com/discourse/docker_manager.git
      - git clone https://github.com/paviliondev/discourse-locations.git
      - git clone https://github.com/discourse/discourse-sitemap.git
#          - git clone https://github.com/discourse/discourse-reactions.git
      - git clone https://github.com/discourse/discourse-translator.git

さっきもう一度試しましたが、出力が同じサイクルで繰り返し表示されます。

Hey Jay、これについて何か心当たりはありますか?追加で提供できる情報などはありますか?

申し訳ありませんが、特に問題は見つかりませんでした。- exec の前にスペースが 2 つ必要かもしれません(あるいはコピー&ペーストの仕方がおかしかったのかもしれません)。これは私が認識しているエラーでも、そのようなエラーを引き起こす可能性のあるものでもありません。

はい、- exec の前にスペースが 4 つ、その残りの部分にはさらに 2 つのスペースが必要かもしれません。app.yml をリネームするか、discourse-setup を再実行してから、慎重に discourse_docker の行をコピー&ペーストし、追加のプラグインに合わせて編集してみてください。

もしこの問題に予算を割いて解決したい場合は、Redirecting… または Redirecting… をご覧ください。私が確認いたします。

「いいね!」 1

提案された方法を試しましたが、discourse-setup を実行した際に以下のメッセージが表示されました。

WARNING: Discourse requires at least 2GB of swap when running with 2GB of RAM
or less. This system does not appear to have sufficient swap space.

Without sufficient swap space, your site may not work properly, and future
upgrades of Discourse may not complete successfully.

Ctrl+C to exit or wait 5 seconds to have a 2GB swapfile created.
install: '/swapfile' にアクセスできません: 構造体をクリーンアップする必要があります
fallocate: /swapfile を開けません: 構造体をクリーンアップする必要があります
mkswap: /swapfile を開けません: 構造体をクリーンアップする必要があります
swapon: /swapfile を開けません: 構造体をクリーンアップする必要があります
/swapfile       swap    swap    auto      0       0
vm.swappiness = 10
Failed to create swap: root 権限を持っていますか?実際のハードウェア、または完全仮想化されたサーバー上で実行していますか?

free コマンドを実行すると、VPS にスワップ領域が存在しないことが示されています。以前も同様の状況だったことがなく、それ以外はサイトが正常に動作しているため、不思議です。プラグインのインストールも成功しています。

スワップ領域を作成するか、何かクリーンアップを行うべきでしょうか?

./launcher cleanup を実行しましたが、改善されませんでした。

私が気になっているのは、このオランダ語のエラーメッセージです:

Structure moet worden opgeschoond

これは discourse-setup を実行中やスワップ操作中に発生し、.git/info/grafts にアクセスしようとしている際に現れます。

app.yml を削除または名前を変更し、Discourse のセットアップを再実行しても、まだエラーが発生しましたか?それは奇妙ですね。

./launcher cleanup が役立つとは思えません。これは主に Docker 関連のものを(試行して)クリーンアップするだけです。

スワップ領域の作成に失敗しました:root 権限を持っていますか?物理サーバーですか、それとも完全に仮想化されたサーバーですか?

こんにちは。質問があります:root 権限を持っていますか?完全に仮想化されたサーバーをお使いですか?

非常に長い間前にインストールされましたか?

しかし、この件については、私にももうアイデアが尽きてしまいました。

OK、ファイルシステムの問題に違いない。これを見てほしい:'info’ディレクトリに cd すらできないんだ:

root@skrzat:/var/discourse/.git# ls -al
ls: 'info'にアクセスできません: ファイルシステムが破損しています
合計 32
drwxr-xr-x   8 root root  198 3月 26 21:54 .
drwxr-xr-x  11 root root  246 1月  7 22:18 ..
drwxr-xr-x   2 root root    6 11月13 11:43 branches
-rw-r--r--   1 root root  274 11月13 11:43 config
-rw-r--r--   1 root root   73 11月13 11:43 description
-rw-r--r--   1 root root    0 3月 26 21:53 FETCH_HEAD
-rw-r--r--   1 root root   23 11月13 11:43 HEAD
drwxr-xr-x   2 root root  301 11月13 11:43 hooks
-rw-r--r--   1 root root 7395 1月  7 22:18 index
d?????????   ? ?    ?       ?            ? info
drwxr-xr-x   3 root root   30 11月13 11:43 logs
drwxr-xr-x 155 root root 4096 3月 24 15:13 objects
-rw-r--r--   1 root root   41 3月 26 21:52 ORIG_HEAD
-rw-r--r--   1 root root 1572 11月13 11:43 packed-refs
drwxr-xr-x   5 root root   46 11月13 11:43 refs

すべての疑問符が本当に奇妙だ。

自分で調査してみるよ。Discourse 自体とはおそらく無関係だろう。

「いいね!」 1

皆さん、こんにちは。この件をどう解決したかご報告します。

確かに、XFS ファイルシステムが深刻な破損を起こしていました。修復には XFSprogs のインストールが必要でしたが、apt-get でインストールしようとすると同じエラーが発生し、できませんでした。

プラグインのインストールやアプリの再構築はメモリを大量に消費する作業だと理解しました。しかし、私の環境は 2GB の RAM と 15GB のディスク容量という小さなハードウェア上で動作する小規模なフォーラムです。スワップ領域は有効化されておらず、プラグインのインストール中にシステムを数回再起動しなければならなかったため、メモリ不足に陥ったのではないかというのが私の仮説です。これはファイルシステムにとって良くなく、XFS は特に GIT フォルダなどに対して保護策を講じています。

そこで、バックアップを復元しました(幸い S3 上にあったので問題ありませんでした)。app.yml ファイルのバックアップも取り、VPS を再構築して、このガイド(Debian VPS)に従ってスワップ領域を設定しました。1 時間足らずでシステムは再び稼働しました。少し汗をかきましたが :sweat_smile:

目指していた reactions プラグインも、今では完璧に動作しています!

「いいね!」 4

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.