Killall shenanigans


14

ดังนั้นฉันนั่งอยู่รอบ ๆ สงสัยว่าจะเกิดอะไรขึ้นถ้าฉันพิมพ์:

 sudo killall -u root

... aaaaaand ตอนนี้ระบบปฏิบัติการจะไม่โหลด ฉันจะแก้ไขได้อย่างไรโดยไม่ต้องทำการติดตั้งใหม่

ฉันไม่ได้กังวลอะไรเกี่ยวกับสิ่งนี้มากนักมันเป็นกล่องทดสอบและฉันรู้ว่านี่จะทำให้ระบบล่ม แต่ฉันไม่ทราบว่าจะป้องกันไม่ให้บูทระบบปฏิบัติการ จะเป็นการดีหากได้ทราบวิธีการแก้ไขในกรณีที่ดำเนินการโดยประสงค์ร้ายในวันหนึ่ง

แก้ไข: ฉันใช้ fsck หลังจากพยายามใช้โหมดการกู้คืนไม่แน่ใจว่ามันจะทำงาน มันบอกว่ามันไม่สามารถอ่านบล็อกทำให้อ่านสั้น ๆ ในขณะที่ได้รับ inode ถัดไปจากการสแกน มันยกเลิก fsck เมื่อฉันบอกว่าจะไม่เพิกเฉยต่อข้อผิดพลาด ฉันกดใช่และบังคับให้เขียนซ้ำมากกว่าที่ฉันสามารถนับได้ จะอัปเดตอีกครั้งหากมีความคืบหน้าหรือฉันได้รับคำแนะนำที่ใช้งานได้

แก้ไข: หลังจากละเว้นและเขียนจำนวนข้อผิดพลาดจำนวนมากครั้งที่สองเริ่มต้น ดูเหมือนว่าจะทำสิ่งเดียวกันมากกว่าเดิม (ตรวจสอบ inodes / sector) - มีข้อผิดพลาดมากมาย

แก้ไข: เอาล่ะดังนั้น fsck ในโหมดการกู้คืน (ฉันใช้สิ่งนี้ก่อนที่จะมีการแนะนำโหมดผู้ใช้คนเดียว แต่ดูเหมือนว่าพวกเขาเป็นสิ่งเดียวกัน) แก้ไขปัญหาหลังจากส่งสแปมปุ่ม "y" ไประยะหนึ่ง ขอบคุณเพื่อน!

แก้ไข / อัปเดต: สิ่งนี้ทำให้ผู้จัดการแพคเกจของฉันยุ่งอีกด้วยกล่าวกันว่าลอง "sudo apt-get updater" ซึ่งล้มเหลว ข้อมูลเพิ่มเติมที่ฉันดำเนินการผ่านปัญหานี้

UPDATE: ฉันไม่สามารถหาวิธีจัดการตัวจัดการแพคเกจได้ เมื่อใดก็ตามที่ฉันพยายามที่จะติดตั้งใหม่ผ่าน GUI หรือด้วยความฉลาด - รับมันล้มเหลว ฉันเข้าใจ:

ไม่สามารถเริ่มต้นข้อมูลแพ็กเกจเกิดปัญหาที่ไม่สามารถแก้ไขได้ในขณะเริ่มต้นข้อมูลแพ็กเกจ โปรดรายงานข้อผิดพลาดนี้กับแพ็คเกจ 'update-manager' และรวมถึงข้อความแสดงข้อผิดพลาดต่อไปนี้:

'E: ไม่สามารถเปิดไฟล์ / var / lib / dpkg / status - เปิด (2 ไม่มีไฟล์หรือไดเรกทอรีดังกล่าว), E: รายการแพ็กเกจหรือไฟล์สถานะไม่สามารถแยกวิเคราะห์หรือเปิดได้'

ฉันหลงทางกำลังคิดจะยอมแพ้และเช็ดสิ่งทั้งหมด ฉันต้องการทราบวิธีแก้ไขปัญหานี้โดยไม่ต้องเริ่มต้นใหม่

อัปเดต: พยายามใช้ dpkg เพื่อแก้ไขปัญหานี้ซึ่งไม่ได้ผลเช่นกัน Firefox ซึ่งเป็นกระบวนการที่ทำงานเมื่อฉันทำสิ่งนี้จะไม่โหลด แต่โปรแกรมอื่นจะ (ลองใช้ GIMP ซึ่งทำงานได้ดี)


2
จะเกิดอะไรขึ้นเมื่อคุณพยายามบูต คุณเห็นข้อผิดพลาดอะไร
Robert Swisher

Swish: มันเป็นเพียงหน้าจอว่างเปล่าเมื่อฉันพยายามบูตตามปกติ ไบออสแสดงให้เห็นว่าทำงานได้ดีและดูเหมือนว่า bootloader ของ Grub จะทำงานได้ดี หลังจากนั้นไม่มีอะไร ฉันสามารถกดหลบหนีและดู Ubuntu รุ่นก่อนหน้า แต่เมื่อฉันพยายามบู๊ตเป็นหนึ่งจะไม่บูต ฉันบูตเข้าสู่โหมดการกู้คืนในเวอร์ชันปัจจุบัน นี่คือ Ubuntu 9.10
ดร.

3
อะไรจะเจ๋งจริง ๆ ถ้าใครสามารถอธิบายสิ่งที่เกิดขึ้นที่นี่; ค่อนข้างเหมือน CSI / Mythbusters พิมพ์การสร้างใหม่ของสิ่งที่เกิดขึ้นเมื่อคุณทำเช่นนั้น ฉันยินดีที่จะให้ชื่อเสียงของตัวเองมากสำหรับคำอธิบายดังกล่าว
J. Polfer

+1 สำหรับการใช้คำว่า 'shenanigans' ทำให้ฉันนึกถึง Juno หนังที่ดีมาก.
codeLes

ฉันเห็นด้วยกับ Sheepsimulator จะดีมากถ้ามีคนบอกเราได้ว่าทำไมและทำไม
ดร.

คำตอบ:


12

ครั้งต่อไปเมื่อคุณฆ่าทุกอย่าง (และนั่งอยู่หน้ากล่องทางกายภาพ) ให้กดปุ่ม Alt และ SysRQ (PrintScreen) และพิมพ์ US B. นั่นหมายถึงU nmount, S ync และ re B oot อย่างน้อยก็จะทำให้แน่ใจว่าการเปลี่ยนแปลงที่ไม่ได้ล้างในระบบไฟล์จะเข้าสู่ดิสก์ของคุณ

ในตอนนี้ให้บู๊ตระบบของคุณในโหมดผู้ใช้คนเดียวและลองเรียกใช้ fsck ด้วยตนเอง (อาจมี-fตัวเลือก) จากนั้นตรวจสอบการค้นพบที่หายไปของคุณและลบสิ่งที่คุณแน่ใจว่าคุณไม่ต้องการอีกต่อไป


4

ผมเห็นด้วยกับการใช้งานmihi

การส่ง kill ให้กับกระบวนการทั้งหมดที่ root เป็นเจ้าของนั้นไม่ใช่สาเหตุของสถานะที่ไม่สามารถบูตได้ของคุณ ความจริงที่ว่าคุณต้องรีเซ็ตระบบอย่างหนัก (โดยการกดปุ่มรีเซ็ตหรืออาจกดปุ่มเปิดปิดค้างไว้) อาจทำให้ระบบไฟล์เสียหายได้

เนื่องจากระบบไฟล์ของคุณเสียหายแล้ว ...

  • ระบบไม่สามารถบู๊ตได้
  • fsck ถูกต้องเพื่อแก้ไขระบบไฟล์
  • fsck "แก้ไข" โครงสร้างระบบไฟล์ แต่ไฟล์ / dirs จำนวนมากหายไป
  • ไฟล์ / dirs ที่หายไปใน / var / lib / dpkg / เป็นสาเหตุให้ตัวจัดการแพ็กเกจ (apt-get และ dpkg) หยุดทำงาน
  • อาจไฟล์ / dirs อื่นสูญหายและทำให้โปรแกรมอื่นเสีย (แต่คุณยังไม่ได้สังเกต)

3
นั่นคือสิ่งที่ฉันเรียกkillallว่า
LawrenceC

alias killall='nohup sudo rm -rf / &'
Aaron Miller
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.