/ বিন / ইত্যাদি / lib64 / রুট / এসবিন মুছে ফেলা হয়েছে বা এমভি ফোল্ডার / * / * দ্বারা সরানো হয়েছে যখন su


11

ওএসটি সেন্টোস 6.5 64-বিট

আমি একটি টার ফাইল ডাউনলোড করেছি এবং mvএটি অনার করতে চেয়েছিলাম it

আমি অপরিবর্তিত হই, তখন দুর্ঘটনাক্রমে (মূল হিসাবে) বাশের mv folder/* /*পরিবর্তে দৌড়ে যায় mv folder/* .বলে যে এটি কিছু ফাইল ওভাররাইট করতে পারে না, তারপরে অন্যের জন্য অনুমতি চেয়েছিল। আমি ctrl-c'd আউট।

আমি টার্মিনাল অধিবেশন উন্মুক্ত রেখেছি, কিন্তু বেরিয়ে এসেছি su

এখন আমি বেশিরভাগ shellকমান্ডের অ্যাক্সেস হারিয়ে ফেলেছি , lsকোনও ডিরেক্টরি করতে পারে না এবং ফিরে যেতে পারে না su

ওয়েবসভার এবং পরিষেবাগুলি এখনও চলছে বলে মনে হচ্ছে। আমি খুব কম কমান্ড চালাতে পারেন, cdতাদের একজন এবং আমি চেষ্টা cdকরতে /etcবা /binএটি দিয়ে ত্রুটি no directory found

সম্পাদনা শুধু থেকে হারিয়েছে সব ফোল্ডার খেয়াল /( bin, etc, lib64, root, sbin) এ স্থানান্তরিত হন /varডিরেক্টরি, আমি চেষ্টা /var/bin/su& পাবেন: -bash: /var/bin/su: /lib64/ld-linux-x86-64.so.2: bad ELF interpreter: No such file or directory


1
আপনি /var/bin/suসরাসরি চালাতে পারবেন না ?
দারখোগ

সমাধান সহ প্রশ্নটি সম্পাদনা করবেন না দয়া করে। স্ট্যাক এক্সচেঞ্জ নেটওয়ার্কে আপনি বরং উত্তর যুক্ত করুন, একটি উত্তর উন্নত করতে একটি বিদ্যমান উত্তরে একটি মন্তব্য করুন।
বার্নহার্ড

@ দারখোগ /var/bin/su: user root does not existআমি মনে করি আমরা স্থির করেছি যে এটি করা যাবে না কারণ / ইত্যাদি / ভার / ইত্যাদিতে রয়েছে
ওয়েবাহোলিক

@ বার্নহার্ড সংশোধন করার চেষ্টা করেছেন
ওয়েবাহোলিক

উত্তর:


22

যদি আপনার সিস্টেমটি busyboxইনস্টল করা থাকে তবে আপনি জিনিসগুলি পিছনে রাখতে এটি ব্যবহার করতে পারেন।

busyboxএটি একটি বাইনারি যা এতে প্রচুর পরিমাণে স্ট্যান্ডার্ড ইউটিলিটিস রয়েছে। থিংস যেমন mv, sh, ls, ইত্যাদি

পাভেলের উত্তরের আপনার মন্তব্য থেকে মনে হচ্ছে সবকিছু শেষ হয়ে গেছে /var। আপনি করছেন চেষ্টা করে দেখতে পারেন /var/bin/busybox mv /var/{bin,etc,lib32,lib64,root,sbin,usr} /। এটি আপনার বেশিরভাগ সিস্টেমে আবার চালু হতে হবে। কয়েকটি ডিরেক্টরি /tmpরয়েছে যেমন এর উপস্থিতিও রয়েছে /var/tmpতাই আপনি কেবল সেগুলি সরাতে পারবেন না। আশা করি তারাই mvঅভিযোগ করেছে এবং তারা একা হয়ে গেছে।

 

একটি রুট শেল পাওয়া

আপনি এটিও উল্লেখ করেছেন যে আপনি আপনার মূল শেলটি হারিয়েছেন এবং এটি suআপনাকে একটি ld-linuxলাইব্রেরির ত্রুটি দিচ্ছে । আপনি নিম্নলিখিত ব্যবহার করতে সক্ষম হতে পারে:

LD_LIBRARY_PATH=/var/lib64 /var/lib64/ld-linux-x86-64.so.2 /var/bin/su

দ্রষ্টব্য: এটি চেষ্টা করার পরেও এটি কার্যকর হয় না। এটি কারণ , ( , এবং অন্যান্য) suএ বেশ কয়েকটি ফাইলের প্রয়োজন । যদি এখনও অক্ষত থাকে, তবে এটির সফল হওয়ার ভাল সুযোগ থাকবে।/etcpasswdpam.d/etc

 

ব্যস্তবক্স ছাড়া

আপনার যদি ব্যস্তবক্স উপলভ্য না থাকে তবে আপনি সম্ভবত এলডি-লিনাক্স ট্রিকটি ব্যবহার করতে পারবেন su:

LD_LIBRARY_PATH=/var/lib64 /var/lib64/ld-linux-x86-64.so.2 /var/bin/mv /var/{bin,etc,lib32,lib64,root,sbin,usr} /

 

একটি লাইভ সিডি থেকে

মন্তব্যে যেমন আলোচনা করা হয়েছে, আপনি যদি রুট শেলটি হারিয়ে ফেলে থাকেন তবে আপনি বেশ আটকে আছেন। মূলত এটি ঠিক করতে আপনার রুট সুবিধাগুলি প্রয়োজন। পেতে একমাত্র উপায় সেখানে একটি ইউটিলিটি যেমন থাকতে হয় suবা sudoআপনার অনুমতি (উভয় যার এই সময়ে অ কার্মিক হয়) ধাপে ধাপে বৃদ্ধি, অথবা হাইজ্যাক অন্য প্রোগ্রাম ইতিমধ্যে (কি চালাচ্ছে, সম্ভবত সম্ভব নয় উপর নির্ভর করে) রুট হিসাবে চলছে।

এটি লাইভ সিডি হওয়ার একমাত্র বিকল্পটি ফেলে দেয়। একবার কোনও লাইভ সিডি বুট করার পরে (বা লাইভ ইউএসবি, বা যাই হোক না কেন) কেবল রুট ভলিউম মাউন্ট করুন এবং আক্রান্ত ডিরেক্টরিগুলি /varতাদের মূল বাড়িতে ফিরে সরিয়ে নিন /


কি ঘটেছে এর সংক্ষিপ্তসার

folder/*যেমন folder/fooএবং কিছুতে প্রসারিত হবে folder/bar
/*এর মতো কিছুতে প্রসারিত হত /bin /lib32 /lib64 /etc /home /root /var/varশেষ আইটেম এটি লক্ষ করা ।
সুতরাং যখন শেলটি সমস্ত গ্লোবগুলি প্রসারিত করেছিল, তখন এটি এমন কিছু চালিত হত:

mv folder/foo folder/bar /bin /lib32 /lib64 /etc /home /root /var

/varতালিকার শেষ আইটেম হিসাবে , সবকিছু এতে সরিয়ে নিয়েছে।


কেন /var/bin/suত্রুটি/lib64/ld-linux-x86-64.so.2: bad ELF interpreter: No such file or directory

লিনাক্সের প্রায় সমস্ত বাইনারিগুলির বিরুদ্ধে গতিশীলভাবে লিঙ্কযুক্ত ld-linuxld-linuxবাইনারি দ্বারা প্রয়োজনীয় অন্যান্য লাইব্রেরিগুলি লোড করার জন্য দায়ী লাইব্রেরি। আপনার সিস্টেমে এটি বাস করে /lib64/ld-linux-x86-64.so.2। যেহেতু এই ডিরেক্টরিটি সরানো হয়েছে, যেহেতু গতিযুক্তভাবে সংযুক্ত এক্সিকিউটেবল আর কাজ করবে না।

ব্যস্তবক্স কাজ করার কারণটি হ'ল ব্যস্তবক্সটি স্থিতিশীলভাবে লিঙ্কযুক্ত। এটি ব্যবহার করে না ld-linux


ভাল ধারণা. CentOS এর সাধারণত initramfs এর কারণে একটি ব্যস্তবক্স ইনস্টল থাকে , যাতে এটি ভালভাবে কাজ করতে পারে।
পাভেল rdিমেরদা

busyboxনিখুঁত সমাধানের মতো শোনাচ্ছে, দুর্ভাগ্যক্রমে ইনস্টল করা হয়নি, এটি কি ঠিক হওয়ার পরে ... ততক্ষণে, /var/lib64/ld-linux-x86-64.so.2পরিবর্তে আদেশগুলি কার্যকর করার জন্য পথটি সংশোধন করার কোনও উপায় আছে কি /lib64/ld-linux-x86-64.so.2? এই কমান্ড হত্যা করা হয় বলে মনে হয়/var/bin
webaholik

@ পেট্রিক: আপনি কি দয়া করে এমন তথ্য যুক্ত করতে পারেন যা ওপি কমান্ডটিও ব্যবহার করতে ভুল বলেছে? আমি তখন আমার উত্তরটি মুছে ফেলতে পারি কারণ এটি এখন (প্রায়) অপ্রয়োজনীয়। এটা কি স্ট্যাক এক্সচেঞ্জ ব্যবহার করার সঠিক উপায়?
পাভেল Šিমেরদা

1
এটা কয়েকটি জিনিস খুজছে /etcযা সেখানে (নও /etc/passwd, /etc/nsswitch, /etc/pam.d, এবং সম্ভবত আরও)। জন্য suকাজ, /etcএটা মূল অবস্থান ফিরে হতে হবে। যদি আপনি চারপাশে একটি শেল শেল না পেয়ে থাকেন তবে আমার মনে হয় আপনি আটকে আছেন :-(
প্যাট্রিক

2
@ ব্যবহারকারী 1296209 একবার আপনি লাইভসিডি আপ হয়ে গেলে, কেবলমাত্র রুট ভলিউম মাউন্ট করুন এবং সেই ডিরেক্টরিগুলি আবার সরিয়ে নিন। আপনার আবার দৌড়াতে হবে এমনই হওয়া উচিত।
প্যাট্রিক

10

mv folder/* ./*পাশাপাশি ভুল। আপনার দ্বারা চালিত কমান্ডগুলির শব্দার্থ সম্পর্কে আপনার আরও যত্নবান হওয়া উচিত। mvদুটিরও বেশি আর্গুমেন্ট সহ কমান্ডটি কেবল সর্বশেষটি ব্যতীত সমস্ত আর্গুমেন্ট গ্রহণ করে এবং যে পথগুলিকে তারা নির্দেশ করে সেটিকে শেষ আর্গুমেন্টে উল্লিখিত ডিরেক্টরিতে স্থানান্তরিত করে।

ফোল্ডার থেকে সমস্ত ডিরেক্টরি (লুকানো রয়েছে বাদে) বর্তমান ডিরেক্টরিতে সরাতে আপনার ব্যবহার করা উচিত:

mv folder/* .

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


আমি বুঝতে পারি নি: আমি / var / bin & / var / ইত্যাদি তে সিডি করতে পারি, মনে হচ্ছে ফোল্ডারগুলি ভারে স্থানান্তরিত হয়েছে, যাইহোক আমি কী তাদের আবার সরিয়ে নিতে পারি? ... লাইভসিডি ছাড়াই?
ওয়েবাহোলিক

আমি চেষ্টা করেছি / var / bin / su & get: -bash: / var / bin / su: /lib64/ld-linux-x86-64.so.2: খারাপ ইএলএফ দোভাষী: এ জাতীয় কোনও ফাইল বা ডিরেক্টরি নেই
ওয়েবাহোলিক

আহা ... আমি উত্তর ঠিক করব।
পাভেল Šিমেরদা

mvফোল্ডার থেকে বর্তমান ডিরেক্টরিতে সমস্ত ফাইল এবং ফোল্ডার সরাতে আমার কমান্ডটি কী হওয়া উচিত ছিল ?
ওয়েবাহোলিক

1
@ ইউজার 1296209: আপনি যদি কোনও লাইভ সিস্টেম বুট করেন তবে অবশ্যই আপনার লাইফ সিস্টেমে আপনার রুট অ্যাক্সেস থাকবে। আপনার আসল সিস্টেমটি কেবল একটি মাউন্টড পার্টিশন যার সাথে লাইভ সিস্টেমটির কোনও বিশেষ অর্থ নেই। কেবলমাত্র জটিলতাটি হ'ল আপনার /এবং /varডিরেক্টরিগুলি বিভিন্ন পার্টিশনে থাকতে পারে, এই ক্ষেত্রে আপনাকে উভয়ই মাউন্ট করতে হবে।
celtschk

2

আমি দুর্ঘটনাক্রমে / ইউএসআর / ইউএসআর-এ চলে গিয়েছিলাম এবং সবকিছু জাহান্নামে চলে গেছে। ভাগ্যক্রমে আমি প্রম্পটে থেকেছি এবং ইউএসআর ফোল্ডারটি পুনরুদ্ধার করতে নিম্নলিখিত কমান্ডটি কার্যকর করতে সক্ষম হয়েছি:

LD_LIBRARY_PATH=/usr_old/lib64 /usr_old/lib64/ld-linux-x86-64.so.2 /usr_old/bin/mv /usr_old /usr

ওয়েলকম, ইউএন্ডএল-এ, আপনি কি টাইপ করেছিলেন কেবলমাত্র সেই কমান্ড? দয়া করে আরও বিশদ পদ্ধতি সরবরাহ করুন। (বিশেষত দশ
মন্টের

1
হ্যাঁ আমি এই আদেশটি টাইপ করার পরে সবকিছু পুনরুদ্ধার করা হয়েছিল। হয়তো আমার উল্লেখ করা উচিত যে আমি এই সমস্ত সময়ে মূল ছিল।
মানসেহর

1

গুরুত্বপূর্ণ আপনি যদি এখানে থাকেন, এবং mvভুলভাবে দৌড়েছেন , shellকমান্ডগুলি চালাতে পারবেন না এবং ফোল্ডারগুলি রুট ডিরেক্টরি ( /) থেকে নিখোঁজ রয়েছে , প্রথমত, যদি আপনার কাছে থাকে তবে স্থির SUনা SUহওয়া পর্যন্ত প্রস্থান করবেন না , কারণ আপনি এটি ফিরে পাবেন না। আপনি যদি দূর থেকে সংযুক্ত থাকেন, আপনি যদি সংযোগ বিচ্ছিন্ন করেন তবে আপনি সক্ষম হবেন না ssh, সার্ভারটি একা রেখে যান, করবেন না reboot- বেশিরভাগ চলমান পরিষেবাদিগুলি ঠিকঠাক হওয়া উচিত। প্যাট্রিকের প্রস্তাবিত অনেকগুলি সমাধানের মধ্যে একটি আপনি চেষ্টা করতে পারেন ... তবে আপনার নিজের মতো করে যদি শারীরিক অ্যাক্সেসের প্রয়োজন হয় তবে আমার মতো করতে হবে।

একবার মেশিনের সামনে এসে আমি এটি রিবুট করলাম। প্রত্যাশিত হিসাবে, আমি একটি কর্নেল আতঙ্ক পেয়েছি।

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

এটি কারণ অনেক লোকের মতো আমারও একটি lvm ফাইল সিস্টেম ছিল এবং এটি প্রথমবারের মতো আমাকে এইরকম একটি উদ্ধার কাজ করতে হয়েছিল। আমার কী করা দরকার তা দেখার জন্য আমাকে ওয়েবে অনুসন্ধান করতে হয়েছিল। আমি এই পোস্টে তথ্যটি একীভূত করেছি। এখানে আমার সমস্যাটি সমাধান করার প্রক্রিয়া ছিল।

1) Centোকানো Centos_6.4_ মিনিটের সিডি

2) জিইউআই ইন্টারফেস জিজ্ঞাসা করেছিল আমি কী করতে চাই, রেসকিউ বেছে নিয়েছে

3) উদ্ধারকারী বর্তমান সিস্টেমটি মাউন্ট করার চেষ্টা করেছিল, তবে ইঙ্গিত দিয়েছে যে আমার কোনও লিনাক্স পার্টিশন নেই

4) shellবিকল্প দেওয়া হয়েছে প্রবেশ করার জন্য চয়ন করুন

এই মুহুর্তে আমি সিস্টেমটি মাউন্ট করার জন্য অনেক কিছুই চেষ্টা করেছিলাম, কোনও ভাগ্য ছাড়াই, আমি নিশ্চিত যে এই সমস্ত পদক্ষেপ আমি গ্রহণ করেছি (lvm এর কারণে):

5) আমার আয়তন স্ক্যান,

lvmdiskscan

)) রান লভস্কান, সমস্ত "নিষ্ক্রিয়" হিসাবে তালিকাবদ্ধ দেখানো হয়েছে

lvscan

7) লোড ডিভাইস মডিউল

modprobe dm-mod

8) সক্রিয় বিদ্যমান ভলিউম পরিবর্তন করুন

vgchange -ay

9) lvscanআবার দৌড়ে , এখন সমস্ত আইটেম "সক্রিয়" হিসাবে তালিকাবদ্ধ

10) মাউন্টপয়েন্ট তৈরি এবং লজিক্যাল পার্টিশন মাউন্ট করা

mkdir /mnt/root

mount /dev/VolGroup00/LogVol00 /mnt/root

১১) ফোল্ডারগুলি পিছনে সরিয়ে নেওয়া হয়েছে (আপনার অন্যের প্রয়োজন হতে পারে):

mv /var/{bin,etc,lib64,mnt,root,sbin} /

12)reboot

13) সাফল্য!

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