CentOS 6では、ブートパーティションがいっぱいです。

CentOS 6では、ブートパーティションがいっぱいです。

/boot の使用に問題があり、yum update継続する空き容量が不足しています。私はいくつかの異なる記事を読んでおり、最も役に立つ回答で問題を解決する最も安全で効率的な方法はyum-utilsを使用してpackage-cleanupを実行することです。残念ながら、このソリューションは私が経験していた問題を解決しませんでした。私は100MBのパーティションで/bootを持っていて、十分なスペースがあることを読んだ。

インストールyum-utilsして実行してみました

package-cleanup --oldkernels --count=1

結果:

Not removing kernel 2.6.32-642.13.1.e16 because it is the running kernel
No old kernels to remove

結果は次のとおりですrpm -qa | grep kernel

kernel-devel-2.6.32-642.13.1.el6.i686
kernel-firmware-2.6.32-696.1.1.el6.noarch
dracut-kernel-004-409.el6_8.2.noarch
kernel-headers-2.6.32-696.1.1.el6.i686
kernel-2.6.32-696.1.1.el6.i686
kernel-2.6.32-642.13.1.el6.i686
libreport-plugin-kerneloops-2.0.9-33.el6.centos.i686
kernel-devel-2.6.32-696.1.1.el6.i686
abrt-addon-kerneloops-2.0.8-43.el6.centos.i686

私の最初の考えは、私のカーネルの一部ではなくすべてを削除することでしたが、パッケージのクリーンアップから以前のカーネルを削除する必要があると判断しなかったので、躊躇しました。

ls -ls /boot結果は次のとおりです。

  113 -rw-r--r--. 1 root root   112760 Jan 11 15:26 config-2.6.32-642.13.1.el6.i686
  113 -rw-r--r--. 1 root root   112820 Apr 11 12:43 config-2.6.32-696.1.1.el6.i686
    2 drwxr-xr-x. 3 root root     1024 Dec 20  2016 efi
    2 drwxr-xr-x. 2 root root     1024 Apr 28 22:16 grub
23036 -rw-------. 1 root root 23494547 Jan 20 11:09 initramfs-2.6.32-642.13.1.el6.i686.img
23062 -rw-------. 1 root root 23521098 Apr 28 22:16 initramfs-2.6.32-696.1.1.el6.i686.img
 4526 -rw-------. 1 root root  4613691 Apr 28 22:13 initrd-2.6.32-642.13.1.el6.i686kdump.img
   13 drwx------. 2 root root    12288 Dec 20  2016 lost+found
  209 -rw-r--r--. 1 root root   211920 Jan 11 15:26 symvers-2.6.32-642.13.1.el6.i686.gz
  210 -rw-r--r--. 1 root root   211993 Apr 11 12:43 symvers-2.6.32-696.1.1.el6.i686.gz
 2023 -rw-r--r--. 1 root root  2061183 Jan 11 15:26 System.map-2.6.32-642.13.1.el6.i686
 2026 -rw-r--r--. 1 root root  2064145 Apr 11 12:43 System.map-2.6.32-696.1.1.el6.i686
 4051 -rwxr-xr-x. 1 root root  4128992 Jan 11 15:26 vmlinuz-2.6.32-642.13.1.el6.i686
 4058 -rwxr-xr-x. 1 root root  4136928 Apr 11 12:43 vmlinuz-2.6.32-696.1.1.el6.i686

/bootディレクトリに何があるべきか、および/または安全に削除できるものが何であるかを知りません。この情報がどのコンテンツを削除しても安全であるかどうかを判断し、後で他の人にも役立つことを願っています。

元の制限を5から5に変更するために/etc/yum.confを編集しましたinstallonly_limit=2。今後、このようなことが起こらないことを願っています。

答え1

これをルートファイルシステムに再配置すると、/bootルートファイルシステム内のすべてのストレージスペースを解放でき、ブートパーティションのサイズによって制限されなくなります。

GRUBブートローダの調整は繊細な作業です。次の手順では、簡単に元に戻せない変更を行わないことでリスクを軽減します。このプロセスには、/bootブートローダの再配置と更新が含まれます。

再配置/起動

現在、/bootルートファイルシステムとは別のパーティションにあります。安全に移動する方法はコピーファイルを移動する代わりに:

umount /boot
mount /dev/sd?? /mnt
cp -av /mnt/* /boot/

ファイルのコピーにはumount-ing /boot、別の場所にインストール、インストールされた場所から/boot

次に、/etc/fstabmounts行を編集してコメントアウトします/boot

ブートローダのアップデート

実際、ブートローダを更新する前に、GRUBが再配置されたファイルから起動できるかどうかをテストすることをお勧めします。

  1. Cent OSカーネルの起動に使用される行を開いて/boot/grub/grub.conf記録してみてください。テスト目的でこれを手動で入力します。kernelinitrd
  2. マシンを再起動してください。
  3. GRUB画面で「c」を押します。
  4. GRUBプロンプトにこれを入力すると、find /boot/grub/stage1次のように印刷されます。(hd0,5)。これは、ルートファイルシステムのディスクとパーティションと一致する必要があります。
  5. Enter root (hd0,5)(または以前に印刷されたコマンド)
  6. kernelメモした行を入力してください。それは次のとおりです。kernel /boot/vmlinuz-2.6.18-238.19.1.el5.centos.plusPAE ro root=/dev/sda6
  7. initrdメモした行を入力してください。それは次のとおりです。initrd /boot/initrd-2.6.18-238.19.1.el5.centos.plusPAE.img
  8. 起動カーネルを入力しますboot

すべてが順調に進むと、システムが起動し、/boot古いパーティションがマウントされてはいけません。mountコマンドを使用してこれを確認できます。

動作すると仮定すると、ブートローダの変更を永続的にします。

  1. /boot/grub/grub.confテスト中に入力したroot行を編集して更新しますkernelinitrd
  2. grubGRUBプロンプトを入力するには、実行してください。明確にするために、これは再起動を介さずにCent OS内で行われます。
  3. テストと同様に、入力root (hd0,5)(またはパーティションが何であれ)
  4. 実行setup (hd0)、どこでHD 0これはGRUBがMBRステップをインストールするディスクです。ディスクのMBRまたはパーティションの最初のセクタを使用している可能性があります。どちらにしても構いません。HD 0しなければならない。

この手順を完了すると、GRUBは新しいパーティションからダウンロードするメニューを表示します/boot。ブートパーティションはそのまま残ります。

GRUB と Cent OS の詳細については、こちらをご覧ください。https://wiki.centos.org/HowTos/GrubInstallation特別な注意を払ってください予防措置と警告部分。

関連情報