CentOS में बूट पार्टीशन लगभग फुल है


23

मुझे अपने / बूट विभाजन की चेतावनी लगभग पूर्ण (85%) मिली है। मुझे क्या करना चाहिए? क्या मैं बैकअप कर्नेल में से एक को निकाल सकता हूं? इसे सुरक्षित रूप से कैसे करें?

अभी मेरा विभाजन हुआ

Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda2             10321208    719856   9077064   8% /
tmpfs                  4015460         0   4015460   0% /dev/shm
/dev/sda1               101133     80781     15130  85% /boot
/dev/sda8            253782660  47668764 193222404  20% /home
/dev/sda7              1032088    535840    443820  55% /tmp
/dev/sda3             10321208   4823740   4973180  50% /usr
/dev/sda5             10321208   1807284   7989636  19% /var

कर्नेल मेरे पास है

root@server1 [/boot]# rpm -q kernel
kernel-2.6.32-358.el6.x86_64
kernel-2.6.32-358.18.1.el6.x86_64
kernel-2.6.32-358.23.2.el6.x86_64

/ बूट निर्देशिका

root@server1 [/boot]# ls -la /boot
total 78741
dr-xr-xr-x.  5 root root     2048 Dec  3 05:33 ./
drwxr-xr-x. 23 root root     4096 Dec  4 05:46 ../
-rw-r--r--   1 root root   104112 Aug 28 12:43 config-2.6.32-358.18.1.el6.x86_64
-rw-r--r--   1 root root   104112 Oct 16 14:01 config-2.6.32-358.23.2.el6.x86_64
-rw-r--r--.  1 root root   104081 Feb 21  2013 config-2.6.32-358.el6.x86_64
drwxr-xr-x.  3 root root     1024 Sep 20 20:15 efi/
drwxr-xr-x.  2 root root     1024 Oct 21 15:06 grub/
-rw-r--r--   1 root root 16191847 Sep 20 20:21 initramfs-2.6.32-358.18.1.el6.x86_64.img
-rw-r--r--   1 root root 16261655 Oct 21 15:06 initramfs-2.6.32-358.23.2.el6.x86_64.img
-rw-r--r--.  1 root root 16187335 Sep 20 20:16 initramfs-2.6.32-358.el6.x86_64.img
-rw-------   1 root root  3698835 Sep 20 20:27 initrd-2.6.32-358.18.1.el6.x86_64kdump.img
-rw-------   1 root root  3983771 Dec  3 05:33 initrd-2.6.32-358.23.2.el6.x86_64kdump.img
-rw-------   1 root root  3695290 Sep 20 20:21 initrd-2.6.32-358.el6.x86_64kdump.img
drwx------.  2 root root    12288 Sep 20 20:13 lost+found/
-rw-r--r--   1 root root   185949 Aug 28 12:44 symvers-2.6.32-358.18.1.el6.x86_64.gz
-rw-r--r--   1 root root   185978 Oct 16 14:02 symvers-2.6.32-358.23.2.el6.x86_64.gz
-rw-r--r--.  1 root root   185734 Feb 21  2013 symvers-2.6.32-358.el6.x86_64.gz
-rw-r--r--   1 root root  2408641 Aug 28 12:43 System.map-2.6.32-358.18.1.el6.x86_64
-rw-r--r--   1 root root  2408974 Oct 16 14:01 System.map-2.6.32-358.23.2.el6.x86_64
-rw-r--r--.  1 root root  2407466 Feb 21  2013 System.map-2.6.32-358.el6.x86_64
-rwxr-xr-x   1 root root  4046224 Aug 28 12:43 vmlinuz-2.6.32-358.18.1.el6.x86_64*
-rw-r--r--   1 root root      171 Aug 28 12:43 .vmlinuz-2.6.32-358.18.1.el6.x86_64.hmac
-rwxr-xr-x   1 root root  4047152 Oct 16 14:01 vmlinuz-2.6.32-358.23.2.el6.x86_64*
-rw-r--r--   1 root root      171 Oct 16 14:01 .vmlinuz-2.6.32-358.23.2.el6.x86_64.hmac
-rwxr-xr-x.  1 root root  4043888 Feb 21  2013 vmlinuz-2.6.32-358.el6.x86_64*
-rw-r--r--.  1 root root      166 Feb 21  2013 .vmlinuz-2.6.32-358.el6.x86_64.hmac

कर्नेल मैं उपयोग कर रहा हूँ

root@server1 [/boot]# uname -a
Linux server1 2.6.32-358.23.2.el6.x86_64 #1 SMP Wed Oct 16 18:37:12 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

4
इसे डुप्लिकेट के रूप में क्यों चिह्नित किया गया था? अन्य प्रश्न के बारे में भी नहीं है yum। मुझे संदेह नहीं है कि यह एक डुप्लिकेट है, बस उस विशेष प्रश्न का नहीं।
21

जवाबों:


48

अपने सिस्टम पर सिर्फ अंतिम 2 गुठली रखने के लिए, / बूट को साफ रखने के लिए निम्नलिखित कार्य करें

1 - /etc/yum.confनिम्नलिखित पैरामीटर को संपादित और सेट करें

installonly_limit=2

इससे आपका पैकेज मैनेजर आपके सिस्टम पर सिर्फ 2 अंतिम गुठली रखेगा (जो चल रहा है सहित)

2 - स्थापित करें yum-utils:

yum install yum-utils

3- एक पुराना कर्नेल क्लीनअप करें:

package-cleanup --oldkernels --count=2

किया हुआ। यह एक अच्छे फैशन में पुरानी गुठली को मिटा देगा, और, अगले उन्नयन के लिए उनमें से अंतिम 2 को ही रखें।

विशेष मामलों के लिए जहां आपके पास vmlinuz-0-rescue-*और initramfs-0-rescue-*बहुत अधिक डिस्क स्थान का उपयोग करने वाली फाइलें हैं, कृपया U & L पर इस प्रश्न पर एक नज़र डालें:


धन्यवाद nwildner! क्या मैं इसे अभी कर सकता हूं? क्या मुझे ऐसा करने के बाद सिस्टम को रिबूट करने की आवश्यकता है? क्या मुझे अपने सभी डेटा का बैकअप लेने की आवश्यकता है?
परीक्षक

हाँ तुम कर सकते हो। एहतियात के लिए आपके / बूट का एक बैकअप, एक अच्छी बात हो सकती है। आपको रिबूट करने की आवश्यकता नहीं होगी, क्योंकि चरण 3 सबसे पुराना कर्नेल को मिटा देगा, जब तक कि आप इसे अभी नहीं चला रहे हैं। पहला चरण, इस विन्यास को स्थायी बना देगा;)

हालांकि यह हमेशा पर्याप्त नहीं है। मैंने इन चरणों का पालन किया और पाया कि मेरे पास पहले से ही केवल 2 गुठली थी - मेरे लिए समस्या एक 60MB "initramfs-0-बचाव" फ़ाइल थी जो 5 महीने पुरानी थी। हटा दिया गया कि और सब कुछ ठीक था।
Codemonkey

1
अरे @Codemonkey। मैंने बचाव फाइलों के बारे में विवरण के साथ अपना उत्तर अपडेट किया है ...

10

आप निम्न कार्य करके पुरानी गुठली को सुरक्षित रूप से हटा सकते हैं:

# Install the yum-utils if they aren't installed
yum install yum-utils
# Cleanup old kernels and don't keep more than 2
package-cleanup --oldkernels --count=2

और क्या आप चाहते हैं, आप निम्नलिखित में से हमेशा इसे सीमित कर सकते हैं /etc/yum.conf

installonly_limit=2

जोएल डेविस के जवाब को देखने के बाद, मैं भी उनसे सहमत होगा। यह देखने के लिए जांचें कि वास्तव में उस सभी स्थान का उपयोग क्या है।
१३:१३ को स्पार्टिकव्स

यदि आप उसकी ओर देखते हैं lsऔर फाइलों को जोड़ते हैं, तो यह लगभग 25MB प्रति कर्नेल होता है, अधिकतर इनट्रैमफोर्स में।
cjm

हाँ, मुझे लग रहा था कि यह initramfs फाइलें हो सकती हैं। ऊपर दिए गए सफाई को उन लोगों को भी हटा देना चाहिए।
स्पार्टिकव्स

@sparticvs, मैंने जाँच की -rw-r--r-- 1 root root 16191847 Sep 20 20:21 initramfs-2.6.32-358.18.1.el6.x86_64.img -rw-r--r-- 1 root root 16261655 Oct 21 15:06 initramfs-2.6.32-358.23.2.el6.x86_64.img -rw-r--r--. 1 root root 16187335 Sep 20 20:16 initramfs-2.6.32-358.el6.x86_64.imgकि बहुत सारे स्थान का उपयोग करें।
परीक्षक

@sparticvs, क्या मैं इसे अभी कर सकता हूं? क्या मुझे ऐसा करने के बाद सिस्टम को रिबूट करने की आवश्यकता है? क्या मुझे अपने सभी डेटा का बैकअप लेने की आवश्यकता है?
परीक्षक

2

कर्नेल चित्र वास्तव में बहुत छोटे हैं:

[root@ditirlns01 ~]# ls -lh /boot/vmlinuz-2.6.18-3*
-rw-r--r-- 1 root root 2.2M May  4  2012 /boot/vmlinuz-2.6.18-308.8.1.el5xen
-rw-r--r-- 1 root root 2.2M Jul 27 01:43 /boot/vmlinuz-2.6.18-348.16.1.el5xen
-rw-r--r-- 1 root root 2.2M Mar 22  2013 /boot/vmlinuz-2.6.18-348.4.1.el5xen

स्पष्ट रूप से कर्नेल पैकेज में अधिक है, लेकिन यह वह हिस्सा है /bootजिस पर आपकी चिंता है।

एक 100MB /bootविभाजन के साथ, एक 2-3MB कर्नेल को हटाने से आपको बहुत दूर नहीं जाना पड़ेगा।

100MB वास्तव में लोगों की जरूरत से ज्यादा रास्ता है। मैं पर्याप्त du -shइनवोकेशन करूंगा ताकि आप देख सकें कि वह सभी जगह क्या ले रहा है, क्योंकि आपको उस माउंट पॉइंट पर 100 एमबी का उपयोग करने के लिए भी पास नहीं होना चाहिए:

[root@ditirlns01 ~]# df -h /boot
Filesystem            Size  Used Avail Use% Mounted on
/dev/xvda1             99M   34M   60M  37% /boot

जो तीन गुठली के साथ स्थापित है:

[root@ditirlns01 ~]# rpm -qa kernel*
kernel-xen-2.6.18-348.16.1.el5
kernel-xen-2.6.18-348.4.1.el5
kernel-headers-2.6.18-348.16.1.el5
kernel-xen-2.6.18-308.8.1.el5
[root@ditirlns01 ~]#

मैं दांव लगाना चाहता हूं कि किसी ने /bootएक अस्थायी कदम के रूप में एक फ़ाइल डाल दी और बाद में इसे वापस बंद करना भूल गया।


3
लेकिन वहाँ initramfs फ़ाइलें हैं, जो कर्नेल फ़ाइलों की तुलना में बड़ी हैं। @ डॉन ls को देखते हुए, वे 14MB का उपयोग करते हैं।

आह हाँ, अब मैं देख रहा हूँ। ओह ठीक है, मैं अपना जवाब छोड़ दूंगा और बस अपने दोस्तों को
आगे बढ़ाऊंगा

0

मुझे क्या करना चाहिए?

यदि आप ऐसा करते हैं जो uname -aआपके वर्तमान में चल रहे संस्करण की रिपोर्ट करेगा ।

आपकी पोस्टिंग के अनुसार, मैं मानता हूं कि यह 2.6.32-358.23.2.el6.x86_64आपका वर्तमान चल रहा संस्करण है, इसलिए सभी पुराने को किसी अन्य विभाजन पर ले जाएं जहां बचाने के लिए पर्याप्त स्थान है, कुछ ऐसा करें:

mkdir /root/oldkernels
mv   /boot/initramfs-2.6.32-358.18.1.el6.x86_64.img    /root/oldkernels

वह /boot/efi/EFI/centos/grub.cfgफ़ाइल जिसे आप जांचना चाहते हैं और उसमें मेनू कोड पढ़ना काफी आसान होगा, शीर्ष एक डिफ़ॉल्ट होगा जिसे आप बूट करते समय देखते हैं और बचाव के लिए भी देखते हैं ; आप संभवतः कई लोगों को सूचीबद्ध करेंगे। यह यहां है कि आप यह भी सत्यापित कर सकते हैं कि आप वास्तव में कौन सा संस्करण चला रहे हैं।

मैं आम तौर पर केवल नवीनतम एक (सबसे ऊपर) और बचाव (सबसे नीचे) रखता हूं grub.cfg। वास्तविक grub.cfg(आपके मामले में क्योंकि मुझे लगता है कि मैं efi फ़ोल्डर देखता हूं) को जानता हूं /boot/efi/EFI/centos/grub.cfg। आप इस फ़ाइल को सीधे संपादित नहीं करते हैं, लेकिन मैं इस फ़ाइल को बूट की जा रही फ़ाइलों को सत्यापित करने के लिए देखूंगा क्योंकि यह यह grub.cfg है जिसका उपयोग बूट करते समय किया जाता है।

बचाव आम तौर पर कर्नल संस्करण प्रणाली की स्थापना, जो तुम अब क्या चल रहा है हो सकता है के लिए पहले कई संस्करणों हो सकता है के लिए वापस जा रहा है। बचाव विकल्प के लिए, जो लंबे समय में शायद एक अच्छा विचार है, आपको बस इसे एक विश्वसनीय और काम करने वाले संस्करण में इंगित करने की आवश्यकता है ताकि सिस्टम कम से कम बूट हो और आप डिस्क पर फ़ाइलों को संपादित कर सकें एक नया कर्नेल बेली जाना चाहिए स्थापित करने और बूट करने या काम नहीं करने के बाद। मूल रूप से आप ग्रब मेनू में कम से कम 2 बूट विकल्प, अपने नवीनतम एक और फिर कुछ विश्वसनीय संस्करण वापस चाहते हैं।

आप /etc/default/grub.cfgइस फ़ाइल को संपादित और संशोधित करते हैं; मेनू बनायें कि आप किस तरह से टिप्पणी करना चाहते हैं, जिसे आप नहीं चाहते हैं #, फिर एक करेंgrub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg

KDUMP की समस्या है

और नाम में kdumpinitrd-2.6.32-358.18.1.el6.x86_64kdump.img होने वाली फ़ाइलों से , ऐसा लगता है कि आपने kdump सक्षम किया है। जब तक आप इसका उपयोग नहीं करते, आप kdump को निष्क्रिय कर सकते हैं जो अंतरिक्ष को बचाने में मदद करेगा। और जब तक आप सिस्टम क्रैश और इस तरह डिबगिंग नहीं कर रहे हैं, आपको फ़ाइलों की आवश्यकता नहीं है, ताकि आप उन्हें हटा सकें। मैं kdump का उपयोग नहीं करता, कभी नहीं करता, लेकिन यह स्थापना के दौरान डिफ़ॉल्ट रूप से सक्षम है और मुझे संदेह है कि डिफ़ॉल्ट रूप से आपके / बूट फ़ोल्डर में सहेजता है; जो केवल 100mb खराब है। तो या तो कहीं और डंप करने के लिए kdump को संशोधित करें, या आप सबसे अधिक संभावना है कि इसे अक्षम kdump का उपयोग न करें।*kdump.img

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