/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각별한 주의를 기울여 주십시오예방 조치 및 경고부분.