ウェブ Discourse アップグレード失敗。Web Docker アップグレードは成功。

Docker の Web バージョンは正常に更新されましたが、Discourse の Web バージョンは失敗しました。
失敗した更新をリセットしましたが、Web アプリケーションは更新が進行中であると表示されました。

Discourse を手動で更新しようとしました。
cd /var/discourse
./launcher rebuild app

以下のエラーが発生しました。
ERROR: Docker version 19.03.13 not supported,please upgrade to at least 20.10.0, or recommend 24.0.7

Docker を手動でアップグレードしようとしました。
wget -qO- https://get.docker.com/ | sh

以下のエラーが発生しました。
E: Could not get lock /var/lib/dpkg/lock-frontend. It is being held by process 10528 (apt-get)
E: Unable to aquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it?

Discourse のウェブサイトが Oops-Error 500 でダウンしています。
何か考えはありますか?

このDockerバージョンエラーに関するトピックがいくつかあります。

Coin、トピックへのポインタをありがとう!

Dockerのバージョンは19.03.13になります。その後、オペレーティングシステムを次のように更新します。

sudo apt update && sudo apt upgrade -y 3

そして、アップデートは…で停止します。

キャッシュロックを待機中: /var/lib/dpkg/lock-frontend のロックを取得できませんでした。プロセス 10528 (apt-get) によって保持されています… 454秒

秒数が増加しています。

ChatGPTからの修正は以下の通りです。ステップ3で、停止しているプロセスを強制終了することが鍵でした。

エラーは、別の apt またはパッケージ管理プロセスが既に実行されており、ロックファイル /var/lib/dpkg/lock-frontend を保持していることを示しています。この状況により、apt コマンドが続行できなくなります。問題を解決するには、次の手順を実行してください。

問題を解決するための手順

  1. 実行中の apt プロセスを確認する
    次のコマンドを実行して、他の apt プロセスを確認します。

    ps aux | grep apt
    

    apt-getapt、または dpkg のようなプロセスを探します。プロセスが実行されている場合(例: apt-get または dpkg)、バックグラウンドで何かを更新またはインストールしている可能性があります。

  2. プロセスの完了を待つ
    別のプロセスが実際に実行されている場合は、完了するのを待つのが最善です。バックグラウンドで自動アップグレードやパッケージのインストールが実行されることがあります。

  3. 停止しているプロセスを強制終了する
    プロセスが異常に長時間実行されている場合は、終了させることができます。

    sudo kill -9 <PID>
    

    <PID> をプロセス ID(この場合は 10528 など)に置き換えてください。

  4. ロックファイルを削除する
    プロセスを強制終了した後、ロックファイルが存在しないことを確認するためにロックファイルを削除します。

    sudo rm /var/lib/dpkg/lock-frontend
    sudo rm /var/lib/dpkg/lock
    
  5. パッケージデータベースを再構成する
    パッケージマネージャーの問題を修正するために、このコマンドを実行します。

    sudo dpkg --configure -a
    
  6. アップデートを再試行する
    これで、アップデートコマンドを再試行します。

    sudo apt update && sudo apt upgrade -y
    

注意事項

  • この問題が頻繁に発生する場合は、バックグラウンドで自動アップグレードまたは自動更新が実行されていないか確認してください。これらは、手動でパッケージを管理する際に競合を引き起こす可能性があります。
  • 自動アップグレードを無効にするには、次のコマンドを実行します。
    sudo systemctl disable --now unattended-upgrades
    
「いいね!」 1

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