রিবুট ছাড়াই কার্নেলের বিভিন্ন সংস্করণের মধ্যে স্যুইচ করুন


11

আমি আমার সিস্টেমে পুনরায় বুট না করে ইনস্টল করা কার্নেলের বিভিন্ন সংস্করণের মধ্যে স্যুইচ করতে চাই।

এর অর্থ এটি যদি আমার 3.0.0-16-genericবর্তমানে কার্নেলটি চলমান থাকে এবং 3.0.0-14-genericআমারও সেখানে পুরানো কার্নেল থাকে তবে আমি 3.0.0-14-genericপুনরায় বুট না করেই (অন্য কার্নেল) স্যুইচ করতে সক্ষম হব ।

(লাইভ কার্নেল ডিবাগিং করা এবং পরিবর্তনগুলি করা দরকার যাতে করে আমি পুনরায় বুট করতে পারি না)

উত্তর:


8

দুটি সম্পূর্ণ কার্নেল অদলবদল করার কোনও উপায় নেই। আমি নিশ্চিত যে আপনি লিনাক্সের মতো মনোলিথিক কার্নেলের তাত্পর্য বুঝতে পারবেন এবং এটি কেন সহজেই প্রতিস্থাপন করা অসম্ভব করে তোলে।

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

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


সবেমাত্র আপনার সম্পাদনা দেখেছি। Ksplice সম্ভবত সাহায্য করবে না যদি আপনি "পরিষেবা" হিসাবে ডিবাগিংয়ের জন্য ম্যানুয়ালি হ্যাক করে এবং আপনার নিজস্ব কার্নেলগুলি তৈরি করে থাকেন তবে তারা বিশেষ আপডেট সরবরাহ করে এবং এগুলি আপনি নিজে তৈরি করতে পারবেন না।

আপনি যদি কেবল কোনও অফিসিয়াল কার্নেলের বিরুদ্ধে জিনিস তৈরি করে থাকেন তবে এটি এখনও কার্যকর হতে পারে।


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


1
তবে আমি আমার / বুট ডিরেক্টরিতে দুটি পৃথক কার্নেলের মধ্যে স্যুইচ করতে চাই
কোডার

1
হ্যাঁ, আপনি নির্বিচারে দুটি কার্নেলের মধ্যে স্যুইচ করতে সক্ষম হবেন না। আমি অন্য একটি ধারণার সাথে অন্য একটি সম্পাদনা যুক্ত করেছি যা আপনার পক্ষে কার্যকর হতে পারে।
অলি

2

অলি যেমন উল্লেখ করেছেন, আপনার সেরা শট সম্ভবত ভার্চুয়ালাইজেশন।

এটি বলেছে, আপনি যদি হার্ডওয়্যারের সাথে ঝাঁকুনি দিচ্ছেন তবে ভার্চুয়ালাইজেশন এটি আপনার জন্য কাটতে পারে না, সেক্ষেত্রে আপনি kexecসম্পূর্ণ রিবুট ছাড়াই চলমান কার্নেলটি অদলবদল করতে পারেন ।

আর্কউইকি kexecপৃষ্ঠা থেকে নেওয়া :

kexec -l /boot/new-kernel --initrd=/boot/new-initrd --reuse-cmdline
kexec -e

মনে রাখবেন যে উপরোক্তগুলি আপনার ডিআইডি সিস্টেম, ডিসপ্লে সার্ভার, নেটওয়ার্কিং ইত্যাদিসহ সমস্ত পরিষেবা পুনরায় চালু করবে However তবে, আপনি যদি দ্রুত পর্যাপ্ত থিম সিস্টেম ব্যবহার করেন, যেমন systemd, আপনি আপনার নতুন কার্নেলটিতে 2-3 সেকেন্ডের মধ্যে বুট করতে পারেন, যেহেতু আপনি BIOS / UEFI এবং বুটলোডারকে বাইপাস করছেন।


অনুরূপ বর্ণনা র‍্যাপিডরবুট উবুন্টু উইকি পৃষ্ঠায় পাওয়া যাবে ।


0

আমি মনে করি এই উত্তরগুলি আপডেট করা দরকার।

নেই kpatch এখন চেয়েও বেশী নেটিভ, ksplice এট অল।

এটি স্পষ্ট কারণে, যদিও কার্নেল ডেটা স্ট্রাকচার পরিবর্তন করতে পারে না, তাই এটি সিকিউরিটি হটপ্যাচগুলির জন্য বেশিরভাগই কার্যকর।

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

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