দুর্ঘটনাবশত একটি রিমোট সার্ভারে sudo rm / * সম্পাদন করা হয়েছে


11

আমি দুর্ঘটনাক্রমে rm /*একটি দূরবর্তী উবুন্টু সার্ভারে রুট হিসাবে লগ ইন করার সময় এবং সমস্ত বাইনারিগুলি মুছে ফেলেছিলাম এবং বর্তমানে আমি ফাইলগুলি পুনরুদ্ধার করতে ssh বা ftp এর মাধ্যমে লগইন করতে পারি না (এবং সেরাটির জন্য আশা করি)।

এই জগাখিচুড়িটি ঠিক করার কোনও উপায় আছে কি, বা আমাকে ডেটাসেন্টার কল করে কোনও ফর্ম্যাট চাইতে হবে?


2
এটি কি কোনও শারীরিক বা ভার্চুয়াল সার্ভার কিনা তা আপনি নিশ্চিত করতে পারেন? এছাড়াও আপনি -rযুক্তিটি চালিয়েছেন rmবা সত্যই আপনি যে কমান্ডটি দেখিয়েছেন তা ঠিক করেছে। আপনার হোস্টিং সরবরাহকারী কি সেই নির্দিষ্ট মেশিনের বাইরে ডিস্ক চিত্রগুলি অ্যাক্সেস করার কোনও উপায় সরবরাহ করে?
কালেব

উত্তর:


26

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# 

যদি বাশ কাজ করে তবে সমস্যাটি ঠিক করা উচিত।


18

আপনার যদি বর্তমান ইনস্টল থেকে ফাইলগুলি পুনরুদ্ধার করতে চান তবে আপনার হোস্টকে আপনাকে সহায়তা করতে বলুন। এটি একটি ভিএম হিসাবে ধরে নিয়েছেন, আপনার ডিস্কটি চিত্রিত করতে, আপনার হোস্টটিকে স্ক্র্যাচ থেকে পুনরায় ইনস্টল করতে এবং আপনার নতুন ফাইল সিস্টেমে পুরানো ডিস্ক চিত্রটি ফেলে দিতে তাদের দিনের প্রায় পাঁচ মিনিট সময় লাগে।

আপনার যদি কিছু প্রয়োজন না হয় তবে কেবল সেগুলি পুনরায় ইনস্টল করুন। আপনি যখন জিনিসগুলিতে শক্ত হন তখন প্রায় সর্বদা দ্রুত বিকল্প।


2
একমত। যদি তারা যুক্তিসঙ্গতভাবে যোগ্য ভিএম হোস্টিং পরিষেবা হয় তবে তাদের এটি করা উচিত। তাদের এখনও প্রাক স্ক্রুআপ ব্যাকআপ থাকবে তা নিশ্চিত করার জন্য তাদের যত তাড়াতাড়ি সম্ভব যোগাযোগ করুন।
শাদুর

2

আপনি যদি / lib এ সবেমাত্র / lib64 syMLink মুছে ফেলে থাকেন এবং আপনার কাছে এখনও কনসোলটি খোলা থাকে, কেবল করুন:

/lib/ld-linux-x86-64.so.2 /bin/ln -s /lib /lib64

এবং আপনার আবার কমান্ডগুলি স্বাভাবিকভাবে চালানো উচিত। আপনার আসল এলডি লাইব্রেরির পাথ সামঞ্জস্য করুন। আপনি চাইলে অন্য কোনও কমান্ডও চালাতে পারেন পুরো এলডি লাইব্রেরির পাথের সাথে এটি প্রিফেস করে।


1

শারীরিক সার্ভারে অ্যাক্সেস না করেই আপনি যা করতে পারেন তা তেমন কিছুই নেই।


সুতরাং, আমি কি তখন কোনও ফর্ম্যাট চাইব, বা অন্য সমস্ত কিছু না দিয়ে এই ফাইলগুলি পুনরুদ্ধার করার কোনও উপায় আছে?
পিপীলিকা

আপনি ভুলে যান যে এটি একটি উচ্চ সম্ভাবনা রয়েছে যে এটি একটি ভার্চুয়াল সার্ভার যার ক্ষেত্রে "ফিজিক্যাল সার্ভার" এর অর্থ উচ্চ স্তরের দূরবর্তী সরঞ্জামগুলিতে অ্যাক্সেস ব্যতীত খুব বেশি কিছু নয়।
কালেব
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.