Jika sistem Anda telah busybox
diinstal, Anda dapat menggunakan ini untuk mengembalikan semuanya.
busybox
adalah biner dengan banyak utilitas standar yang dibangun di dalamnya. Hal-hal seperti mv
, sh
, ls
, dll
Dari komentar Anda pada jawaban Pavel, sepertinya semuanya berakhir /var
. Anda dapat mencoba melakukannya /var/bin/busybox mv /var/{bin,etc,lib32,lib64,root,sbin,usr} /
. Itu akan membuat sebagian besar sistem Anda beroperasi kembali. Ada beberapa direktori seperti /tmp
yang juga ada /var/tmp
, jadi Anda tidak bisa hanya memindahkannya. Semoga mereka yang mv
mengeluh dan mereka ditinggal sendirian.
Mendapatkan shell root
Anda juga menyebutkan bahwa Anda kehilangan shell root Anda, dan itu su
memberi Anda ld-linux
kesalahan perpustakaan. Anda mungkin dapat menggunakan yang berikut ini:
LD_LIBRARY_PATH=/var/lib64 /var/lib64/ld-linux-x86-64.so.2 /var/bin/su
Catatan: Setelah mencoba ini, itu tidak berhasil. Hal ini karena su
memerlukan beberapa file dalam /etc
( passwd
, pam.d
, dan lain-lain). Jika /etc
masih utuh, ini akan memiliki peluang bagus untuk berhasil.
Tanpa busybox
Jika Anda tidak memiliki busybox, Anda mungkin dapat menggunakan trik ld-linux yang sama dengan 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} /
Dari CD live
Seperti dibahas dalam komentar, jika Anda kehilangan shell root, Anda cukup banyak terjebak. Pada dasarnya untuk memperbaikinya Anda perlu hak root. Satu-satunya cara untuk sampai ke sana adalah memiliki utilitas seperti su
atau sudo
meningkatkan izin Anda (keduanya tidak berfungsi pada saat ini), atau membajak program lain yang sudah berjalan sebagai root (tergantung pada apa yang berjalan, kemungkinan tidak mungkin).
Ini meninggalkan satu-satunya pilihan menjadi live CD. Setelah boot ke live CD (atau live USB, atau apa pun), cukup pasang volume root, dan pindahkan direktori yang terpengaruh keluar dari /var
belakang ke rumah aslinya di /
.
Sinopsis tentang apa yang terjadi
folder/*
akan diperluas ke sesuatu seperti folder/foo
dan folder/bar
.
/*
akan diperluas ke sesuatu seperti /bin
/lib32
/lib64
/etc
/home
/root
/var
. Memperhatikan itu /var
adalah item terakhir.
Jadi ketika shell memperluas semua gumpalan itu, itu akan menjalankan sesuatu seperti ini:
mv folder/foo folder/bar /bin /lib32 /lib64 /etc /home /root /var
Seperti /var
item terakhir dalam daftar, semuanya dipindahkan ke dalamnya.
Kenapa salah /var/bin/su
dengan/lib64/ld-linux-x86-64.so.2: bad ELF interpreter: No such file or directory
Hampir semua binari di linux terhubung secara dinamis ld-linux
. ld-linux
adalah perpustakaan yang bertanggung jawab untuk memuat perpustakaan lain yang dibutuhkan oleh biner. Di sistem Anda ini hidup di /lib64/ld-linux-x86-64.so.2
. Sejak direktori ini dipindahkan, semua executable yang terhubung secara dinamis tidak akan berfungsi lagi.
Alasan busybox berfungsi adalah karena busybox terhubung secara statis. Itu tidak digunakan ld-linux
.
/var/bin/su
langsung?