/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/fstab
mounts行を編集してコメントアウトします/boot
。
ブートローダのアップデート
実際、ブートローダを更新する前に、GRUBが再配置されたファイルから起動できるかどうかをテストすることをお勧めします。
- Cent OSカーネルの起動に使用される行を開いて
/boot/grub/grub.conf
記録してみてください。テスト目的でこれを手動で入力します。kernel
initrd
- マシンを再起動してください。
- GRUB画面で「c」を押します。
- GRUBプロンプトにこれを入力すると、
find /boot/grub/stage1
次のように印刷されます。(hd0,5)。これは、ルートファイルシステムのディスクとパーティションと一致する必要があります。 - Enter
root (hd0,5)
(または以前に印刷されたコマンド) kernel
メモした行を入力してください。それは次のとおりです。kernel /boot/vmlinuz-2.6.18-238.19.1.el5.centos.plusPAE ro root=/dev/sda6
initrd
メモした行を入力してください。それは次のとおりです。initrd /boot/initrd-2.6.18-238.19.1.el5.centos.plusPAE.img
- 起動カーネルを入力します
boot
。
すべてが順調に進むと、システムが起動し、/boot
古いパーティションがマウントされてはいけません。mount
コマンドを使用してこれを確認できます。
動作すると仮定すると、ブートローダの変更を永続的にします。
/boot/grub/grub.conf
テスト中に入力したroot
行を編集して更新しますkernel
。initrd
grub
GRUBプロンプトを入力するには、実行してください。明確にするために、これは再起動を介さずにCent OS内で行われます。- テストと同様に、入力
root (hd0,5)
(またはパーティションが何であれ) - 実行
setup (hd0)
、どこでHD 0これはGRUBがMBRステップをインストールするディスクです。ディスクのMBRまたはパーティションの最初のセクタを使用している可能性があります。どちらにしても構いません。HD 0しなければならない。
この手順を完了すると、GRUBは新しいパーティションからダウンロードするメニューを表示します/boot
。ブートパーティションはそのまま残ります。
GRUB と Cent OS の詳細については、こちらをご覧ください。https://wiki.centos.org/HowTos/GrubInstallation特別な注意を払ってください予防措置と警告部分。