Якщо ваша система 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все-таки були недоторканими, це мала б хороші шанси на успіх.
Без зайнятості
Якщо у вас немає вільної скриньки, ви можете використовувати той самий фокус 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} /
З живого компакт-диска
Як обговорювалося в коментарях, якщо ви втратили кореневу оболонку, ви сильно застрягли. В основному для того, щоб виправити це, вам потрібні привілеї root. Єдиний спосіб потрапити туди - це утиліта, така як suабо sudoескалація ваших дозволів (обидва вони нефункціональні на даний момент), або викрадення іншої програми, яка вже працює як root (залежно від того, що працює, мабуть не можливо).
Це залишає єдиний варіант, як живий компакт-диск. Після завантаження на живий компакт-диск (або на живий 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
Майже всі бінарні файли в Linux є динамічно пов'язаними проти ld-linux. ld-linuxце бібліотека, відповідальна за завантаження інших бібліотек, необхідних бінарним файлом. У вашій системі це живе /lib64/ld-linux-x86-64.so.2. З моменту переміщення цього каталогу будь-який динамічно пов'язаний виконуваний файл більше не працюватиме.
Причина зайнятості працює в тому, що зайнятий ящик статично пов'язаний. Це не використовує ld-linux.
/var/bin/suбезпосередньо?