Hala bir kök kabuğunuz varsa, sisteminizi onarma şansınız olabilir. Diyelim ki tüm ortak dizinleri taşındı diyelim ( /bin
, /etc
, /lib
, /sbin
, /usr
- bunlar kurtarma zorlaştıracak olanlar) altında /oops
.
mv
Tam yolu belirtmiş olsanız bile komutu doğrudan veremezsiniz /oops/bin/mv
. Çünkü mv
olduğunu dinamik bağlantılı ; çünkü /lib
dizini taşıdınız, mv
çalışamaz çünkü kodunun bir parçasını oluşturan kütüphaneleri bulamaz. Aslında, bundan daha da kötü: dinamik yükleyiciyimv
bulamıyorum (ad, mimarinize ve unix varyantınıza bağlı olarak değişebilir ve dizin veya gibi farklı bir ad olabilir ). Bu nedenle, dizini geri taşıyana kadar, bağlayıcıyı açıkça çağırmanız ve taşınan kitaplıkların yolunu belirtmeniz gerekir. İşte Debian squeeze i386 üzerinde test edilen komut. /lib/ld-linux.so.2
/lib32
/lib64
/lib
export LD_LIBRARY_PATH=/oops/lib:/oops/lib/i386-linux-gnu
/oops/lib/ld-linux.so.2 /oops/bin/mv /oops/* /
Diğer dağıtımlar veya mimariler için bunu biraz ayarlamanız gerekebilir. Örneğin, x86_64'teki CentOS için:
export LD_LIBRARY_PATH=/oops/lib:/oops/lib64
/oops/lib64/ld-linux-x86-64.so.2 /oops/bin/mv /oops/* /
Bir şeyi batırdığınızda /lib
, statik olarak bağlı bir araç kutusunun etrafta kalmasına yardımcı olur. Bazı dağıtımlar (CentOS hakkında bilmiyorum), Busybox'ın statik olarak bağlı bir kopyasını sağlar . Ayrıca birçok komut içeren yerleşik bir kabuk olan kanat var . Bunlardan birine sahipseniz, iyileşmenizi oradan yapabilirsiniz. Onları gerçeklerden önce kurmadıysanız, çok geç.
# mkdir /oops
# mv /lib /bin /oops
# sash
Stand-alone shell (version 3.7)
> -mv /oops/* /
> exit
Artık bir kök kabuğunuz yoksa, ancak hala bir SSH artalan dinlemeniz varsa ve doğrudan ssh üzerinden root olarak giriş yapabilirsiniz ve bu statik olarak bağlı araç kutularından birine sahipseniz, ssh yapabilirsiniz. taşındıysanız eğer çalışabilir /lib
ve /bin
ancak /etc
.
ssh root@broken.example.com /oops/bin/sash
root@broken.example.com's password:
Stand-alone shell (version 3.7)
> -mv /oops/* /
Bazı yöneticiler, statik olarak bağlı bir kabukla alternatif bir hesap oluşturur veya kök hesabın yalnızca bu tür bir sorun için statik olarak bağlı bir kabuk kullanmasını sağlar.
Bir kök kabuğunuz yoksa ve önlem almadıysanız, bir Linux canlı CD / USB'den önyükleme yapmanız gerekir (herhangi biri disklerinize ve dosya sistemlerinize erişebilecek kadar yeni olduğu sürece) ve dosyaları geri taşıyın.