কখন একটি রিবুট প্রয়োজন?


27

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

স্পষ্ট করার জন্য: আমি একটি সাধারণ ডেস্কটপ বা সার্ভার সিস্টেমের কথা ভাবছি যা কোনও হার্ডওয়্যার ত্রুটি দ্বারা ভুগছে না।


3
রিবুট না করেই প্রতিটি কাজ করা যায়। এমনকি কার্নেল পরিবর্তন করাও ksplice ব্যবহার করে করা যেতে পারে যাতে আপনি আপনার কার্নেলটি সরিয়ে নিতে পারেন।
কিউই

4
আপনার প্রশ্নটি খুব বিস্তৃত, কারণ "লিনাক্স সিস্টেম" বলতে অনেকগুলি ভিন্ন জিনিস বোঝাতে পারে।
জিরিন

এছাড়াও "যে কোনও পরিবর্তন" বলতে বিভিন্ন পরিস্থিতিতে বেশ কয়েকটি বোঝাতে পারে। এমডি আয়নার অংশ হ'ল ব্যর্থ হার্ড ড্রাইভ থেকে পুনরুদ্ধার কি এমন পরিবর্তন? যদি হ্যাঁ, তবে - দুর্ভাগ্যক্রমে - এটি কখনও কখনও পুনরায় বুট করার প্রয়োজন হয়, কারণ উদাহরণস্বরূপ কিছু এইচডিডি ব্যর্থতা (কিছু এইচডিডি নিয়ন্ত্রণকারীদের ক্ষেত্রে) সিস্টেমটিকে প্রতিক্রিয়াহীন করতে সক্ষম হয়। তবে আপনি সম্ভবত এই জাতীয় "পরিবর্তনগুলি" সম্পর্কে জিজ্ঞাসা করছেন না ...
জিরিন

3
@ কিউই প্রযুক্তিগতভাবে ksplice কার্নেল পরিবর্তন করে না । Ksplice একটি চলমান কার্নেল প্যাচ করার অনুমতি দেয়, এটি চলমান অবস্থায়। আপনি সম্ভবত কেক্সেকের কথা ভাবছেন যা একটি নতুন কার্নেল চিত্র মেমরির একটি চলমান কার্নেল "ওভার" লোড করতে দেয়।
টমাস নাইম্যান

এটি আমাকে স্মরণ করিয়ে দেয়, উইন্ডোজ এক্সপি (আমি কখনই এর বাইরে যাইনি) পুনরায় আরম্ভ করার বিষয়ে কখনও বিরতি দেয় না যদিও এটি আইই 8 আপডেট করেছে (বা যে কোনও সংখ্যা) যা 4 বছরের জন্য খোলা হয়নি, উইন্ডোজ ইনস্টল করার পরে এবং তাই একটি ডাউনলোড করার প্রয়োজনীয়তা রয়েছে ব্রাউজার।
শাহবাজ

উত্তর:


44

কয়েকটি বিষয় মাথায় আসে:

  • কার্নেল আতঙ্ক থেকে পুনরুদ্ধার করুন

    সংজ্ঞা অনুসারে একটি কার্নেল প্যানিক, কার্নেলটি পুনরায় আরম্ভ না করে পুনরুদ্ধার করা যাবে না।

  • হ্যাঙ্গগুলি থেকে পুনরুদ্ধার করুন যা আপনাকে টার্মিনাল অ্যাক্সেস ছাড়াই ছেড়ে দেয়

    যদি সিস্টেমটি প্রতিক্রিয়াহীন না হয় এবং পুনরুদ্ধার করার জন্য কমান্ড জারি করার উপায় ছাড়াই আপনি আটকে থাকেন তবে কেবলমাত্র আপনি যা করতে সক্ষম হবেন তা হ'ল পুনরায় বুট করা। সাধারণত, আপনি ম্যানুয়াল পাওয়ার সাইকেল চালনা এড়াতে চান। এই ধরণের পরিস্থিতিতে লিনাক্স কার্নেলের কাছে ম্যাজিক সিসআরকিউ সমর্থন রয়েছে যা জরুরী অবস্থায় মেশিনটিকে রিবুট করতে ব্যবহার করা যেতে পারে।

    যতদিন CONFIG_MAGIC_SYSRQবিকল্প কার্নেল কনফিগারেশন সক্রিয় করা হয়েছে, এবং kernel.sysrq sysctlবিকল্প সক্ষম হলে, আপনি জাদু মধ্যে SysRq কী সমন্বয় সঙ্গে কার্নেল সরাসরি কমান্ড ইস্যু করতে পারে:

    নোট করুন যে Alt+ SysRqনীচের অর্থ টিপুন এবং ধরে রাখা Alt , তারপরে টিপুন এবং ধরে রাখুন SysRq (সাধারণত PrintScrnকী)।

    1. Alt+ SysRq+ r: কীবোর্ডের নিয়ন্ত্রণ পুনরুদ্ধার করুন
    2. Alt+ SysRq+ e: কৃত্রিমভাবে শেষ করার সুযোগ দিয়ে SIGTERMসমস্ত প্রসেসে প্রেরণ initকরুন
    3. Alt+ SysRq+ i: শেষ করতে বাধ্য করে SIGKILLব্যতীত সমস্ত প্রক্রিয়াতে প্রেরণ initকরুন
    4. Alt+ SysRq+ s: সমস্ত মাউন্ট করা ফাইল সিস্টেম সিঙ্ক করার চেষ্টা করুন
    5. Alt+ SysRq+ u: সমস্ত ফাইল-সিস্টেম কেবল পঠনযোগ্য পুনরায় গণনা করে
    6. Alt+ SysRq+ b: রিবুট, বা

      Alt+ SysRq+ o: শাটডাউন

    কৌতূহলী পুনরায় বুট করার চেষ্টা করার জন্য যাদু SysRq কী সংমিশ্রণের জন্য একটি স্মৃতিচারণা হ'ল:

    " আর eboot Ven আমি এস ystem ইউ tterly বি roke "

    হেডলেস সার্ভারগুলির জন্য, এমন কোনও আইপটেবল লক্ষ্য রয়েছে যা কোনও নেটওয়ার্কের মাধ্যমে দূরবর্তী সিসআরকিউ সিকোয়েন্স সক্ষম করে।

  • অপসারণযোগ্য অবস্থা থেকে পুনরুদ্ধার করুন

    যদি সিস্টেমটি ইতিমধ্যে এমন অবস্থায় আনা হয় যেখানে নিয়মিত বুট সম্ভব না হয় (যেমন ব্যর্থ সিস্টেম আপগ্রেডের ফলে, দুর্নীতিগ্রস্থ ফাইল সিস্টেম ইত্যাদি), তবে সিস্টেমে পুনরুদ্ধারের কনসোলটি অ্যাক্সেস করার একমাত্র উপায় পুনরায় বুট করা হতে পারে উপযুক্ত বুট-সময় বিকল্পগুলি ব্যবহার করে।

  • বুট-টাইম কার্নেল প্যারামিটারগুলি পরিবর্তন করুন

    কিছু কার্নেল প্যারামিটার (যেমন auditকর্নেল নিরীক্ষণ সক্ষম / অক্ষম করার জন্য) কেবল তখনই সেট করা যেতে পারে যখন বুট-সময়ে কার্নেলটি লোড করা হয়।


3
"সিস্টেম সম্পূর্ণরূপে ভেঙে গেলেও রিবুট করুন" আমি ঠিক এই ক্ষেত্রে এই প্রশ্নের পক্ষে আছি, তবে আমি মনে করি না যে আমি কখনই তা ভুলে যাব।
embedded.kyle

1
এটি সম্ভবত লক্ষণীয় যে আপনি কোনও কেক্সেক ব্যবহার করে আতঙ্ক থেকে বেরিয়ে আসতে এবং একটি সম্পূর্ণ পুনরায় বুট এড়াতে পারেন। এটি বুট করা যায় না এমন অবস্থা থেকে বেরিয়ে আসার ক্ষেত্রেও সমানভাবে প্রযোজ্য। (কমপক্ষে কোনও x86 সিস্টেমে এগুলি কোনও উপায়ে একই জিনিস নয়)। তবে এই উত্তরের বাকীটির জন্য +1 করুন।
মান

@ ভারালি আপনার মন্তব্যের জন্য ধন্যবাদ। যদি কেক্সেক একটি পুনরায় বুট প্রবেশ করে তবে সম্ভবত দৃষ্টিভঙ্গির উপর একটি নির্দিষ্ট পরিমাণে। Kdump ব্যবহার ডকুমেন্টেশন উদাহরণস্বরূপ জন্য পুনরায় চালু করা যা সিস্টেমের কার্নেল স্মৃতিতে ইমেজ অপরিবর্তিত যেমন 'র পরিবর্তে kexec-অন-আতঙ্ক বর্ণনা করা হয়েছে। অপসারণযোগ্য স্থিতি সম্পর্কে, আমি বুটলোডার ভুল কনফিগারেশন (যেমন প্রথম স্থানে কার্নেল লোড করতে ব্যর্থতা) এর মতো জিনিসগুলিও বিবেচনা করেছি, যেখানে কেক্সেক সহায়তা দেয় না। প্রশ্নের প্রকৃতি দেওয়া, আমি মনে করি শব্দার্থবিজ্ঞানের বিষয়ে কিছু মতামত অপরিহার্য oid
টমাস নাইম্যান

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

প্রিন্ট স্ক্রিনের নীচে লেখা ছোট্ট সিসআরকি আমি কখনই লক্ষ্য করিনি! এটা সত্যিই দারুন. আমি যখন কার্নেল মডিউল প্রোগ্রামিং শিখছিলাম তখন আমি এটি জানতাম!
শাহবাজ

2

আমি যেখানে দুবার রিবুট করতে চাই তা ভাবতে পারি:

  1. সিস্টেমটি যথাযথ অবস্থায় চালু হতে পারে তা যখন আমার নিশ্চিত করা দরকার।

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

    বিদ্যুতের ব্যর্থতার পরে আপনার সিস্টেমটি সঠিকভাবে পুনরায় চালু হবে তা নিশ্চিতভাবে জানতে রিবুটই একমাত্র উপায়।

  2. সিস্টেম লাইব্রেরি আপডেট করা হয়েছে যখন।

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

    সমস্ত চলমান প্রক্রিয়াগুলি এখনও পুরানো, বগি লাইব্রেরি ব্যবহার করছে না তা নিশ্চিত হওয়ার সবচেয়ে ভাল উপায় রিবুট করা।


আপনি যদি একটি ভাল প্যাকেজ ম্যানেজার ব্যবহার করেন তবে নির্দিষ্ট গ্রন্থাগারের উপর নির্ভর করে সমস্ত বাইনারি সন্ধানের আরও ভাল উপায় রয়েছে। জেন্টু থেকে পুনর্নির্মাণের বিষয়টি মনে আসে।
স্পাইডি

1
@ স্পিডি: একবার আপনি এই বাইনারিগুলি পুনর্নির্মাণ করার পরে আপনি কীভাবে নিশ্চিত করবেন যে বগি লাইব্রেরিতে কোনও পুরানো প্রক্রিয়া চলছে না?
গাবে

1
আপনি কীভাবে জানবেন যে কোন ডেমনগুলিতে আপত্তিজনক লাইব্রেরি লোড হয়েছে?
গাবে

1
@ গ্যাবে আপনি উদাহরণস্বরূপ গ্রন্থাগারগুলি lsofআপগ্রেড করার আগে কোন প্রক্রিয়াগুলি গ্রন্থাগারগুলিকে তাদের মেমরি স্পেসে ম্যাপ করেছে তা পরীক্ষা করতে পারেন ।
টমাস নাইম্যান

1
@Gabe নিশ্চিত, এবং যখন সে ব্যাপারে আমি সম্মত যে পুনরায় বুট করার একটি পুরোপুরি ভালো কারণ, অপ স্পষ্টভাবে হয় না জিজ্ঞাসা যা ক্ষেত্রেই জন্য পুনরায় চালু করা আরো conventient, কিন্তু একটি পুনরায় বুট যখন অত্যাবশ্যক
থমাস নাইম্যান

0

আপনি যদি সফ্টওয়্যার কনফিগারেশনের পরিকল্পনাগুলি পরিবর্তিত পরিবর্তন বোঝাচ্ছেন এবং সঠিকভাবে কাজ করা হার্ডওয়্যার ধরে নিয়েছেন (আমি এখনও এমনটি দেখিনি) এবং বাগ-মুক্ত সফটওয়্যার (আপনি জানেন ...), তবে কার্নেলের মধ্যে কেবল একটি বাগ বা ড্রাইভার আপনাকে বাধ্য করবে পুনরায় বুট করার। :)

এর বাইরে ... আমি নিশ্চিত নই যে initএকক ব্যবহারকারীর মোডে স্যুইচ না করে এবং এমন কিছু যাদু না করা বদলে নেওয়া সম্ভব হবে যা মূলত রিবুটের চেয়ে আলাদা নয়।

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