Nếu hệ thống của bạn đã busyboxđược cài đặt, bạn có thể sử dụng điều này để đưa mọi thứ trở lại.
busyboxlà một nhị phân với rất nhiều tiện ích tiêu chuẩn được tích hợp trong nó. Những thứ như mv, sh, lsvv
Từ nhận xét của bạn về câu trả lời của Pavel, có vẻ như mọi thứ đã kết thúc /var. Bạn có thể thử làm /var/bin/busybox mv /var/{bin,etc,lib32,lib64,root,sbin,usr} /. Điều đó sẽ nhận được hầu hết các hoạt động hệ thống của bạn một lần nữa. Có một vài thư mục như /tmptồn tại /var/tmp, vì vậy bạn không thể di chuyển chúng. Hy vọng rằng đó là những người mvphàn nàn và họ bị bỏ lại một mình.
Lấy một cái vỏ gốc
Bạn cũng đã đề cập rằng bạn bị mất shell gốc và điều đó sugây ra ld-linuxlỗi thư viện. Bạn có thể sử dụng như sau:
LD_LIBRARY_PATH=/var/lib64 /var/lib64/ld-linux-x86-64.so.2 /var/bin/su
Lưu ý: Khi thử điều này, nó không hoạt động. Điều này là do suđòi hỏi nhiều file trong /etc( passwd, pam.d, và những người khác). Nếu /etcvẫn còn nguyên vẹn, điều này sẽ có cơ hội thành công.
Không có busybox
Nếu bạn không có sẵn busybox, bạn có thể sử dụng thủ thuật ld-linux tương tự như đối với 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} /
Từ một đĩa CD trực tiếp
Như đã thảo luận trong các bình luận, nếu bạn mất vỏ gốc, bạn sẽ bị kẹt khá nhiều. Về cơ bản để khắc phục điều này, bạn cần quyền root. Cách duy nhất để đến đó là có một tiện ích như suhoặc sudotăng cường quyền của bạn (cả hai đều không hoạt động tại thời điểm này) hoặc chiếm quyền điều khiển một chương trình khác đã chạy bằng root (tùy thuộc vào những gì đang chạy, không có khả năng).
Điều này để lại tùy chọn duy nhất là một đĩa CD trực tiếp. Sau khi khởi động vào đĩa CD trực tiếp (hoặc USB trực tiếp hoặc bất cứ thứ gì), chỉ cần gắn ổ đĩa gốc và di chuyển các thư mục bị ảnh hưởng ra khỏi /varnhà ban đầu của chúng /.
Tóm tắt những gì đã xảy ra
folder/*sẽ mở rộng ra một cái gì đó như folder/foovà folder/bar.
/*sẽ mở rộng ra một cái gì đó như /bin /lib32 /lib64 /etc /home /root /var. Lưu ý đó /varlà mục cuối cùng.
Vì vậy, khi cái vỏ mở rộng ra tất cả những khối u đó, nó sẽ chạy một thứ như thế này:
mv folder/foo folder/bar /bin /lib32 /lib64 /etc /home /root /var
Là /varmục cuối cùng trong danh sách, mọi thứ đã được chuyển vào đó.
Tại sao có /var/bin/sulỗi với/lib64/ld-linux-x86-64.so.2: bad ELF interpreter: No such file or directory
Hầu như tất cả các nhị phân trong linux đều được liên kết động với ld-linux. ld-linuxlà thư viện chịu trách nhiệm tải các thư viện khác cần thiết bởi nhị phân. Trên hệ thống của bạn, cuộc sống này tại /lib64/ld-linux-x86-64.so.2. Vì thư mục này đã được di chuyển, mọi thực thi được liên kết động sẽ không còn hoạt động.
Lý do busybox hoạt động là busybox được liên kết tĩnh. Nó không sử dụng ld-linux.
/var/bin/sutrực tiếp?