rm /*
बहुत कम हटाना चाहिए। वहाँ कोई -r
झंडा नहीं है जो पुनरावर्ती रूप से किसी भी चीज़ को हटा देगा, और इसके बिना निर्देशिकाओं को हटाया नहीं जाएगा (और यदि निर्देशिकाओं को हटा दिया गया था, तो केवल खाली ही हटाए जा सकते हैं)। यह उत्तर उस धारणा पर आधारित है जिसे आपने नहीं चलाया था rm -rf /*
।
परिणाम के रूट फाइल सिस्टम में एकमात्र फाइलें कर्नेल और इनइटर्ड (हालांकि एक उबंटू सिस्टम पर मैं देख रहा हूं, वे मौजूद नहीं हैं) के लिए /lib64
सीमलिंक हो सकते हैं या 64-बिट सिस्टम पर एक सिमलिंक हो सकते हैं।
समस्या सिर्फ यह हो सकती है कि /lib64 -> /lib
सिमिंक को हटा दिया गया है। हालांकि यह बहुत बुरा है, क्योंकि हर कार्यक्रम के बारे में उस सहृदय पर निर्भर करेगा:
$ ldd /bin/bash
...
/lib64/ld-linux-x86-64.so.2 (0x00007f8946ab7000)
यह ld-linux
डायनेमिक लोडर है, और यदि यह उपलब्ध नहीं है, तो आप किसी भी डायनामिक निष्पादन को नहीं चला सकते। इससे लॉग इन करना बेहद मुश्किल हो जाएगा और आप बिलकुल भी सक्षम नहीं होंगे।
एक तारणहार हो सकता है busybox
। इसे चलाने के लिए जाँच करें:
$ ldd /bin/busybox
not a dynamic executable
इस मामले में, बिजीबॉक्स को चलाने योग्य होना चाहिए, लेकिन सवाल यह है कि आप इसे कैसे चला सकते हैं?
यदि आपके पास बूट लोडर प्रॉम्प्ट तक पहुंच है, तो आप बूट करने में सक्षम हो सकते हैं init=/bin/static-sh
, जहां स्थैतिक-श एक सिम्लिंक है busybox
( /bin/static-sh
मौजूद है - यह मेरे सिस्टम पर है), लेकिन यह मानक उबंटू नहीं है। यह बग बताता है कि यह उपलब्ध है। ।)
एक बार जब आपके पास एक रूट शेल होता है, तो आप /lib64
सिमिलिंक को फिर से बना सकते हैं । पढ़ने / लिखने के लिए आपको पहले रूट फाइल सिस्टम को रिमूव करना पड़ सकता है। बिजीबॉक्स में ये उपकरण होने चाहिए, जिन्हें आप निम्न प्रकार से चला सकते हैं:
# busybox mount -o remount,rw /
# busybox ln -s /lib /lib64
# /bin/bash
bash#
यदि बैश काम करता है, तो समस्या को ठीक किया जाना चाहिए।
-r
तर्क को चलायाrm
या वास्तव में आपने जो आदेश दिखाया था, वह ठीक ही था। क्या आपका होस्टिंग प्रदाता उस विशेष मशीन के बाहर डिस्क छवियों तक पहुंचने का कोई तरीका प्रदान करता है?