আপনার যদি এখনও একটি রুট শেল থাকে তবে আপনার সিস্টেমটি মেরামত করার সুযোগ হতে পারে। ধরুন আপনি সব সাধারণ ডিরেক্টরি সরানো যাক ( /bin, /etc, /lib, /sbin, /usr- এই বেশী যে পুনরুদ্ধারের কঠিন বানাতে পারে হয়) অধীনে /oops।
আপনি mvপুরো পথটি নির্দিষ্ট করে নিলেও আপনি সরাসরি কমান্ডটি দিতে সক্ষম হবেন না /oops/bin/mv। কারণ এটা mvহল পরিবর্তনশীল লিঙ্ক ; কারণ আপনি /libডিরেক্টরিটি সরিয়ে নিয়েছেন , mvচালাতে পারবেন না কারণ এটি তার কোডের অংশ গঠনকারী লাইব্রেরিগুলি খুঁজে পেতে পারে না। আসলে, এটি এর চেয়েও খারাপ: গতিশীল লোডারটিmv খুঁজে পাচ্ছে না /lib/ld-linux.so.2 (আপনার আর্কিটেকচার এবং ইউনিক্স বৈকল্পিকের উপর নির্ভর করে নামটি পৃথক হতে পারে, এবং ডিরেক্টরিটি যেমন আলাদা নাম হতে পারে ) /lib32বা /lib64। অতএব, আপনি /libডিরেক্টরিটি আবার সরিয়ে না নেওয়া পর্যন্ত আপনাকে লিঙ্কারটি স্পষ্টভাবে প্রার্থনা করতে হবে এবং আপনাকে সরানো লাইব্রেরিগুলির পথ নির্দিষ্ট করতে হবে need এখানে ডিবিয়ান স্কিজ আই 386-তে পরীক্ষা করা কমান্ডটি দেওয়া আছে।
export LD_LIBRARY_PATH=/oops/lib:/oops/lib/i386-linux-gnu
/oops/lib/ld-linux.so.2 /oops/bin/mv /oops/* /
অন্যান্য বিতরণ বা আর্কিটেকচারের জন্য আপনার এটিকে সামান্য সামঞ্জস্য করতে হবে। উদাহরণস্বরূপ, x86_64 এ CentOS এর জন্য:
export LD_LIBRARY_PATH=/oops/lib:/oops/lib64
/oops/lib64/ld-linux-x86-64.so.2 /oops/bin/mv /oops/* /
আপনি যখন /libকোনও কিছু আঁকিয়েছেন, তখন এটি স্থিরভাবে সংযুক্ত সরঞ্জামবক্সের চারপাশে থাকতে সহায়তা করে। কিছু ডিস্ট্রিবিউশন (আমি সেন্টওএস সম্পর্কে জানি না) এর স্ট্যাটিক্যালি সংযুক্ত কপি প্রদান busybox । এর রয়েছে উত্তরীয় , বিল্ট-ইন অনেক কমান্ড দিয়ে একটি স্বতন্ত্র শেল। আপনার যদি এর মধ্যে একটি থাকে তবে সেখান থেকে আপনি পুনরুদ্ধার করতে পারেন। আপনি যদি এগুলির আগে ইনস্টল না করে থাকেন তবে অনেক দেরি হয়ে গেছে।
# mkdir /oops
# mv /lib /bin /oops
# sash
Stand-alone shell (version 3.7)
> -mv /oops/* /
> exit
আপনার কাছে যদি আর শট শেল না থাকে তবে আপনি এখনও একটি এসএসএইচ ডেমন শুনছেন এবং আপনি সরাসরি এসএসএস-এর উপরে রুট হিসাবে লগ ইন করতে পারেন, এবং আপনার এই স্ট্যাটিকালি-লিংকড টুলবক্সগুলির মধ্যে একটি রয়েছে, আপনি এসএসএস করতে সক্ষম হতে পারেন This আপনি সরানো হয়েছে /libএবং যদি না কাজ করতে পারেন /bin, কিন্তু না /etc।
ssh root@broken.example.com /oops/bin/sash
root@broken.example.com's password:
Stand-alone shell (version 3.7)
> -mv /oops/* /
কিছু প্রশাসক স্ট্যাটিকালি-লিঙ্কড শেল দিয়ে একটি বিকল্প অ্যাকাউন্ট সেটআপ করেন, বা রুট অ্যাকাউন্টটি কেবল এই ধরণের সমস্যার জন্য স্ট্যাটিকালি-লিঙ্কড শেল ব্যবহার করে।
যদি আপনার কাছে রুট শেল না থাকে এবং সাবধানতা অবলম্বন না করে থাকেন তবে আপনাকে একটি লিনাক্স লাইভ সিডি / ইউএসবি থেকে বুট করতে হবে (আপনার ডিস্ক এবং ফাইল সিস্টেমগুলি অ্যাক্সেস করতে সক্ষম হওয়ার জন্য এটি সামান্যতম কিছু করবে) এবং ফাইলগুলি আবার সরিয়ে দিন।