সার্ভারটি "ইয়াম রিজাল অজগর" পরে বন্ধ হয়ে গেছে [বন্ধ]


65

আমি কমান্ডটি চালানোর পরে একটি বিপর্যয় ঘটেছিল yum remove pythonএবং এখন আমি আর সার্ভারটি বুট করতে পারি না।

এটি কীভাবে ঘটেছিল: আমি আমার সেন্টস 5 ভিপিএসে yum এর মাধ্যমে কিছু অ্যাপ্লিকেশন আপডেট করার চেষ্টা করেছি এবং কিছু অদ্ভুত অজগর 2.4 ত্রুটির কারণে কমান্ডটি ব্যর্থ হয়েছিল। আমি লক্ষ্য করেছি যে আমার অজগরটির সংস্করণটি পুরানো এবং আমি প্রথমে এটি সরিয়ে এটি পুনরায় ইনস্টল করার চেষ্টা করেছি এবং তাই করেছি yum remove python

এর পরে এটি আমাকে নির্ভরতা অপসারণ সম্পর্কে কিছু জিজ্ঞাসা করেছিল এবং দেখে মনে হচ্ছে কিছুই মিস করতে পারছি না তাই আমি ক্লিক করেছি Y

সুতরাং এর পরেরটি হ'ল আমি এখন পর্যন্ত কোনও আদেশ চালাতে পারিনি। আমি এমনকি চেষ্টা করেছি cd /var/wwwকিন্তু এটি " command does not exist in /usr/bin" এর মতো কিছু বলেছিল । আমি যখন tabফোল্ডার নেভিগেশন প্রস্তাবনাগুলি দেখতে পেতাম তখনও ফাইলের কাঠামোটি সেখানে উপস্থিত ছিল (কমপক্ষে একটি /var/wwwবিট যা আমার পক্ষে সত্যই গুরুত্বপূর্ণ)। এর পরে আমি ভিপিএস পুনরায় চালু করার চেষ্টা করেছি (অ্যাডমিন প্যানেল থেকে যেহেতু rebootকমান্ড কাজ করে না) এবং এখন এটি আর বুট হয় না।

এখন আমার প্রশ্ন: এর মতো একটি কমান্ড কীভাবে সম্ভবত আমার সার্ভারটি ধ্বংস করতে পারে?


33
ঘটনাক্রমে, apt-get অপসারণ অ্যাপ্লিকেশন কাজ করে। আমি dpkg --remove dpkg এখনও চেষ্টা করি নি। আমি বাজি ধরছি যে সত্যিই খারাপ।
জোশুদসন

19
আপনার একটা ব্যাকআপ আছে, তাই না?
vasin1987

21
@ জোশুডসন আমি কেবলমাত্র একটি ভিএম-তে একটি ডেবিয়ান 8.4 লাইভ সিডি রেখেছি এবং এটি ব্যবহার করে দেখেছি। ফলাফল: # dpkg --remove dpkgথুতু আউট dpkg: error processing dpkg (--remove): this is an essential package; it should not be removed। আমি যদি --force-alldpkg এর কমান্ড লাইনে যুক্ত করি, dpkgসতর্কতার পুরো বান্ডিলটি ছুঁড়ে ফেলে এবং নিজেকে অপসারণ করতে এগিয়ে যায়, পাশাপাশি নির্ভর করে এমন আরও প্রায় দুই ডজন প্যাকেজ ভেঙে দেয় dpkg। সত্যিকারের সিস্টেমে আমি নিশ্চিত যে এর থেকে পুনরুদ্ধার করতে আপনার কিছুটা সমস্যা হয়েছে তবে আপনি সম্ভবত এটি করতে পারেন (এর পক্ষে খুব কম জাদু নেই .deb); CentOS এই ক্ষেত্রে একই হতে পারে বা নাও হতে পারে।
একটি সিভিএন

6
@ জোশুদসন এটি কাজ করে কারণ আপনি কমান্ডটি প্রকাশ করার সাথে সাথে স্মৃতিতে চালিত অ্যাপের একটি অনুলিপি রয়েছে ... এটি শেষ হওয়ার সাথে সাথে (এবং প্রোগ্রামটি শেষ হয়ে যাবে), আপনি আর অ্যাপটি ব্যবহার করতে পারবেন না।
স্নেকডোক

2
ইয়াম নিজেই পাইথনে প্রয়োগ করা হয়েছে আমার বিশ্বাস ... তাই পাইথন অপসারণ করা আপনার নিজের পা খুব ভালভাবে অঙ্কুরিত করে!
peufeu

উত্তর:


67

আমি আন্তরিকভাবে দুঃখিত: একটি সার্ভারটি চালুর / চালাতে না পারা এমন যন্ত্রণাটি আমি অনুভব করতে পারি।

যাইহোক, এটি পড়ে আমি হারিয়ে গেলাম:

এর পরে এটি আমাকে নির্ভরতা অপসারণ সম্পর্কে কিছু জিজ্ঞাসা করেছিল এবং দেখে মনে হচ্ছে কিছুই মিস করতে পারছি না তাই আমি ক্লিক করেছি [ওয়াই]

অপসারণযোগ্য প্যাকেজগুলির তালিকা অবশ্যই সত্যিই বিশাল ছিল , যেমনটি pythonআরএইচইএল / সেন্টোসের একটি প্রয়োজনীয় অংশ। আপনি কখনই এমন কিছু সতর্কতা বার্তা নিশ্চিত করতে পারবেন না যা আপনি সত্যিই বুঝতে পারেন না।

আপনি যা করতে পারেন তার সর্বোত্তম কাজটি হ'ল পুনরুদ্ধার মিডিয়া (যেমন: লাইভসিডি) মাধ্যমে বুট করা, প্রয়োজনীয় ডেটা ফাইলগুলি এক্সট্র্যাক্ট করা এবং আপনার মেশিনটিকে একটি নতুন সেন্টোস রিলিজ দিয়ে পুনরায় ইনস্টল করা (এবং সেন্টোস 6 বেশ পুরানো বলে আমি দৃ strongly়ভাবে আপনাকে CentOS 7 এ রিবেস করার পরামর্শ দিই)।


2
ভবিষ্যতের জন্য: এলভিএম এলভিতে ওএসের সাথে সার্ভারগুলি তৈরি করুন (যা আইআরটি আরএইচইএল ডিফল্ট)। সিস্টেমটি ভাঙার সামান্যতম সম্ভাবনা রয়েছে এমন কোনও কিছুর আগে, স্ন্যাপশট তৈরি করুন। যদি এটি প্রকৃতপক্ষে সিস্টেমটিকে ভেঙে দেয় তবে আপনি কয়েক মিনিটের মধ্যে স্ন্যাপশটে ফিরে যেতে পারেন। অন্যথায় যখন সবকিছু ঠিক থাকে আপনি স্ন্যাপশটটি সরাতে পারেন। unix.stackexchange.com/questions/18913 । এনবি স্ন্যাপশট ব্যাকআপ নয়। আপনার এখনও পরিস্থিতিগুলির জন্য ব্যাকআপ দরকার যেখানে স্ন্যাপশট আপনাকে সংরক্ষণ করতে পারে না।
নিগেল 222

ডেবিয়ান / উবুন্টুতে, তিনি পুনরুদ্ধার চিত্রটি বুট করতে পারেন (যেমন ফিনিক্স), ডাবুটস্ট্র্যাপের সাহায্যে বেস সিস্টেমটি আনপ্যাক করুন, ক্রুট এবং অ্যাপ্লিকেশন উবুন্টু-ডেস্কটপ ইনস্টল করুন। সেন্টো / রেলের ডিবিউটস্ট্র্যাপ সমতুল্য কিনা তা ধারণা নেই।
এথেল্ডিল

1
CentOS 6 2020 নভেম্বর অবধি সমর্থিত । আপগ্রেড করার কোনও ভিড় নেই (যদিও 7 এ যাওয়ার প্রচুর সুবিধা রয়েছে)।
স্মৃতি 9

106

সত্য কথা, কারণ আপনি এমন কিছু করেছেন যা আপনি পুরোপুরি বুঝতে পারেন নি। পাইথন ওএসের একটি অপরিহার্য অঙ্গ এবং যে বিষয়গুলিকে আপনি গুরুত্বহীন বলে মনে করেন তা অত্যন্ত গুরুত্বপূর্ণ। ব্যাকআপ থেকে পুনঃস্থাপন.


আপনি যখন পাইথন সরিয়ে ফেলেন, yumআপনাকে প্যাকেজগুলির একটি দীর্ঘ তালিকা প্রদর্শন করে যা অপসারণ করা হবে। এই তালিকায় যেমন প্রয়োজনীয় রয়েছে yumখোদ coreutils, net-toolsএবং অন্যদের। আপনি এটি নিশ্চিত করেছেন যে আপনি কী করছেন এবং আপনি যেভাবেই এগিয়ে যেতে চান তা আপনি জানেন। এর ফলাফলটি একটি অ-কার্যক্ষম সিস্টেম। এটি অবাক করা উচিত নয়।

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


3
হাহা ভাল যে দ্রুত বৃদ্ধি পেয়েছে (ইয়াম সরান পাইথন == কেবল পুরো মেশিনটি মুছুন: ডি)। আপনি কি বিবেচনা করছেন যে আমি যে কোনও উপায়ে কমপক্ষে / var / www-এ থাকা ফাইলগুলি পুনরুদ্ধার করতে পারি বা এটি সম্পূর্ণভাবে ফুবার্ডও রয়েছে?
tadoman

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

6
@ রাসেলবোরোগোভ: আমি এর একটিও বলি না। yumনির্ভরতা গ্রাফটি হেঁটে কাজ করে এবং সমস্ত নির্ভরতা সন্তুষ্ট না হওয়া পর্যন্ত প্যাকেজগুলি সরিয়ে দেয়। প্যাকেজ এ যদি প্যাকেজ বি এর উপর নির্ভর করে এবং প্যাকেজ বি প্যাকেজ সি এর উপর নির্ভর করে, yumপ্যাকেজ বিও সরিয়ে ফেলবে এবং পরিবর্তে, প্যাকেজ এ সমস্ত নির্ভরতা মেটাতে যদি আপনি প্যাকেজ সি অপসারণ করার চেষ্টা করেন তবে সেন্ট্রাল প্যাকেজগুলির মতো (যেমন python) এর ফলাফল হতে পারে আপাতদৃষ্টিতে সম্পর্কিত নয় এমন মুছে ফেলা প্যাকেজগুলির প্রচুর পরিমাণ।
সেভেন

4
@ রাসেলবোরোগোভ: হ্যাঁ, ঠিক যদিও coreutilsএটি pythonসরাসরি সেন্টোস ৫ এ নির্ভর করে না , তবে এক বা একাধিক মধ্যবর্তী প্যাকেজের মাধ্যমে - ফলাফলটি একই রকম: অপসারণ।
সেভেন

4
কোর্টিলগুলিতে অন্তর্বর্তী প্যাকেজগুলির সংখ্যা দুটি বলে মনে হয়। python -> cracklib -> pam -> coreutils নির্ভরতা বিদ্যমান কারণ ক্র্যাকলিবের সাথে পাইথন বাইন্ডিং রয়েছে, পাম ক্র্যাকলিব দিয়ে নির্মিত হয়েছিল, এবং সেই সু পামের সাথে সংহত হয়েছে। অবশ্যই এটি আরও অনেকগুলি গুরুত্বপূর্ণ জিনিস বের করে
আনল

15

ফলাফলগুলি সম্পূর্ণরূপে না বুঝে আপনি কিছু করেছেন

এই ইনস্টলটি অপরিশোধনযোগ্য, সেন্টোস 5 পুনরায় ইনস্টল করতে প্রচুর কাজ প্রয়োজন। এবং এটি একটি খারাপ পরিকল্পনা কারণ

  1. সেন্টোস 5 হ'ল এন্ড অফ লাইফ, এবং তাই কোনও আপডেট নেই। এটি অতিরিক্ত গুরুতর যেটি পাবলিক ইন্টারনেটে ওয়েবসভার সামগ্রী সরবরাহ করে এবং আপনি এটি নিয়ন্ত্রণ করতে প্যানেল অ্যাপ্লিকেশন ব্যবহার করেন বলে মনে হচ্ছে।
  2. CentOS> 5 আপনাকে এই আপডেটটি করতে এবং বক্সটি মেরে ফেলতে পারত। এটি একটি দুর্দান্ত এয়ারব্যাগ আছে।
  3. CentOS 7 দাবি করেছে যে বড় সংস্করণ আপগ্রেড রয়েছে support আমি কখনই এটি ব্যবহার করি নি, তবে এটি প্রকাশের সময় 7 থেকে 8 থেকে লাফিয়ে উঠতে সক্ষম হওয়া খুব ভাল হবে। ডিবিয়ানদের চিরকালের জন্য এটি ছিল, তবে রেডহ্যাটের সর্বদা বড় সংস্করণের জাম্পগুলির জন্য পুনরায় ইনস্টল করা দরকার।

সমাধান

আপনার সেরা বাজিটি হ'ল একটি নতুন ভিপিএস তৈরি করা, নতুন করে সেন্টোস 7 ইনস্টল করা এবং তারপরে পুরানো সেন্টোস 5 ডিস্ক ভলিউমটি পুনরায় সংযুক্ত করা এবং এটি কেবল পঠনযোগ্যভাবে মাউন্ট করা। তারপরে আপনার ডেটাটি পুরানো ড্রাইভ থেকে নতুনে অনুলিপি করতে (সরানো নয়) কাজ করুন।

নোট করুন এটি আমার পদ্ধতি হবে এডাব্লুএস ব্যবহার করে। যদি আপনার ভিপিএস সরবরাহকারী বিভিন্ন ভিএম-এর সাথে ডিস্ক সংযুক্ত করতে না পারেন তবে আপনাকে পরিকল্পনাটি টুইঙ্ক করতে হবে।

আপনি যাই করেন না কেন, দয়া করে ভবিষ্যতে স্বয়ংক্রিয় ব্যাকআপগুলি সেট আপ করার বিষয়ে বিবেচনা করুন। এটি আপনাকে বাঁচায় না, তবে এটি পুনরুদ্ধারকে কিছুটা নমনীয় করে তুলবে। এখনই আপনার নতুন ওয়ার্কিং সার্ভারে সেই ডিস্কের ডেটা দরকার। বিদ্যমান ডিস্কটি আলগা করবেন না।


9

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

আপনার জন্য পরবর্তী পদক্ষেপগুলি: একটি তাজা ওএস পুনরায় স্থাপন করুন এবং ব্যাকআপগুলি থেকে আপনার ডেটা পুনরুদ্ধার করুন।


1
প্যাকেজ আনইনস্টল করা কখনই ডেটা সরিয়ে ফেলা উচিত নয় । সত্যই কিছু পুনরুদ্ধার করার দরকার নেই, যদি না কিছু প্যাকেজ রক্ষণাবেক্ষণকারী রয়্যাল আপ হয়।
Jörg ডব্লু মিটাগ

6
যদি ওপি আমার প্রস্তাবিত একটি নতুন ওএস পুনরুদ্ধার করে তবে ডেটা পুনরুদ্ধার এবং কনফিগারেশন সর্বাধিক নিশ্চয়তার প্রয়োজন হবে।
EEAA

@ জার্গডব্লিউমিত্যাগ আমি মনে করি আপনি "পুনরুদ্ধার" শব্দটির ব্যবহারটি ভুল বুঝে থাকতে পারেন। EEAA এর অর্থ হ'ল সিস্টেমটি পুনরায় কনফিগার করতে হবে এবং বিদ্যমান ডেটা নতুন মেশিনে কোথাও রাখা হবে। "পুনরুদ্ধার" এটির জন্য সেরা শব্দ নাও হতে পারে, যদিও আমি কেউ দেখতে পেলাম যে এই টুকরোটির জন্য ডেটাবেস পুনরুদ্ধার কার্যকারিতা ব্যবহার করছে।
jpmc26

@ জার্গডব্লিউমিতাগ ওহ, তার ডেটা এখনও আছে, সম্ভবত। এটি কেবল তার সিস্টেমের সাথে এটি অ্যাক্সেস করার কোনও উপায় নেই।
শাদুর

4

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

সুতরাং, CentOS এ অনুরূপ কিছু সম্পাদন করার জন্য, আমার মনে হয় আপনার আরপিএমগুলি আনইনস্টল করা হয়েছে তার সঠিক সংস্করণগুলি খুঁজে বের করতে হবে, তারপরে একটি লাইভসিডি / ডিভিডি বুট করুন, ওএস ড্রাইভটি মাউন্ট করুন এবং এতে ক্রুট করুন (সম্ভবত ... আপনি যদি পরিচিত হন তবে কিভাবে "ব্যবহার করার জন্য অন্তর্ভুক্ত --relocate জন্য" পতাকা RPM , তাহলে আপনি chroot করতে হতে পারে না), যারা প্যাকেজ পুনরায় ইনস্টল, আন-মাউন্ট করা এবং রিবুটের।

অবশ্যই, যেহেতু গত মাসে সেন্টোস 5 এর সমর্থন শেষ হয়েছে, আপনি সিস্টেমটি সঠিকভাবে বুট করার পরে, আপনি এটি একটি বর্তমান সংস্করণে আপডেট করতে পারেন।

আছে HTH।


0

আপনি সাধারণত ইনস্টল মিডিয়া থেকে বুট করতে পারেন এবং তারপরে chrootকমান্ড চালাতে বা বর্তমান ইনস্টলে প্রবেশ করতে এবং ফাইলগুলি পুনরুদ্ধার করতে বা প্যাকেজগুলির পুনরায় ইনস্টল করতে পারেন।


4
আপনি / ইউএসআর / বিন ইত্যাদিতে কোনও দরকারী বাইনারি নেই এমন একটি মূল ডিরেক্টরিতে ক্রট করতে সক্ষম হবেন না এটি মৃত সিস্টেমে বুট করার মতো ফলাফল দেয়। ক্রুট এছাড়াও প্রয়োজনীয় নয় কারণ একবার আপনি ফাইল সিস্টেমটি মাউন্ট করার পরে, আপনি / var / www থেকে যে ফাইলগুলি উদ্ধার করতে চান তা অনুলিপি করতে পারেন।
qris

অবশ্যই সত্য, আমি জেন্টু / আর্চ ইনস্টল করার কথা স্মরণ করছি যেখানে সাধারণত কিছু দরকারী বাইনারি পাওয়া যায়। আমি প্রথমে সবকিছু আনইনস্টল করি নি। ;)
ড্রাগন 788
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.