ขอบคุณคำถามของ jarno ที่นี่ฉันหาวิธีใช้คำตอบของ Mudit Kapil ที่ต้องการการพิมพ์เพียงเล็กน้อยและจับบิตพิเศษใด ๆ ที่อยู่รอบ ๆ
เนื่องจากสิ่งที่จำเป็นในการลบเคอร์เนลคือการลบไฟล์และไดเรกทอรีทั้งหมดและไฟล์และไดเรกทอรีเหล่านั้นจะมีสตริงการเปิดตัวเคอร์เนลในเส้นทางของพวกเขาเราสามารถใช้locate
เพื่อค้นหาไฟล์ทั้งหมดที่มีสตริงการเปิดตัวเคอร์เนลและลบ เพื่อลบเคอร์เนล
(ตรวจสอบครั้งแรกuname -r
เพื่อค้นหาชื่อของเคอร์เนลที่ใช้งานอยู่ในปัจจุบันและอย่าลบมัน)
4.4.6-my-kernel
สมมติว่าคุณต้องการที่จะลบเคอร์เนลที่เรียกว่า คุณสามารถค้นหาไฟล์ที่มีอยู่ทั้งหมดและไดเรกทอรี (ไม่มีรายชื่อไฟล์ในไดเรกทอรีทั้งหมดชื่อ) locate -b -e 4.4.6-my-kernel
ด้วย ผนวกrm -r
เข้ากับสิ่งนี้พร้อมxargs
ให้คุณลบไฟล์ด้วย ฉันเพิ่ม-p
เพื่อให้xargs
เป้าหมายการแสดงผลและขอการยืนยันก่อนดำเนินการ
locate -b -e 4.4.6-my-kernel | xargs -p sudo rm -r
จากนั้นพิมพ์y
เพื่อดำเนินการrm -r
ตามเป้าหมายที่แสดง มันจะบ่นว่าไฟล์ที่ไม่ใช่ไดเรกทอรีไม่มีอยู่เพราะคุณพยายามที่จะลบมันซ้ำ ( -r
) แต่ก็โอเคพวกเขาจะยังคงถูกลบพร้อมกับไดเรกทอรีและเนื้อหาของพวกเขา เมื่อเสร็จแล้วก็วิ่ง
sudo update-grub
และ voila