ข้อความนั้นเป็นเรื่องทั่วไป มันก็หมายความว่าdpkgอินสแตนซ์ที่เรียกโดยapt/ apt-getล้มเหลวด้วยเหตุผลบางอย่าง ไม่ได้อธิบายว่าทำไมวิธีหรือให้คำแนะนำวิธีการแก้ปัญหา ในฐานะข้อความวินิจฉัยมันไม่มีประโยชน์
คุณต้องอ่านบรรทัดก่อนข้อความ (บางครั้งก็เป็นจำนวนมาก) เพื่อค้นหาข้อผิดพลาดจริงที่ทำให้คุณไม่สามารถทำการติดตั้งให้เสร็จ
ใช่ แต่ฉันจะแก้มันได้อย่างไร
ไม่มีวิธีแก้ไขปัญหาเดียว มีสาเหตุหลายประการที่ทำให้สิ่งนี้เกิดขึ้นได้ว่ามันไร้ประโยชน์ในการพยายามแสดงรายการทั้งหมดในโพสต์เดียว แต่ละสถานการณ์มีลักษณะเฉพาะของแพ็คเกจ / สภาพแวดล้อมเกือบทั้งหมด
แต่มีการไถ่ถอน ความจริงที่ว่าคุณเห็นข้อความนี้หมายความว่าอาจมีข้อมูลที่เกี่ยวข้องมากขึ้นในบรรทัดก่อนข้อความ เพื่อเป็นตัวอย่างฉันจะใช้ตัวอย่าง:
(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ไบนารีที่ควบคุมสคริปต์เริ่มต้นในระบบที่เหมือนเดเบียนส่วนใหญ่ล้มเหลว มันล้มเหลวเพราะหา/etc/init.d/mongodbสคริปต์ไม่พบ นี้ไม่ดี. เราจำเป็นต้องสร้างหรือคัดลอกจากที่อื่นเพื่อให้มันเริ่มทำงานอีกครั้ง การติดตั้งแพ็กเกจfile not foundซ้ำยังเป็นตัวเลือกสำหรับข้อผิดพลาด
ในกรณีนี้การรายงานข้อผิดพลาดไม่จำเป็นเพราะอาจเป็นไปได้ว่าเราเป็นคนที่ลบสคริปต์ แต่ถ้าคุณแน่ใจอย่างสมบูรณ์ว่าคุณไม่ได้แตะไฟล์ (a debsums -slaควรยืนยัน) จากนั้นรายงานข้อผิดพลาด
ดังนั้นอะไรคือสิ่งที่คุณต้องการความช่วยเหลือ เป็นการดีที่ผลลัพธ์ที่สมบูรณ์ของปัญหา นอกจากนี้ยังเป็นประโยชน์ในการรวมเอาท์พุทของsudo dpkg -Cและsudo apt-get checkและเอาต์พุตของapt-cache policy package1 package2...ที่ "package1 package2 ... " รวมถึงแพ็กเกจทั้งหมดที่มีปัญหา
apt-get install (something)apt-get upgrade (something)