「サブプロセス /usr/bin/dpkg がエラー コード (1) を返しました」を修正
Ubuntu や他の Debian ベースのディストリビューションでパッケージが壊れるという問題に遭遇することは珍しいことではありません。システムをアップグレードするとき、またはソフトウェア パッケージをインストールするときに、「サブプロセス /usr/bin/dpkg がエラー コードを返しました」エラーが発生することがあります。
このエラーの重要なフレーズは /usr/bin/dpkg で、これは Linux で使用される dpkg パッケージ インストーラーを指します。パッケージ インストーラーは、ソフトウェア、更新、依存関係を管理します。破損した場合、新しいソフトウェアをインストールしようとすると、このエラー メッセージが表示される可能性があります。
たとえば、少し前にUbuntu 22.04 にアップグレードしようとしたところ、以下に示すようなdpkg エラーが発生しました。
Errors were encountered while processing:
google-chrome-stable
E: Sub-process /usr/bin/dpkg returned an error code (1)
これは、google-chrome-stable パッケージが壊れているか破損していることを示しています。この問題にはいくつかの回避策があるため、まだ諦めたり、システムを破棄したりしないでください。
サブプロセス /usr/bin/dpkg を修正するとエラー コード (1) が返されました
この壊れたパッケージエラーの問題に対処しましょう。簡単なものから始めて、いくつかの方法を説明します。これらの最初の手順は簡単で、多くの労力は必要ありません。
方法 1: dpkg パッケージ データベースを再構成する
このエラーのトリガーの 1 つは、dpkg パッケージ データベースの破損です。これは、ソフトウェア パッケージのインストールが突然中断されたことが原因である可能性があります。データベースを再構成することは、この問題を解決する 1 つの方法です。
これを行うには、次のコマンドを実行するだけです。
sudo dpkg --configure -a
これにより、インストール プロセス中にインストールされなかった、解凍されたパッケージが再構成されます。
方法 2: 面倒なパッケージを強制的にインストールする
ソフトウェア パッケージのインストール中にエラーが発生する場合があります。このような場合は、次のように -f
オプションを使用してパッケージを強制的にインストールできます。
sudo apt install -f
OR
sudo apt install --fix-broken
-f
オプションと --fix-broken
は、中断されたパッケージまたはキャッシュされたパッケージのダウンロードによって生じた破損した依存関係を修正するために、同じ意味で使用できます。
方法 3: 不良または破損したソフトウェア パッケージを削除またはパージする
最初の 2 つの解決策で問題が解決しなかった場合は、次のように、問題のあるソフトウェア パッケージを削除またはパージできます。
sudo apt remove --purge package_name
たとえば、私の場合、Google Chrome パッケージを削除すると問題が解決しました。
sudo apt remove --purge google-chrome-stable
次に、以下のコマンドを実行して、古い、未使用、不要なパッケージをすべて削除します。これにより、ハード ドライブ上のスペースも解放されます。
sudo apt clean
sudo apt autoremove
方法 4: パッケージに関連付けられたすべてのファイルを削除する
最後に、問題のあるパッケージに関連付けられたすべてのファイルを手動で削除できます。まず、図に示すように、/var/lib/dpkg/info ディレクトリにあるこれらのファイルを見つける必要があります。
sudo ls -l /var/lib/dpkg/info | grep -i package_name
ファイルをリストした後、次のようにファイルを /tmp ディレクトリに移動できます。
sudo mv /var/lib/dpkg/info/package-name.* /tmp
あるいは、rm コマンドを使用してファイルを手動で削除することもできます。
sudo rm -r /var/lib/dpkg/info/package-name.*
最後に、次のようにパッケージ リストを更新します。
sudo apt update
その後、ソフトウェア パッケージを再インストールすることで、もう一度試すことができます。
結論
このタイプの dpkg エラーは、通常、インストール プロセスの中断または dpkg データベースの破損によって引き起こされるパッケージ インストーラーの問題を示しています。
上記の解決策のいずれかでこのエラーは修正されるはずです。ここまで進んだ場合は、問題が正常に解決され、ソフトウェア パッケージを再インストールできたことを願っています。
いずれかの方法がうまくいった場合は、どの方法で問題が解決したかを明記してください。別の方法を使用してこのエラーを解決できた場合は、同じ問題が発生している可能性のある他の人を助けるために、その方法を共有してください。