今日、Ubuntu 20.04 LTSデスクトップをアップグレードしようとしましたが、このエラーが発生しました-「サブプロセス/ usr / bin / dpkgがエラーコード(1)を返しました」 。これは、Ubuntuやその他のDEBベースのシステムでよくある問題の1つです。
このエラーは通常、アプリケーションのインストールに失敗した場合、またはパッケージのインストール中にdpkgパッケージインストーラーが破損または中断した場合に発生します。
Ubuntuデスクトップをアップグレードしようとしたコマンドは次のとおりです。
$ sudo apt update
$ sudo apt upgrade
そして...ここにエラーメッセージがあります:
Reading package lists... Done Building dependency tree Reading state information... Done Calculating upgrade... Done The following packages will be upgraded: eog 1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 21 not fully installed or removed. Need to get 0 B/421 kB of archives. After this operation, 0 B of additional disk space will be used. Do you want to continue? [Y/n] (Reading database ... 230012 files and directories currently installed.) Preparing to unpack .../eog_3.36.2-0ubuntu1_amd64.deb ... Unpacking eog (3.36.2-0ubuntu1) over (3.36.1-1) ... dpkg-deb (subprocess): decompressing archive member: lzma error: compressed data is corrupt dpkg-deb: error: <decompress> subprocess returned error exit status 2 dpkg: error processing archive /var/cache/apt/archives/eog_3.36.2-0ubuntu1_amd64.deb (--unpack): cannot copy extracted data for './usr/lib/x86_64-linux-gnu/eog/libeog.so' to '/usr/lib/x86_64-linux-gnu/eog/libeog.so.dpkg-new': unexpected end of file or stream Errors were encountered while processing: /var/cache/apt/archives/eog_3.36.2-0ubuntu1_amd64.deb E: Sub-process /usr/bin/dpkg returned an error code (1)
「Ubuntuでサブプロセス/usr/ bin / dpkgがエラーコード(1)を返した」を修正
上記のようなエラーが発生した場合でも、心配する必要はありません。ここでは、"Sub-process /usr/bin/dpkg returned an error code (1)"
を解決するためのいくつかの回避策を示しました。 UbuntuおよびLinuxMint、PopOSなどのその亜種での問題。
解決策1-dpkgデータベースを再構成する
パッケージのインストールプロセスが途中で停止または中断された場合、dpkgデータベースが破損している可能性があります。 dpkgデータベースを再構成すると、この問題が解決する場合があります。
dpkgデータベースを再構成するには、次のコマンドを実行します。
$ sudo dpkg --configure -a
このコマンドは、破損したdpkgデータベースを修正してから、破損したすべてのパッケージを再構成しようとします。このコマンドは通常、 dpkg returned an error code (1)
を修正します 問題。なんらかの理由で問題が解決しなかった場合は、次の解決策に従ってください。
解決策2-アプリケーションを強制的にインストールする
最初の方法が機能しなかった場合は、次のコマンドを実行して強制インストールを実行します。
$ sudo apt-get install -f
または、
$ sudo apt-get install --fix-broken
ここで、-f
(または--fix-broken
)オプションは、依存関係が壊れているUbuntuシステムを修正しようとします。
これらの2つの解決策が役に立たず、問題が解決しない場合は、次の解決策を試してください。
解決策3-問題のあるアプリケーションの.debファイルをローカルキャッシュフォルダーから削除して再インストールします
エラーメッセージ(最後の2行)にあるように、 eog パッケージがこのエラーの原因です。
[...] /var/cache/apt/archives/eog_3.36.2-0ubuntu1_amd64.deb E: Sub-process /usr/bin/dpkg returned an error code (1)
不思議に思う人のために、eog(Eye of GNOMEの略)はGNOMEデスクトップ環境の公式でデフォルトの画像ビューアです。したがって、このパッケージには問題があり、Ubuntuをアップグレードできません。
パッケージをインストールすると、パッケージがダウンロードされ、キャッシュフォルダ /var/cache/apt/archives/
に保存されます。 。
このエラーを修正するには、次のコマンドを使用してキャッシュされたパッケージを削除します。
$ sudo rm /var/cache/apt/archives/eog_3.36.2-0ubuntu1_amd64.deb
eog_3.36.2-0ubuntu1_amd64.debをパッケージに置き換えます。
パッケージキャッシュフォルダをクリーンアップします:
$ sudo apt-get clean
$ sudo apt-get autoremove
ソースリストを更新します:
$ sudo apt-get update
システムをアップグレードします:
$ sudo apt-get upgrade
最後に、公式リポジトリから新しいパッケージを入手し、以下のように再インストールします。
$ sudo apt-get install eog
この解決策は私のために働きました。
解決策4-問題のあるアプリケーションを削除する
これが最後の手段になるはずです。上記の方法のいずれも役に立たない場合は、以下のように問題のあるパッケージをシステムから削除してください。
$ sudo apt-get remove --purge eog
$ sudo apt-get clean && sudo apt-get autoremove
このコマンドは、eogとそのすべての構成ファイルをシステムから削除します。
また、壊れたパッケージに関連するすべてのファイルを見つけて削除します。
パッケージに関連するすべてのファイルを検索するには、次のコマンドを実行します。
$ sudo ls -l /var/lib/dpkg/info | grep -i eog
出力例:
-rw-r--r-- 1 root root 61926 Apr 24 13:42 eog.list -rw-r--r-- 1 root root 5889 Mar 29 08:01 eog.md5sums
手動で削除してください。
それでおしまい。この段階では、これら4つのソリューションのいずれかが、「サブプロセス/usr/bin/dpkg
」の修正に役立つはずです。 Ubuntuおよびその他のDEBベースのシステムでエラーコード(1)"を返しました。
Ubuntuの他の一般的な問題の解決策:
- 壊れたUbuntuOSを再インストールせずに修正する方法
- UbuntuでBusyboxInitramfsエラーを修正する方法
- Ubuntuで「Package:headerのないセクションが発生しました」エラーを修正
- 「W:一部のインデックスファイルのダウンロードに失敗しました。」を修正しました。 Ubuntuでのエラー
- 「E:パッケージキャッシュファイルが破損しています。ハッシュが間違っています」を修正してください。Ubuntuでのエラー
- Ubuntuで「E:ロック/ var / lib / dpkg/lock」エラーを取得できませんでしたを修正する方法
- 「dpkg:エラー:ファイル‘/ var / lib / dpkg / updateds / 0014′の解析」のUbuntuでのエラーを修正