পুনরাবৃত্তভাবে রুট ডিরেক্টরি মুভিং ফিরে


14

আমার একটি উবুন্টু ডেস্কটপ সার্ভার হিসাবে ব্যবহৃত হয়েছে। এই সকালে আমি ঘটনাক্রমে আমার সমস্ত রুট সরানো হয়েছে../

 root@server:/tmp/UPS/up/upsilon# mv /* ../
 mv: impossibile spostare "/dev" in "../dev": Dispositivo o risorsa occupata
 mv: impossibile spostare "/proc" in "../proc": Dispositivo o risorsa occupata
 mv: impossibile spostare "/run" in "../run": Dispositivo o risorsa occupata
 mv: impossibile spostare "/sys" in "../sys": Dispositivo o risorsa occupata
 mv: impossibile spostare "/tmp" in una sottodirectory di sé stessa, "../tmp"
 root@server:/tmp/UPS/up/upsilon# ls
 -bash: /bin/ls: No such file or directory

আমি ssh মধ্যে দূরবর্তীভাবে সংযুক্ত ছিল। এখন, আমি আর অ্যাক্সেস করতে পারি না। আমি ওয়েবমিনও দেখতে পাচ্ছি না।

তো, এখন আমি সিস্টেমটি সঠিকভাবে পুনরায় চালু করতে পারি না? এবং আমাকে অবশ্যই শারীরিকভাবে সিস্টেম কনসোলটিতে অ্যাক্সেস করতে হবে এবং এই আদেশটি টাইপ করতে হবে:

../bin/mv ../{bin,boot,etc,home,media,mnt,opt,root,sbin,selinux,usr,var,vmlinuz*}

ঠিক আছে?

আমার রুট ডিরেক্টরিটি কোথায় গেল এবং আমি কীভাবে এটি ফিরে পেতে পারি? উপরের আদেশটি কি কাজ করবে?


10
কি দারুন! এটি একটি চিত্তাকর্ষক ভুল! :(
স্পারহাক

3
আমি কি সঠিকভাবে বুঝতে পারি যে সেই সময়ে কার্যনির্বাহী ডিরেক্টরি ছিল /? যদি তাই হয়, যখন আমি চেষ্টা করি, তখন আমি কিছুই mv tempdir/ ../পাইনি get mv: ‘tempdir/’ and ‘../tempdir’ are the same file
স্পারহাক

পরের বার, রুট হিসাবে লগইন করবেন না। এবং আপনি করতে যাচ্ছেন যদি স্যুইচ mvযোগ করুন -i
ব্রায়াম

1
আমি একমত নই কখনও কখনও আপনি প্রতিটি কমান্ডের সামনে নির্বোধভাবে 'সুডো' রাখতে শেখার চেয়ে রুট হিসাবে লগইন করতে চান। তবে রুট হিসাবে লগ ইন করার সময় সতর্কতা অবলম্বন করুন। বিশেষ করে মুছুন এবং মুভ কমান্ড সহ। --- তবুও ত্রুটিগুলি ঘটে থাকে এবং আমরা সেগুলি থেকে শিখি। @ ম্যাক্সডিএল: আপনি কি ব্যাকআপ থেকে / অংশটি পুনরুদ্ধার করতে পারবেন? আপনার ব্যাকআপ আছে? ওএস বুট না করে সার্ভার কনসোল অ্যাক্সেস করার জন্য আপনি কি ডেল ডিআরএসি, এইচপি আইএলও বা অন্যান্য দূরবর্তী অ্যাক্সেস সরঞ্জাম ব্যবহার করতে পারেন?
হেনেস

উত্তর:


12

আপনি রুট ডিরেক্টরিটি সরান নি (আপনি পারবেন না), আপনি কেবল যেদিকে যাচ্ছিলেন তার মূল ডিরেক্টরিতে প্রায় সমস্ত কিছু সরিয়ে নিয়েছেন।

জিনিসগুলিকে জটিল করার জন্য, আপনি mvএমনভাবে স্থানান্তরিত করেছেন যাতে প্রত্যাশার মতো কাজ হয় না। নিম্নলিখিতটি কাজ করা উচিত (যতক্ষণ না আপনি এটি জিজ্ঞাসা করার পরে পুনরায় বুট করেননি!) আপনি যদি আপনার শেষ এমভি বন্ধ করার সময় আপনি একই ডিরেক্টরিতে থাকতেন তবে

../bin/mv ../{bin,boot,etc,home,media,mnt,opt,root,sbin,selinux,usr,var,vmlinuz*} /

আপনার যদি এগুলির কোনও না থাকে তবে কমান্ড থেকে তাদের বাদ দিন।

এবং যদি আপনার অ্যাক্সেস না থাকে (জিনিসগুলি এই অবস্থায় থাকাকালীন আপনি নতুন লগইন করতে সক্ষম হবেন না) আপনাকে বাহ্যিকভাবে ফাইল সিস্টেমটি মাউন্ট করতে হবে (লাইভসিডি এর মতো কোনও কিছু দিয়ে এবং ফাইল সিস্টেমটি মাউন্ট করতে হবে এবং তারপরে ফাইলগুলি সরিয়ে ফেলতে হবে) সঠিক জায়গায়। ব্রায়ামের উত্তরটির এই অংশটি সাহায্য করা উচিত।


যা আমাকে বিভ্রান্ত করেছিল তা হ'ল লাইন root@server:/# ls, যা আমাকে পরামর্শ দিয়েছিল যে বর্তমান ডিরেক্টরিটি ছিল /। (অতএব উপরে আমার দ্বিতীয় মন্তব্য।)
স্পারহাক

দুঃখিত, এটি সম্পূর্ণ কমান্ড: রুট @ সার্ভার: / tmp / ইউপিএস / আপ / আপসিলন # এমভি / * ../ আমি ssh এ দূরবর্তীভাবে সংযুক্ত ছিলাম। এখন, আমি আর অ্যাক্সেস করতে পারি না।
ম্যাক্সডিএল

তারপরে ঠিক করার কমান্ডটি হ'ল/tmp/UPS/up/bin/mv /tmp/UPS/up/{bin,boot,etc,home,media,mnt,opt,root,sbin,selinux,usr,var,vmlinuz*} /
স্পারহক

10

আপনি যদি ইতিমধ্যে রিবুট করেন বা লগ আউট হয়ে থাকেন তবে আপনার সিস্টেমটি ঠিক করতে আপনি লাইভসিডি / ইউএসবি বুট করতে পারেন। আমি সেই অংশটি বাদ দিতে যাচ্ছি যেখানে আপনি কীভাবে একটি লাইভ সিস্টেম তৈরি করবেন এবং উবুন্টু দিয়ে বুট করবেন (বিকল্প সিডিটিও কাজ করে, কেবল একটি মূল শেলের মধ্যে ফেলে দিন):

প্রথমে আপনার সিস্টেমটি অন্য কোথাও মাউন্ট করা উচিত, তাই:

mkdir /mnt/system
mount /dev/sda1 /mnt/system

আমি ধরে নিচ্ছি /dev/sda1আপনার মূল। যদি আপনি পৃথক হয়ে থাকেন /binবা /usrআপনার এগুলিও মাউন্ট করা উচিত:

mount /dev/sda2 /mnt/system/usr

এখন, আপনি বিপর্যয়ের আগে যে ডিরেক্টরিতে এসেছিলেন তা পৌঁছে দেওয়া উচিত:

cd /mnt/system/tmp/UPS/up/upsilon

এখন অলি যে আদেশ দিয়েছিল, আমি এটিকে অনর্থক দিয়ে অনুলিপি করব:

mv ../{bin,boot,etc,home,media,mnt,opt,root,sbin,selinux,usr,var,vmlinuz*} /mnt/system/

এখন সবকিছু যথাযথভাবে যাচাই করুন:

# ls /mnt/system/
bin boot etc home media mnt opt root sbin selinux usr var etc...

আপনার সিস্টেমটি পুনরায় চালু করুন এবং ভবিষ্যতে আরও সতর্ক হন।


1

আমার এই সমস্যাটি ছিল, আমি দেখতে পেলাম যে আমাকে এমভি কমান্ডটি এভাবে কল করা দরকার:

/tmp/UPS/up/lib/ld-linux-x86-64.so.2 --library-path /tmp/UPS/up/lib/ /tmp/UPS/up/test/bin/mv /tmp/UPS/up/{bin,boot,etc,home,media,mnt,opt,root,sbin,selinux,usr,var} /

আশা করি এটি অন্যকে সহায়তা করবে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.