Pesan itu generik. Ini hanya berarti bahwa dpkg
instance dipanggil oleh apt
/ apt-get
gagal karena beberapa alasan. Itu tidak menjelaskan mengapa, bagaimana, atau memberi petunjuk bagaimana menyelesaikannya. Sebagai pesan diagnostik, itu tidak berguna.
Anda perlu membaca baris sebelum pesan (kadang-kadang cukup banyak) untuk menemukan kesalahan nyata yang mencegah Anda menyelesaikan instalasi.
Ya, tapi bagaimana cara mengatasinya?
Tidak ada satu cara untuk menyelesaikannya. Ada begitu banyak alasan mengapa ini bisa terjadi sehingga sia-sia untuk mencoba mendaftarkan semuanya dalam satu posting. Setiap keadaan hampir unik untuk paket / lingkungan itu.
Tapi, ada penebusan. Fakta bahwa Anda melihat pesan ini berarti bahwa 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 memberitahuku sesuatu yang berguna. Jadi terus maju.
Errors were encountered while processing: mongodb-10gen
katakan saja paket apa yang bermasalah. Bermanfaat tetapi tidak cukup.
subprocess installed post-installation script returned error exit status 100
: ini memberitahu saya bahwa skrip yang gagal adalah postinst
, yang dieksekusi di pasca 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
skrip. Ini buruk. Kita perlu membuatnya atau menyalin dari tempat lain sehingga mulai berfungsi kembali. Menginstal ulang paket juga biasanya merupakan opsi untuk file not found
kesalahan.
Dalam hal ini, melaporkan bug tidak diperlukan karena kemungkinan kami adalah orang yang menghapus skrip, tetapi jika Anda benar-benar yakin Anda tidak menyentuh file (a debsums -sla
harus mengkonfirmasi), kemudian laporkan bug.
Jadi, apa sebenarnya yang Anda butuhkan untuk mendapatkan bantuan? Idealnya, hasil lengkap dari masalah. Ini juga membantu untuk menyertakan output dari sudo dpkg -C
dan sudo apt-get check
, dan output di apt-cache policy package1 package2...
mana "package1 package2 ..." termasuk semua paket dengan masalah.
apt-get install (something)
dan Anda mendapatkan pesan kesalahan ini seperti yang saya lakukan, solusi untuk saya adalahapt-get upgrade (something)
.