rm /*
খুব কম মুছে ফেলা উচিত। সেখানে এমন কোনও -r
পতাকা নেই যা অবিচ্ছিন্নভাবে কিছু মুছতে পারে, এবং এটি ছাড়া ডিরেক্টরিগুলি মোছা হবে না (এবং ডিরেক্টরিগুলি মুছে ফেলা হলেও কেবল খালিগুলি মুছতে পারে)। এই উত্তরটি অনুমান করা হয় যে আপনি চালনা করেন নি rm -rf /*
।
ফলাফলের মূল ফাইল সিস্টেমে কেবলমাত্র ফাইলগুলি কার্নেল এবং initrd এর প্রতীক হতে পারে (যদিও আমি যে উবুন্টু সিস্টেমে দেখছি, সেগুলির অস্তিত্ব নেই) বা /lib64
-৪-বিট সিস্টেমে একটি সিমলিংক ।
সমস্যাটি কেবল এই হতে পারে যে /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
বা সত্যই আপনি যে কমান্ডটি দেখিয়েছেন তা ঠিক করেছে। আপনার হোস্টিং সরবরাহকারী কি সেই নির্দিষ্ট মেশিনের বাইরে ডিস্ক চিত্রগুলি অ্যাক্সেস করার কোনও উপায় সরবরাহ করে?