কীভাবে কার্নেল আপডেট এড়ানো যায়?


25

ভার্টুলবক্সে আমি উবুন্টু 12.04.1 এলটিএস আই 686 চালাচ্ছি। প্রতিবার আমি আপডেটগুলি যাচাই করি, সেখানে একটি নতুন লিনাক্স কার্নেল রয়েছে। আমি যদি নতুন কার্নেলটি ইনস্টল করি তবে আমাকে ভার্টুলবক্স অতিথি সংযোজনগুলি আবার ইনস্টল করতে হবে এবং সার্ভারটি পুনরায় বুট করতে হবে। আমি প্রতি সপ্তাহে এটি করতে চাই না। আমি জানি আমি আপডেট ম্যানেজার থেকে কার্নেল প্যাকেজগুলি ম্যানুয়ালি চেক করতে পারি, তবে কার্নেল আপডেট স্বয়ংক্রিয়ভাবে এড়িয়ে যাওয়ার কোনও উপায় আছে কি? আমি এখানে একটি উত্তর পেয়েছি, তবে এটি উবুন্টু 10 এর জন্য Thanksধন্যবাদ।

উত্তর:


18

এপিটি (অ্যাডভান্সড প্যাকেজিং টুল) হ'ল উবুন্টু একটি সিস্টেমে ইনস্টল করা সমস্ত সফ্টওয়্যার পরিচালনা করতে ব্যবহার করে। এটি আপনাকে একটি নির্দিষ্ট সংস্করণে একটি প্যাকেজ "পিন" করার অনুমতি দেয়, যাতে আপনি আপডেট ম্যানেজারটি চালানোর সময় এটি আপডেট হবে না।

আপনার কার্নেল প্যাকেজগুলি পিন করতে, প্রথমে আপনাকে নির্ধারণ করতে হবে যে আপনার কার্নেলটি কোন সংস্করণ। এটি করার একটি উপায় হ'ল সিস্টেম> প্রশাসনে সিনাপটিক প্যাকেজ ম্যানেজারটি খুলুন।

এখানে চিত্র বর্ণনা লিখুন

দ্রুত অনুসন্ধানের পাঠ্য ক্ষেত্রে "লিনাক্স-জেনেরিক" টাইপ করুন এবং এন্টার টিপুন।

এখানে চিত্র বর্ণনা লিখুন

"ইনস্টল করা সংস্করণ" কলামে তালিকাভুক্ত নম্বরটির একটি নোট তৈরি করুন। আমরা এটি পরবর্তী পদক্ষেপে ব্যবহার করব।

এর পরে, আমাদের / etc / apt / পছন্দগুলি ফাইল সম্পাদনা করতে হবে। রান অ্যাপ্লিকেশন উইন্ডোটি সামনে আনতে Alt + F2 চেপে এটিকে খুলুন:

gksudo gedit /etc/apt/preferences

এখানে চিত্র বর্ণনা লিখুন

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

উইন্ডোতে, সাইনাপটিক প্যাকেজ ম্যানেজারে আপনি খুঁজে পাওয়া ভার্সন নম্বরটি সহ ভার্সন নম্বরটি প্রতিস্থাপন করুন, নিম্নলিখিতটিতে টাইপ করুন।

Package: linux-generic linux-headers-generic linux-image-generic linux-restricted-modules-generic
Pin: version <insert version here>
Pin-Priority: 1001

এখানে চিত্র বর্ণনা লিখুন

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

এখানে চিত্র বর্ণনা লিখুন

সূত্র

এপিটি / ডিপিকেজি দিয়ে প্যাকেজগুলি ব্লক করা হচ্ছে

উপরে থেকে আপনার কার্নেলের প্যাকেজের নাম মনে রাখবেন।

একটি টার্মিনাল খুলুন এবং রান করুন:

sudo -s

এবং আঘাত enter

Sudo জন্য আপনার পাসওয়ার্ড লিখুন:

echo kernel_package_name hold | dpkg --set-selections

kernel_package_nameআপনি যে কার্নেলটি পিন করতে চান তার নামটি প্রতিস্থাপন করুন ।

এখন চালান:

sudo apt-get update && sudo apt-get upgrade

অ্যাপটি / ডিপিকিজি থেকে পিনটি সরাতে:

একটি টার্মিনাল খুলুন

sudo -s
echo kernel_package install | dpkg --set-selections

আপনি পিন করতে চান এমন প্যাকেজটির সাথে কার্নেল_প্যাকেজকে প্রতিস্থাপন করুন।

এখন চালান:

sudo apt-get update &&  sudo apt-get upgrade

সূত্র

আপনি যা করার চেষ্টা করছেন তাকে পিনিং বলা হয়। আমি আপনাকে যে উত্সগুলি উপরে বলেছি, আপনার নিজের কাজগুলি সম্পাদন করতে আপনাকে কী করতে হবে সে সম্পর্কে প্রয়োজনীয় জিনিসগুলি রয়েছে।


1
আপনার উত্তর দেওয়ার জন্য ধন্যবাদ. দেখে মনে হচ্ছে আমরা বিভিন্ন সংস্করণ ব্যবহার করছি। আমার উবুন্টু 12.04-এ আমার কাছে সিন্যাপটিক প্যাকেজ ম্যানেজার এবং / ইত্যাদি / অ্যাপটি / পছন্দগুলি নেই।
গারকনকন

2
হ্যাঁ, সিনাপটিক আর ডিফল্টরূপে ইনস্টল করা নেই।
পর

1
@garconcn, আপনি সিনাপটিকটি ইনস্টল করতে পারেন এবং আমি আপনাকে যে ফিক্সটি বলেছিলাম তা ইনস্টল করতে পারেন, বা আবার প্রশ্নটি পড়তে পারেন, কারণ আমি এতে আরও তথ্য
রেখেছি

2
@ লএনএক্সস্ল্যাক, আমি সিনাপটিক ইনস্টল করেছি এবং আপনার নির্দেশ অনুসরণ করেছি। এটা কাজ করে। ধন্যবাদ।
গারকনকন

16

এক লাইনে এটি হ'ল:

echo $(dpkg -l "*$(uname -r)*" | grep image | awk '{print $2}') hold | dpkg --set-selections

এটি কার্নেলের চিত্র স্থিতিকে ইনস্টল থেকে ধরে রাখতে সক্ষম করবে এবং এভাবে আপডেটগুলি প্রতিরোধ করবে।


8

ক্রিস্টোফের ওয়ান-লাইনার অতিরিক্ত প্যাকেজটিকে অ্যাকাউন্টে নেয় না (যেমন লিনাক্স-চিত্র-অতিরিক্ত-3.13.0-45-জেনেরিক)। বরং এটি ব্যবহার করুন:

আমার জন্য $ (dpkg -l "* $ (uname -r) *" | গ্রেপ চিত্র | awk '{মুদ্রণ $ 2}'); প্রতিধ্বনি করুন $ আমি ধরেছি | dpkg --set-Seferences; সম্পন্ন

4

সম্পর্কে সুপারলেক্সেক্সের পরামর্শ: এই লাইনটি "শিরোনাম" প্যাকেজটি মিস করবে:

dpkg -l "*$(uname -r)*" | grep image | awk '{print $2}'
linux-image-3.13.0-48-generic
linux-image-extra-3.13.0-48-generic

তাহলে কীভাবে কেবল নিম্নলিখিত ব্যবহারগুলি সম্পর্কে:

dpkg -l "*$(uname -r)*" | grep kernel | awk '{print $2}'
linux-headers-3.13.0-48-generic
linux-image-3.13.0-48-generic
linux-image-extra-3.13.0-48-generic

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

2
আপনি ছেলেরা একে অপরকে ৩ জন আনসারকে স্ট্যাক না করে একক ওয়ান-লাইনারে সহযোগিতা করতে পারেন। = পি জাস্ট
সায়িন

1
যদি আপনি ইতিমধ্যে অবাস্তব ব্যবহার করে থাকেন তবে গ্রাফিকের কথা বলা অনিবার্য:dpkg -l "*$(uname -r)*" | awk '/kernel/{print $2}'
জাভিয়ের লোপেজ

1

এটি মেটা কার্নেল প্যাকেজগুলি মুছে দেয় যা কার্নেল আপডেটগুলি সক্ষম করে:

sudo apt purge $(apt-cache rdepends -i --installed linux-{headers,image}-$(uname -r)|awk '!/[0-9]/ && /^[ ]/{print $1}')

(যদি আপনি সবেমাত্র কার্নেল আপগ্রেড করেছেন তবে আপনাকে প্রথমে নতুন কার্নেলটি দিয়ে পুনরায় বুট করতে হবে, অথবা সর্বশেষতম কার্নেল রিলিজটি সন্ধান করতে হবে এবং "$ (uname -r)" এর পরিবর্তে উপরে ব্যবহার করতে হবে।)

কার্নেল আপডেটগুলি ইনস্টল করার পরামর্শ দেওয়া হয় যদিও এটি বেশিরভাগ সুরক্ষা আপডেট।


0

উবুন্টু 16.04.1 এ, নিম্নলিখিত কোডগুলি কাজ করে

for i in $(dpkg -l "*$(uname -r)*" | grep image | awk '{print $2}'); do echo $i hold | sudo dpkg --set-selections; done

এটি সুপারলেক্সের কোডের একটি উন্নতি, sudoযুক্ত করা হয়

dpkg -l | grep linux-image

তুমি খুঁজে পাবে:

হাই লিনাক্স-চিত্র -4.4.0-34-জেনেরিক ...

হাই লিনাক্স-চিত্র-অতিরিক্ত-4.4.0-34-জেনেরিক ...

নোট করুন যে ট্যাগটি এখন পড়ে hi, না পড়েii

পিন অপসারণ করতে

for i in $(dpkg -l "*$(uname -r)*" | grep image | awk '{print $2}'); do echo $i install | sudo dpkg --set-selections; done

উত্তম উত্তর কিন্তু আপনি sudo
মন্তব্যটিতে মন্তব্যটি লিখেছেন

0

সংক্ষিপ্ত সংস্করণ: (পিন সরানোর জন্য "ইনস্টল করুন" দিয়ে "হোল্ডকে" প্রতিস্থাপন করুন)

 dpkg -l "*$(uname -r)*" | grep kernel | awk '{print $2,"hold"}' | sudo dpkg --set-selections

সমস্ত কার্নেল চিত্র এবং শিরোনামের অবস্থা দেখতে, চালনা করুন:

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