पुराने कर्नेल को शुद्ध करना पुरानी initrd फ़ाइलों को हटाने में विफल रहता है


14

समझा नहीं जा सकता क्यों ... मुझे लगता है कि यह केवल मैन्युअल रूप से उन्हें हटाने के लिए सुरक्षित नहीं है, इसलिए कुछ मार्गदर्शन की सराहना की जाएगी। यहाँ मेरी / बूट निर्देशिका का एक ls है (जाहिर है, मैं 3.13.0-51 कर्नेल चला रहा हूँ):

-rw-r--r-- 1 root root  1164671 Apr 15 09:03 abi-3.13.0-51-generic
-rw-r--r-- 1 root root   165762 Apr 15 09:03 config-3.13.0-51-generic
drwxr-xr-x 5 root root     1024 Apr 30 14:33 grub
-rw-r--r-- 1 root root 22431280 Nov 26 14:16 initrd.img-3.13.0-36-generic.old-dkms
-rw-r--r-- 1 root root 22427261 Nov 26 14:16 initrd.img-3.13.0-37-generic.old-dkms
-rw-r--r-- 1 root root  9098067 Nov 26 18:00 initrd.img-3.13.0-39-generic.old-dkms
-rw-r--r-- 1 root root  9109727 Feb  5 15:22 initrd.img-3.13.0-40-generic.old-dkms
-rw-r--r-- 1 root root  9110419 Jan 18 02:29 initrd.img-3.13.0-43-generic.old-dkms
-rw-r--r-- 1 root root  9109659 Apr  5 23:11 initrd.img-3.13.0-44-generic.old-dkms
-rw-r--r-- 1 root root  9109097 Apr  5 23:01 initrd.img-3.13.0-46-generic.old-dkms
-rw-r--r-- 1 root root  5814104 Apr 30 14:13 initrd.img-3.13.0-48-generic
-rw-r--r-- 1 root root 22483793 Apr 30 13:52 initrd.img-3.13.0-48-generic.old-dkms
-rw-r--r-- 1 root root  9124331 Apr 30 14:28 initrd.img-3.13.0-49-generic.old-dkms
-rw-r--r-- 1 root root 22496134 Apr 30 13:59 initrd.img-3.13.0-51-generic
-rw-r--r-- 1 root root  4112384 Apr 30 12:16 initrd.img-3.13.0-51-generic.old-dkms
drwx------ 2 root root    12288 Aug  4  2014 lost+found
-rw-r--r-- 1 root root   176500 Mar 12  2014 memtest86+.bin
-rw-r--r-- 1 root root   178176 Mar 12  2014 memtest86+.elf
-rw-r--r-- 1 root root   178680 Mar 12  2014 memtest86+_multiboot.bin
-rw------- 1 root root  3389875 Apr 15 09:03 System.map-3.13.0-51-generic
-rw------- 1 root root  5818368 Apr 15 09:03 vmlinuz-3.13.0-51-generic

लानत - प्रारूपण के लिए खेद है ...
क्रिस्टोफर स्कॉट

आप हमेशा अपनी पोस्ट को संपादित कर सकते हैं और टेक्स्ट को हाइलाइट करके और टेक्स्ट-बॉक्स के ऊपर के आइकन पर क्लिक करके फॉर्मेट कर सकते हैं। या किसी और के लिए यह आपके लिए करने की प्रतीक्षा करें।
user68186

मेरे पास * .old-dkms फाइलें कभी नहीं थीं। आपने उन्हें पाने के लिए क्या किया?
जर्नो

@jarno वे मेनलाइन कर्नेल में शामिल नहीं किए गए मॉड्यूल के लिए डेल के डीकेएमएस (डायनामिक कर्नेल मैनेजमेंट सिस्टम) द्वारा निर्मित होते हैं । उदाहरण nvidiaऔर bbsswitchस्रोत के लिए जब संकलित किया जा सकता है /boot/initrd.imgतो एक बैकअप प्रतिलिपि बनाएँ जिसे पुनर्स्थापित किया जा सकता है यदि dkmsइसका उपयोग परिवर्तनों की स्थापना रद्द करने के लिए किया जाता है। मैं उन्हें अप्रचलित हटाने के लिए मेरी rm-kernelsबैश स्क्रिप्ट को अपडेट करने के लिए आज काम कर रहा हूं .old-dkms
विनयुनुच्स

@ बर्नो मेरे जवाब के अनुसार बैश स्क्रिप्ट को संशोधित करने की अब आवश्यकता नहीं है। लोगों को हटाने के लिए केवल एक बार मैनुअल प्रक्रिया की आवश्यकता होती है जो /boot/*.old-dkmsहटाए गए गुठली के हैं।
विनयुनुच्स

जवाबों:


10

उन्हें मैन्युअल रूप से निकालना सुरक्षित है। ऐसा भी लगता है कि बग रिपोर्ट दर्ज की गई है: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=717584

मैं 3.13.0-54 कर्नेल और 3.13.0-55 कर्नेल के साथ यहां होने वाली रिपोर्ट कर सकता हूं।

-rw-r--r-- 1 root root 1.2M Jun 17 20:03 abi-3.13.0-55-generic
-rw-r--r-- 1 root root 1.2M Jun 19 05:04 abi-3.13.0-57-generic
-rw-r--r-- 1 root root 162K Jun 17 20:03 config-3.13.0-55-generic
-rw-r--r-- 1 root root 162K Jun 19 05:04 config-3.13.0-57-generic
drwxr-xr-x 5 root root  12K Jul 11 15:54 grub
-rw-r--r-- 1 root root  11M Jul  7 21:37 initrd.img-3.13.0-54-generic.old-dkms
-rw-r--r-- 1 root root  27M Jul  4 13:37 initrd.img-3.13.0-55-generic
-rw-r--r-- 1 root root  27M Jul  4 13:37 initrd.img-3.13.0-55-generic.old-dkms
-rw-r--r-- 1 root root  27M Jul  6 18:28 initrd.img-3.13.0-57-generic
-rw-r--r-- 1 root root 173K Mar 12  2014 memtest86+.bin
-rw-r--r-- 1 root root 174K Mar 12  2014 memtest86+.elf
-rw-r--r-- 1 root root 175K Mar 12  2014 memtest86+_multiboot.bin
-rw------- 1 root root 3.3M Jun 17 20:03 System.map-3.13.0-55-generic
-rw------- 1 root root 3.3M Jun 19 05:04 System.map-3.13.0-57-generic
-rw------- 1 root root 5.6M Jun 17 20:03 vmlinuz-3.13.0-55-generic
-rw------- 1 root root 5.6M Jun 19 05:04 vmlinuz-3.13.0-57-generic

बग लिंक के लिए धन्यवाद। इसकी समीक्षा करने पर मुझे पता चला कि अप्रैल 2017 में एक फिक्स अपस्ट्रीम बनाया गया था। इसने मुझे बैश स्क्रिप्ट को संशोधित करने से बचाया जैसा कि मैंने नीचे उत्तर दिया है।
WinEunuuchs2Unix

हाँ! मैं वास्तव में आज सुबह ही नोटिस कर चुका हूं कि उन पुरानी-डीएमएमएस फाइलों को अब सफलतापूर्वक हटा दिया गया है। वहां अच्छा संयोग रहा।
निकोमाचस

@ WinEunuuchs2Unix ओह, ऐसा लगता है कि मेरे फिक्स ने इसे कुछ उबंटू रिलीज के लिए बनाया है। संबंधित लॉन्चपैड बग रिपोर्ट यहाँ है । आप किस dkms का उपयोग कर रहे हैं?
जारो

@jarno वर्तमान में मैं चल रहा हूं, 2.2.0.3लेकिन मुझे पता नहीं है कि जब अप्रचलित initrd.img*.old-dkmsफ़ाइलों को पीछे छोड़ दिया गया था तो कौन सा संस्करण चल रहा था ।
WinEunuuchs2Unix

@ WinEunuuchs2Unix dkms 2.2.0.3-1.1ubuntu5.14.04.9 (उबंटू 14.04 में) तय नहीं है लगता है। यहां तक ​​कि 16.10 संस्करण 2.2.0.3 का उपयोग करता है। इसलिए मुझे नहीं पता कि आपके सिस्टम में .old-dkms फ़ाइलों को क्या हटाया गया।
जारो

3

आप rm /boot/*.old-dkmsरूट विशेषाधिकारों के साथ कमांड चला सकते हैं । हालाँकि, सुनिश्चित करें कि हटाए गए * .old-dkms फ़ाइलों को पुराने गुठली की ज़रूरत नहीं है जो आपने स्थापित की हो। आप अपने वर्तमान में स्थापित गुठली की एक सूची को निष्पादित करके देख सकते हैं dpkg-query -l "linux-image-[0-9]*" | grep -e "^ii"


0

यदि कर्नेल को हटा दिया गया है, तो मैं इन पुराने बैकअप को हटाने के लिए अपनी rm-kernelsबैश स्क्रिप्ट को संशोधित करने की योजना बना रहा था sudo apt purge *<kernel_version>*। हालांकि बग रिपोर्ट पर शोध करते हुए मैंने पाया कि यह अप्रैल 2017 में अपस्ट्रीम था ।

यदि आप GUI ऐप्स को रूट के रूप में चलाने में कोई आपत्ति नहीं करते हैं, तो आप pkexec nautilusहटाने के लिए अप्रचलित बैकअप खोजने के लिए भी उपयोग कर सकते हैं :

बूट-initrd.img.old-dkms

मेरे सिस्टम पर Nautilus कर्नेल संस्करणों को प्रकट करता है 4.4.8, 4.9.21और 4.10.10स्थापित होता है और .old-dkmsबैकअप का उपयोग कर सकता है । हाइलाइट की गई प्रतियां अप्रचलित बैकअप हैं जिन्हें मैंने हटा दिया है।

नोट: pkexec नीति किट सेटअप की आवश्यकता है। इसे बदलने के लिए डिज़ाइन किया गया है gksuऔर gksudoजिसे आप ऐतिहासिक पोस्टों में कई बार संदर्भित देखेंगे।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.