स्वचालित रूप से हटाए जाने से पहले 4 लिनक्स कर्नेल को डिफ़ॉल्ट रूप से / बूट में कैसे रखें


12

मैंने आसपास कुछ खुदाई की और पाया कि गुठली के लिए स्वत: सफाई होती है /etc/kernel/postinst.d/apt-auto-removalऔर फाइल में लिखा होता है:

# In the common case this results in two kernels saved (booted into the
# second-latest kernel, we install the latest kernel in an upgrade), but
# can save up to four. Kernel refers here to a distinct release, which can
# potentially be installed in multiple flavours counting as one kernel.

लेकिन वह पटकथा मेरे सिर के ऊपर है और मैं आसानी से यह नहीं जान सकता कि कैसे आटोक्लेन कुछ भी है लेकिन अंतिम 4 कर्नेल।


आपको कई स्थानों पर स्क्रिप्ट को संशोधित करना होगा, कोई अन्य तरीका नहीं है। यदि आप चाहें, तो आप aptगुठली की संख्या को अनुकूलित करने की अनुमति देने के लिए पैकेज पर "विशलिस्ट" बग रिपोर्ट दर्ज कर सकते हैं ।
fkraiem

2
आपके द्वारा उद्धृत भाग में "चार" उस असामान्य स्थिति को संदर्भित करता है जहां "वर्तमान में बूट किया गया संस्करण", "जिस कर्नेल संस्करण को हम", "नवीनतम कर्नेल संस्करण", और "दूसरा-नवीनतम कर्नेल संस्करण" कहते हैं सभी अलग हैं, क्योंकि उन सभी संस्करणों को रखा गया है। सामान्य मामलों में, हालांकि, यह दो तक उबलता है क्योंकि "वर्तमान में बूट किया गया संस्करण" और "दूसरा-नवीनतम कर्नेल संस्करण" समान हैं, और इसी तरह दो अन्य के लिए।
fkraiem

जवाबों:


12

इसका क्या मतलब है जब यह "चार तक" कहता है कि वर्तमान में चल रहा है, वर्तमान स्थापित, नवीनतम और पिछले संस्करण सभी अलग-अलग हो सकते हैं, जिसके परिणामस्वरूप चार संस्करण स्वचालित रूप से रखे जा रहे हैं (न्यूनतम दो के साथ)। कोड का यह हिस्सा देखें:

debkernels="$(echo "$latest_version
$installed_version
$running_version
$previous_version" | sort -u | sed -e '/^$/ d')"

मुझे लगता है कि पुरानी गुठली को बचाने के लिए इसे प्राप्त करने का सबसे सरल तरीका $previous_versionएक सूची का विस्तार करना होगा । के बजाय:

previous_version="$(echo "$debverlist" | sed -n 2p)"

कर:

previous_version="$(echo "$debverlist" | sed -n 2,4p)"

हां, ऐसा लग रहा है कि यह काम करना चाहिए। एक को ध्यान देना चाहिए कि चूंकि फ़ाइल aptपैकेज का हिस्सा है , इसलिए इसे aptअपग्रेड किए जाने पर डिफ़ॉल्ट पर वापस किया जा सकता है।
fkraiem

@fkraiem फ़ाइल में है /etc, इसलिए यह संभवतः एक शंकुधारी है और परिवर्तन संरक्षित होना चाहिए (या, कम से कम, उपयोगकर्ता से उनके बारे में पूछा जाएगा)
muru

1
हां, सभी फाइलें /etcशंकुधारी हैं, लेकिन ऐसा लगता है कि उपयोगकर्ता "रखने या बदलने" पर अक्सर भ्रमित हो जाते हैं? सवाल पॉप अप ...
fkraiem

1
मैं भ्रमित नहीं होऊंगा ... @fkraiem
Fabby

उपयुक्त अभी भी शिकायत करता है: The following packages were automatically installed and are no longer required: linux-headers-4.10.0-38 linux-headers-4.10.0-38-generic linux-image-4.10.0-38-generic linux-image-extra-4.10.0-38-generic linux-signed-image-4.10.0-38-generic Use 'sudo apt autoremove' to remove them. लेकिन यह एक निष्पादन योग्य है और मैं इसके बारे में चिंता करना बंद कर दूंगा और उत्तर को फिट करने के लिए प्रश्न को अनुकूलित किया है। :-)
Fabby
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.