RedHat और डेबियन-आधारित वितरण दोनों ही कर्नेल के कई संस्करणों को रखते हैं जब आप एक नया प्रयोग करते हैं yumया apt-getडिफ़ॉल्ट रूप से। यह एक अच्छा अभ्यास माना जाता है और वास्तव में आपके द्वारा वर्णित केस के लिए किया जाता है: यदि कुछ नवीनतम कर्नेल के साथ कुछ गलत हो जाता है, तो आप हमेशा रिबूट कर सकते हैं और पिछले कर्नेल में से एक का उपयोग करके बूट करने के लिए चुनते हैं।
RedHat डिस्ट्रोस में आप सेटिंग के /etc/yum.confसाथ रखने के लिए गुठली की संख्या को नियंत्रित करते installonly_limitहैं। मेरे नए CentOS 7 पर इसे डिफॉल्ट में 5 पर स्थापित करें।
इसके अलावा अगर RedHat पर आप RPM पैकेज से नए कर्नेल स्थापित कर रहे हैं rpm -ivh, rpm -Uvhजिसका आपको उपयोग करना चाहिए , न कि : पूर्व में पुराने कर्नेल को रखा जाएगा, जबकि बाद में इसे बदल देगा।
डेबियन पुरानी गुठली रखती है लेकिन स्वचालित रूप से उन्हें नहीं हटाती है। यदि आपको अपने बूट विभाजन को मुक्त करने की आवश्यकता है, तो आपको पुराने कर्नेल को मैन्युअल रूप से निकालना होगा (पिछले कर्नेल में से कम से कम एक को छोड़ने के लिए याद रखें)। सभी कर्नेल-इंस्टॉलेशन और कर्नेल-हेडर पैकेजों की सूची का उपयोग करने के लिए dpkg -l | egrep "linux-(im|he)"।
अपने प्रश्न का उत्तर देना - इसके अलावा, क्या एक ही कर्नेल का 2 संस्करण होना संभव है? -- हाँ यह संभव है। मैं इसे अभी CentOS 6.5 पर नहीं देख सकता, लेकिन CentOS 7 पर मैं /bootडायरेक्टरी के कर्नेल से संबंधित फाइलों को डुप्लिकेट करके और ग्रब मेनू के पुनर्निर्माण द्वारा वांछित परिणाम प्राप्त करने में सक्षम था :
cd /boot
# Duplicate kernel files;
# "3.10.0-123.el7" is a substring in the name of the current kernel
ls -1 | grep "3.10.0-123.el7" | { while read i; \
do cp $i $(echo $i | sed 's/el7/el7.backup/'); done; }
# Backup the grub configuration, just in case
cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg.backup
# Rebuild grub configuration
grub2-mkconfig -o /boot/grub2/grub.cfg
# At this point you can reboot and see that a new kernel is available
# for you to choose in GRUB menu