Bu mesaj geneldir. Bu sadece bir nedenden dolayı / dpkg
denilen bir durum anlamına gelir . Neden, nasıl veya nasıl çözüleceğine dair ipucu vermez. Teşhis mesajı olarak kullanışlı değildir.apt
apt-get
Yüklemeyi tamamlamanızı önleyen gerçek hatayı bulmak için, iletiden önceki satırları (bazen oldukça fazla sayıda) okumanız gerekir.
Evet, ama nasıl çözerim?
Bunu çözmek için tek bir yolu yoktur. Bunun olmasının pek çok nedeni var, hepsini tek bir gönderide listeleme çabası boşuna. Her durum o paket / çevre için neredeyse benzersizdir.
Ancak, itfa var. Bu mesajı gördüğünüz gerçeği, mesajdan önceki satırlarda muhtemelen daha alakalı bilgiler olduğu anlamına gelir. Açıklayıcı amaçlar için bir örnek kullanacağım:
(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)
Şimdi, sorunu bulmak için geriye doğru okumanız gerekir:
E: Sub-process /usr/bin/dpkg returned an error code (1)
bana faydalı bir şey söylemiyor. Öyleyse devam et.
Errors were encountered while processing: mongodb-10gen
sadece bana hangi paketin problem olduğunu söyler. Yararlı ama yeterli değil.
subprocess installed post-installation script returned error exit status 100
: Bu bana başarısız olan betiğin postinst
kurulum sonrası yapılanın olduğunu söylüyor . Bu, bazı durumlarda kullanışlı olacak, ama bu durumda değil.
dpkg: error while cleaning up:
burada işe yarar bir şey yok.
invoke-rc.d: unknown initscript, /etc/init.d/mongodb not found.
BİNGO! Bu bize, invoke-rc.d
Debian benzeri sistemdeki init betiğini kontrol eden bir ikili kodun başarısız olduğunu söylüyor. /etc/init.d/mongodb
Komut dosyasını bulamadığı için başarısız oldu . Bu kötü. Yeniden yaratmamız veya başka bir yerden kopyalamamız gerekiyor. Paketi yeniden yüklemek de normalde file not found
hatalar için bir seçenektir .
Bu durumda, bir hatayı bildirmek gerekli değildir çünkü betiği kaldıran bizdik, ancak dosyaya dokunmadığınızdan tamamen eminseniz ( debsums -sla
bunu onaylamanız gerekir) bir hata bildirin.
Peki, tam olarak yardım almak için neye ihtiyacın var? İdeal olarak, sorunun tam çıktısı. Bu çıktısını da dahil olmak üzere de yararlı olacaktır sudo dpkg -C
ve sudo apt-get check
ve çıktısını apt-cache policy package1 package2...
sorunları ile paketleri tüm "Paket1 package2 ..." içerdiği durumlarda.
apt-get install (something)
ve yaptığım gibi bu hata mesajını aldıysanız, benim için çözüm olduapt-get upgrade (something)
.