GNU/Linux >> Belajar Linux >  >> Linux

“e:Sub-proses /usr/bin/dpkg Mengembalikan Kode Kesalahan (1) ” Apa Artinya?

Saya telah melihat pesan ini beberapa kali setiap kali seseorang mengalami masalah saat memasang, meningkatkan, atau menghapus beberapa perangkat lunak, tetapi saya bertanya-tanya, apa artinya , dan yang lebih penting, apakah mungkin untuk menyelesaikannya?

(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)

(di atas hanyalah sebuah contoh, bukan masalah saya yang sebenarnya)

Jawaban yang Diterima:

Pesan itu generik. Artinya dpkg contoh dipanggil oleh apt /apt-get gagal karena suatu alasan. Itu tidak menjelaskan mengapa, bagaimana, atau memberikan petunjuk bagaimana menyelesaikannya. Sebagai pesan diagnostik, ini tidak berguna.

Anda perlu membaca baris sebelum pesan (terkadang cukup banyak) untuk menemukan kesalahan sebenarnya yang mencegah Anda menyelesaikan penginstalan.

Ya, tapi bagaimana cara mengatasinya?

Tidak ada cara tunggal untuk menyelesaikannya. Ada begitu banyak alasan mengapa ini bisa terjadi sehingga sia-sia untuk mencoba membuat daftar semuanya dalam satu posting. Setiap keadaan hampir unik untuk paket/lingkungan itu.

Tapi, ada penebusan. Fakta bahwa Anda melihat pesan ini berarti mungkin ada informasi yang lebih relevan di baris sebelum pesan. Untuk tujuan ilustrasi saya akan menggunakan contoh:

(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)

Sekarang, untuk menemukan masalahnya, Anda perlu membaca mundur:

  • E: Sub-process /usr/bin/dpkg returned an error code (1) tidak memberi tahu saya sesuatu yang berguna. Jadi lanjutkan.

  • Errors were encountered while processing: mongodb-10gen hanya memberitahu saya apa paket memiliki masalah. Bermanfaat tapi tidak cukup.

  • subprocess installed post-installation script returned error exit status 100 :ini memberitahu saya bahwa skrip yang gagal adalah postinst , yang dieksekusi setelah instalasi. Ini akan berguna dalam beberapa situasi, tetapi tidak dalam situasi ini.

  • dpkg: error while cleaning up: tidak ada yang berguna di sini.

  • invoke-rc.d: unknown initscript, /etc/init.d/mongodb not found. BINGO! Ini memberitahu kita bahwa invoke-rc.d , biner yang mengontrol skrip init di sebagian besar sistem mirip Debian, gagal. Gagal karena tidak dapat menemukan /etc/init.d/mongodb naskah. Ini buruk. Kita perlu membuatnya atau menyalin dari tempat lain sehingga mulai bekerja lagi. Menginstal ulang paket juga biasanya merupakan opsi untuk file not found kesalahan.

    Dalam hal ini, pelaporan bug tidak diperlukan karena kemungkinan kamilah yang menghapus skrip tersebut, tetapi jika Anda benar-benar yakin bahwa Anda tidak menyentuh file tersebut (a debsums -sla harus mengonfirmasinya) lalu laporkan bug.

Terkait:Temukan dan perbedaan antara -perm /6000 dan -perm /u+s?

Jadi, apa sebenarnya yang Anda butuhkan untuk mendapatkan bantuan? Idealnya, output lengkap dari masalah. Ini juga membantu untuk menyertakan output dari sudo dpkg -C dan sudo apt-get check , dan output dari apt-cache policy package1 package2... di mana “package1 package2 …” mencakup semua paket yang bermasalah.


Linux
  1. Cara Mengatasi "Sub-proses /usr/bin/dpkg mengembalikan kode kesalahan (1)" Di Ubuntu

  2. Bagaimana Linux Menangani Beberapa Pemisah Jalur Berturut-turut (/home////username///file)?

  3. Ubuntu 15.04 Linux 4.0 Kesalahan Python Saat Memperbarui, Sub-proses /usr/bin/dpkg Mengembalikan Kode Kesalahan (1)?

  1. Apa yang dilakukan baris '!/bin/sh -e'?

  2. Instal binari ke /bin, /sbin, /usr/bin dan /usr/sbin, interaksi dengan --prefix dan DESTDIR

  3. Apa perbedaan antara #!/usr/bin/env bash dan #!/usr/bin/bash?

  1. Perbaiki Sub-Proses /usr/bin/dpkg mengembalikan kode kesalahan (1)

  2. cmake --version menunjuk ke /usr/bin/cmake sementara cmake menunjuk ke /usr/local/bin

  3. Perbedaan antara /bin dan /usr/bin