web-dev-qa-db-ja.com

CentOSのブートパーティションがほぼいっぱいです

/ bootパーティションがほぼいっぱい(85%)であるという警告が表示されました。私は何をすべきか?バックアップカーネルの1つを削除できますか?安全な方法は?

私のパーティションは今

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

/ Bootディレクトリ

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
23
Tester

/ bootをクリーンに保つために、システムの最後の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で次の質問をご覧ください。

49
user34720

次のようにすると、古いカーネルを安全に削除できます。

# 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
11
sparticvs

カーネルイメージは実際には非常に小さいです。

[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呼び出しを実行して、そのすべての領域を占有しているものを確認できるようにします。そのマウントポイントで100MBを使用するのに近づくことはないはずです。

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

これは、3つのカーネルがインストールされている場合です。

[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にファイルを置いて、後でそれを元に戻すのを忘れたことを喜んで賭けます。

2
Bratchley

私は何をすべきか?

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ファイルと、その中のメニューコードを読むのは簡単です。一番上のファイルは、起動時に表示されるデフォルトのファイルであり、rescueone;多くのものがリストされている可能性があります。ここでは、実際に実行しているバージョンを確認することもできます。

私は通常、最新のもの(上部)と救済(下部)をgrub.cfgに保持します。実際のgrub.cfg(efiフォルダが表示されているため、あなたの場合)が/boot/efi/EFI/centos/grub.cfgにあることを確認してください。このファイルは直接編集しませんが、起動時に使用されるのはこのgrub.cfgであるため、起動中のファイルを確認するためにこのファイルを調べます。

rescueは通常、システムインストールに戻るカーネルバージョンであり、現在実行しているバージョンよりも前の多くのバージョンである可能性があります。おそらく長期的には良い考えだと思われるレスキューオプションの場合、システムを少なくとも起動し、新しいカーネルが不安定になった場合にディスク上のファイルを編集できるように、信頼性の高い機能するバージョンをポイントする必要があります。インストール後、起動しない、または機能しない。基本的に、grubメニューに少なくとも2つのブートオプションが必要です。最新のものと、信頼性の高いバージョンにフォールバックします。

/etc/default/grub.cfgを編集して、このファイルを変更します。不要なメニューを#でコメント化するだけでメニューを好きなようにしてから、grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfgを実行します

KDUMPが問題です

そして、名前にkdumpが含まれるinitrd-2.6.32-358.18.1.el6.x86_64kdump.imgファイルから、kdumpが有効になっているようです。使用しない限り、スペースの節約に役立つkdumpを無効にすることができます。また、システムクラッシュなどをデバッグしない限り、*kdump.imgファイルは必要ないので、それらを削除できます。 私はkdumpを使用していませんが、使用していませんが、インストール時にデフォルトで有効になっており、デフォルトで/ bootフォルダに保存されると思います。 kdumpを変更して他の場所にダンプするか、ほとんどの場合それを使用しないのでkdumpを無効にします。

0
ron