หากระบบของคุณbusyboxติดตั้งคุณสามารถใช้สิ่งนี้เพื่อนำสิ่งต่าง ๆ กลับมา
busyboxเป็นเลขฐานสองที่มีสาธารณูปโภคมาตรฐานจำนวนมากติดตั้งอยู่ภายใน สิ่งต่างๆเช่นmv, sh, lsฯลฯ
/varจากความคิดเห็นของคุณกับคำตอบของพาเวลมันเสียงเหมือนทุกอย่างจบลง /var/bin/busybox mv /var/{bin,etc,lib32,lib64,root,sbin,usr} /คุณสามารถลองทำ ซึ่งควรทำให้ระบบของคุณใช้งานได้อีกครั้ง มีไดเรกทอรีบางอย่างเช่น/tmpที่มีอยู่/var/tmpด้วยดังนั้นคุณจึงไม่สามารถย้ายได้ หวังว่าคนเหล่านั้นจะเป็นคนที่mvบ่นและพวกเขาถูกทิ้งให้อยู่ตามลำพัง
รับรูตเชลล์
คุณยังพูดถึงว่าคุณทำรูทเชลล์ของคุณหายและนั่นsuทำให้คุณเกิดld-linuxข้อผิดพลาดกับไลบรารี คุณอาจจะสามารถใช้สิ่งต่อไปนี้:
LD_LIBRARY_PATH=/var/lib64 /var/lib64/ld-linux-x86-64.so.2 /var/bin/su
หมายเหตุ: เมื่อพยายามทำเช่นนี้จะไม่ทำงาน นี้เป็นเพราะsuต้องใช้หลายแฟ้มใน/etc( passwd, pam.dและอื่น ๆ ) หาก/etcยังคงไม่บุบสลายนี่จะเป็นโอกาสที่ดีที่จะประสบความสำเร็จ
ไม่มีกล่องไม่ว่าง
หากคุณไม่มี busybox ให้ใช้งานคุณอาจใช้เคล็ดลับ ld-linux เช่นเดียวกับsu:
LD_LIBRARY_PATH=/var/lib64 /var/lib64/ld-linux-x86-64.so.2 /var/bin/mv /var/{bin,etc,lib32,lib64,root,sbin,usr} /
จากซีดีสด
ตามที่กล่าวไว้ในความคิดเห็นหากคุณทำรูทเชลล์หายคุณก็ติดอยู่มาก โดยทั่วไปเพื่อแก้ไขปัญหานี้คุณต้องมีสิทธิ์ใช้งานรูท วิธีเดียวที่จะไปถึงที่นั่นคือมียูทิลิตี้เช่นsuหรือsudoเพิ่มการอนุญาตของคุณ (ซึ่งทั้งสองอย่างนี้ไม่สามารถใช้งานได้ในตอนนี้) หรือจี้โปรแกรมอื่นที่รันอยู่ในสถานะรูท (ขึ้นอยู่กับสิ่งที่กำลังทำงาน
ทำให้ตัวเลือกเดียวเท่านั้นที่เป็นซีดีสด เมื่อ booted ลงในแผ่นซีดีสด (หรือสด USB หรืออะไรก็ตาม) เพียงแค่ติดปริมาณรากและย้ายไดเรกทอรีที่ได้รับผลกระทบจากการกลับไปที่บ้านเดิมของพวกเขาใน/var/
เรื่องย่อของสิ่งที่เกิดขึ้น
folder/*จะมีการขยายตัวออกไปในบางสิ่งบางอย่างเช่นและfolder/foo จะมีการขยายตัวออกไปในสิ่งที่ต้องการ การสังเกตว่าเป็นรายการสุดท้าย
ดังนั้นเมื่อเปลือกหอยขยายตัวออกไปมันจะมีลักษณะดังนี้:folder/bar
/*/bin /lib32 /lib64 /etc /home /root /var/var
mv folder/foo folder/bar /bin /lib32 /lib64 /etc /home /root /var
เช่นเดียว/varกับรายการสุดท้ายในรายการทุกอย่างถูกย้ายเข้าไป
ทำไมถึง/var/bin/suเกิดข้อผิดพลาดด้วย/lib64/ld-linux-x86-64.so.2: bad ELF interpreter: No such file or directory
ld-linuxเกือบไบนารีทั้งหมดในลินุกซ์มีการเชื่อมโยงกับแบบไดนามิก ld-linuxเป็นห้องสมุดที่รับผิดชอบในการโหลดไลบรารีอื่น ๆ ที่จำเป็นโดยไบนารี /lib64/ld-linux-x86-64.so.2ในระบบของคุณนี้อาศัยอยู่ที่ เนื่องจากไดเร็กทอรีนี้ถูกย้ายไฟล์ปฏิบัติการที่ลิงก์แบบไดนามิกจะไม่ทำงานอีกต่อไป
เหตุผลที่ทำให้ busybox ใช้งานได้นั่นคือ busybox นั้นถูกเชื่อมโยงแบบคงที่ ld-linuxมันไม่ได้ใช้
/var/bin/suไปไม่ได้เหรอ