GNU/Linux >> Linux の 問題 >  >> Linux

「e:サブプロセス/ usr / bin / dpkgがエラーコード(1)を返しました」これはどういう意味ですか?

誰かがソフトウェアのインストール、アップグレード、または削除で問題が発生するたびにこのメッセージを何度か目にしましたが、それはどういう意味ですか 、そしてもっと重要なことに、それを解決することは可能ですか?

(Reading database ... 81657 files and directories currently installed.)
 Removing mongodb-10gen ...
 arg: remove
 invoke-rc.d: unknown initscript, /etc/init.d/mongodb not found.
 dpkg: error processing mongodb-10gen (--remove):
  subprocess installed pre-removal script returned error exit status 100
 invoke-rc.d: unknown initscript, /etc/init.d/mongodb not found.
 dpkg: error while cleaning up:
  subprocess installed post-installation script returned error exit status 100
 Errors were encountered while processing:
  mongodb-10gen
 E: Sub-process /usr/bin/dpkg returned an error code (1)

(上記は単なる例であり、私の実際の問題ではありません)

承認された回答:

そのメッセージは一般的です。 dpkgという意味です aptによって呼び出されたインスタンス / apt-get 何らかの理由で失敗しました。理由、方法、または解決方法のヒントについては説明していません。診断メッセージとしては役に立ちません。

メッセージの前の行(場合によってはかなりの数)を読んで、インストールを完了できない実際のエラーを見つける必要があります。

ええ、でもどうすれば解決できますか?

それを解決する単一の方法はありません。これが発生する理由はたくさんあるので、それらすべてを1つの投稿にリストするのは無駄です。すべての状況は、そのパッケージ/環境にほぼ固有のものです。

しかし、償還があります。このメッセージが表示されるという事実は、おそらくメッセージの前の行に、より関連性の高い情報があることを意味します。説明のために、例を使用します:

(Reading database ... 81657 files and directories currently installed.)
 Removing mongodb-10gen ...
 arg: remove
 invoke-rc.d: unknown initscript, /etc/init.d/mongodb not found.
 dpkg: error processing mongodb-10gen (--remove):
  subprocess installed pre-removal script returned error exit status 100
 invoke-rc.d: unknown initscript, /etc/init.d/mongodb not found.
 dpkg: error while cleaning up:
  subprocess installed post-installation script returned error exit status 100
 Errors were encountered while processing:
  mongodb-10gen
 E: Sub-process /usr/bin/dpkg returned an error code (1)

ここで、問題を見つけるには、逆に読む必要があります:

  • E: Sub-process /usr/bin/dpkg returned an error code (1) 役に立つことは何も教えてくれません。先に進みます。

  • Errors were encountered while processing: mongodb-10gen どのパッケージに問題があるかを教えてくれます。便利ですが、十分ではありません。

  • subprocess installed post-installation script returned error exit status 100 :これは、失敗したスクリプトがpostinstであったことを示しています 、インストール後に実行されたもの。これは状況によっては便利ですが、これでは便利ではありません。

  • dpkg: error while cleaning up: ここでは何も役に立ちません。

  • invoke-rc.d: unknown initscript, /etc/init.d/mongodb not found. ビンゴ!これは、invoke-rc.dであることを示しています。 、ほとんどのDebianのようなシステムでinitスクリプトを制御するバイナリが失敗しました。 /etc/init.d/mongodbが見つからなかったため、失敗しました 脚本。これは悪いです。それを作成するか、別の場所からコピーして、再び機能するようにする必要があります。パッケージの再インストールも通常、file not foundのオプションです。 エラー。

    この場合、スクリプトを削除したのは私たちである可能性が高いため、バグを報告する必要はありませんが、ファイルに触れていないことが完全に確実な場合は(debsums -sla 確認する必要があります)次に、バグを報告します。

関連:-perm/6000と-perm/u + sの違いを見つけますか?

それで、あなたは正確に何を助ける必要がありますか?理想的には、問題の完全な出力です。 sudo dpkg -Cの出力を含めることも役立ちます およびsudo apt-get check 、およびapt-cache policy package1 package2...の出力 ここで、「package1package2…」には問題のあるすべてのパッケージが含まれます。


Linux
  1. サブプロセスの修正/usr/ bin / dpkgがエラーコード(1)を返しました

  2. Ubuntuで「サブプロセス/usr/ bin / dpkgがエラーコード(1)を返しました」を解決する方法

  3. Linuxは複数の連続したパスセパレーター(/ home //// username /// file)をどのように処理しますか?

  1. / bin/shが/bin/bashではなく/bin/ dashを指すのはなぜですか?

  2. Ubuntu 15.04 Linux 4.0の更新中にPythonエラーが発生しましたが、サブプロセス/ usr / bin / dpkgがエラーコード(1)を返しましたか?

  3. 行「!/bin/sh -e」は何をしますか?

  1. バイナリを /bin、/sbin、/usr/bin、および /usr/sbin にインストールし、 --prefix および DESTDIR と対話します

  2. #!/usr/bin/env bash と #!/usr/bin/bash の違いは何ですか?

  3. [[ $? -ne 0 ]]; .ksh の意味