アップグレード失敗 - 再インストールできません

ディスクの問題が発生してコンテナがクラッシュしたため、失敗したアップグレードからの復旧を試みています。現在、./discourse-doctor や ./launcher rebuild.. を実行しても、さらには新規インストールを試みても、以下の場所で失敗します。コンテナイメージに問題があるようです。

2.0.20260915-0028: Pulling from discourse/base
Digest: sha256:5028d077b061225507e7093fda1ff5bdc64d483b5c0397776f9a52c50008cd9b
Status: Downloaded newer image for discourse/base:2.0.20260915-0028
docker.io/discourse/base:2.0.20260915-0028
Ensuring launcher is up to date
Launcher is up-to-date
2.0.20260915-0028: Pulling from discourse/base
Digest: sha256:5028d077b061225507e7093fda1ff5bdc64d483b5c0397776f9a52c50008cd9b
Status: Image is up to date for discourse/base:2.0.20260915-0028
docker.io/discourse/base:2.0.20260915-0028
/usr/local/lib/ruby/3.4.0/rubygems/basic_specification.rb:42:in 'singleton class': uninitialized constant Gem::Deprecate (NameError)
        from /usr/local/lib/ruby/3.4.0/rubygems/basic_specification.rb:41:in '<class:BasicSpecification>'
        from /usr/local/lib/ruby/3.4.0/rubygems/basic_specification.rb:7:in '<top (required)>'
        from /usr/local/lib/ruby/3.4.0/rubygems/specification.rb:11:in 'Kernel#require_relative'
        from /usr/local/lib/ruby/3.4.0/rubygems/specification.rb:11:in '<top (required)>'
        from /usr/local/lib/ruby/3.4.0/rubygems.rb:1372:in 'Kernel#require_relative'
        from /usr/local/lib/ruby/3.4.0/rubygems.rb:1372:in '<top (required)>'
        from <internal:gem_prelude>:2:in 'Kernel#require'
        from <internal:gem_prelude>:2:in '<internal:gem_prelude>'
cd /pups && git pull && git checkout v1.0.3 && /pups/bin/pups --stdin
git: error while loading shared libraries: /lib/x86_64-linux-gnu/libpcre2-8.so.0: file too short
bootstrap failed with exit code 127
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.
078e7b891ce7ebf3454c59f2c0ab346d023d16539b4d8b4b33bf268f5109753b

こんにちは @embusa 件名ありがとうございます。

エラーを確認しました。問題はDiscourseアプリケーション自体ではなく、ホスト/Docker環境のレベルにあるようです。主なエラーは libpcre2-8.so.0: file too short で、これはディスクの問題に続いてシステムライブラリが破損したことを強く示唆しています。

あっ、ディスクの問題なら確かに納得いきますね。コンテナから来ているのかと思っていました。新しいシステムで試してみます。ずっと同じ場所を見ていたせいで、それに気づきませんでした。冒頭のRubyのエラーに注目しすぎていたんです。

はい、その通りです。Ruby のエラーは単なる紛らわしい情報でした(libpcre2 のエラーはディスクやシステムの問題を指しています)。クリーンなシステムでテストすれば、すぐに確認できるはずです。

その後の議論は DM でお願いします。ありがとうございました。

私はこう試してみます

cd /var/discourse
./launcher cleanup
docker image rm discourse/base:2.0.20260915-0028
./launcher rebuild app

なぜ彼らにお礼を言っているのですか?