Jeśli Twój system został busyboxzainstalowany, możesz użyć tego do przywrócenia rzeczy.
busyboxto plik binarny z wieloma wbudowanymi narzędziami. Rzeczy takie jak mv, sh, ls, itd.
Z twojego komentarza do odpowiedzi Pavela wynika, że wszystko się skończyło /var. Możesz spróbować zrobić /var/bin/busybox mv /var/{bin,etc,lib32,lib64,root,sbin,usr} /. To powinno przywrócić większość systemu do działania. Istnieje kilka takich katalogów, /tmpktóre również istnieją /var/tmp, więc nie można ich po prostu przenosić. Mam nadzieję, że mvto oni narzekali i zostali sami.
Uzyskiwanie powłoki roota
Wspomniałeś również, że straciłeś powłokę główną, a to supowoduje ld-linuxbłąd biblioteki. Możesz być w stanie użyć następujących elementów:
LD_LIBRARY_PATH=/var/lib64 /var/lib64/ld-linux-x86-64.so.2 /var/bin/su
Uwaga: po próbie nie działa. To dlatego, że suwymaga kilku plików w /etc( passwd, pam.di inne). Gdyby /etcnadal były nienaruszone, miałoby to spore szanse na sukces.
Bez zajęty
Jeśli nie masz dostępnego busyboksa, możesz użyć tej samej sztuczki ld-linux jak dla 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} /
Z płyty CD na żywo
Jak wspomniano w komentarzach, jeśli straciłeś powłokę root, to utknąłeś. Zasadniczo, aby to naprawić, potrzebujesz uprawnień roota. Jedynym sposobem, aby się tam dostać, jest posiadanie narzędzia, takiego jak sulub sudozwiększanie uprawnień (oba nie działają w tym momencie), lub przejęcie innego programu, który jest już uruchomiony jako root (w zależności od tego, co jest uruchomione, prawdopodobnie nie jest możliwe).
To pozostawia jedyną opcję, jaką jest live CD. Po uruchomieniu na żywo CD (lub Live USB, lub cokolwiek innego), po prostu zamontuj wolumin główny i przenieś katalogi, których dotyczy problem, z /varpowrotem do ich pierwotnego miejsca zamieszkania /.
Streszczenie tego, co się stało
folder/*rozwinąłby się w coś takiego jak folder/fooi folder/bar.
/*rozwinąłby się w coś takiego /bin /lib32 /lib64 /etc /home /root /var. Zauważ, że /varto ostatni element.
Gdy więc powłoka rozszerzy wszystkie globusy, uruchomi się coś takiego:
mv folder/foo folder/bar /bin /lib32 /lib64 /etc /home /root /var
Podobnie /varjak ostatni element na liście, wszystko zostało do niego przeniesione.
Dlaczego /var/bin/subłędy z/lib64/ld-linux-x86-64.so.2: bad ELF interpreter: No such file or directory
Prawie wszystkie pliki binarne w systemie Linux są dynamicznie powiązane ld-linux. ld-linuxjest biblioteką odpowiedzialną za ładowanie innych bibliotek wymaganych przez plik binarny. W twoim systemie to żyje /lib64/ld-linux-x86-64.so.2. Ponieważ ten katalog został przeniesiony, żaden dynamicznie połączony plik wykonywalny przestanie działać.
Powodem, dla którego busy jest aktywne, jest to, że zajęty jest statycznie powiązany. Nie używa ld-linux.
/var/bin/subezpośrednio?