rootfs 파티션에 커널을 업그레이드할 공간이 남아 있지 않습니다.

rootfs 파티션에 커널을 업그레이드할 공간이 남아 있지 않습니다.

업그레이드하고 싶어요리눅스 커널에서부터 .3.164.3불행히도 실행했을 때 파티션에 공간이 없어서 aptitude install linux-image-4.3.0-1-amd64설치에 실패했습니다.rootfs117MB왼쪽,174MB필요.

더 많은 디스크 공간을 확보하기 위해 제거해야 할 이전 커널이 없습니다(현재 사용 중인 커널 제외).

root@host:/# aptitude search linux-image | grep ^i
ip  linux-image-3.16.0-4-amd64      - Linux 3.16 for 64-bit PCs

나는 노력했다해방됨공간 사용이 가능 aptitude clean하지만 별도의 파티션이므로 apt-get autoremove도움이 되지 않습니다 . /varAFAIK 이 명령은 /var/cache/apt/archives디렉터리의 내용을 삭제하므로 도움이 되지 않습니다.

일시적으로 고려 중입니다 mount --bind / /home/rootfs(제안대로).여기) 그러나 rootfs가능합니다안전하게 재설치할 수 없습니다..

내 파일 시스템 디스크 공간 사용량:

root@host:/# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda6       454M  310M  117M  73% /
udev             10M     0   10M   0% /dev
tmpfs           1,6G   19M  1,6G   2% /run
/dev/sda7        23G   13G  8,8G  59% /usr
tmpfs           3,9G   52M  3,9G   2% /dev/shm
tmpfs           5,0M  4,0K  5,0M   1% /run/lock
tmpfs           3,9G     0  3,9G   0% /sys/fs/cgroup
/dev/sda4       250G  187G   64G  75% /media/Windows/C
/dev/sda5       500G  428G   73G  86% /media/Windows/D
/dev/sda2        96M   25M   72M  26% /boot/efi
/dev/sda8       7,3G  966M  5,9G  14% /var
/dev/sda9        14G   37M   13G   1% /tmp
/dev/sda11      126G   95G   25G  80% /home
tmpfs           797M   20K  797M   1% /run/user/112
tmpfs           797M   24K  797M   1% /run/user/1000

du -mx / | sort -n결과:협회.

운영 체제 버전:

root@host:/# cat /etc/debian_version 
stretch/sid

/boot콘텐츠:

root@host:/# du -sh /boot/*
156K    /boot/config-3.16.0-4-amd64
25M     /boot/efi
8,8M    /boot/grub
16M     /boot/initrd.img-3.16.0-4-amd64
16M     /boot/initrd.img-3.16.0-4-amd64.old-dkms
2,6M    /boot/System.map-3.16.0-4-amd64
3,0M    /boot/vmlinuz-3.16.0-4-amd64
  • rootfs파티션을 해제하거나 현재 커널을 다른 파티션으로 일시적으로 이동하는 스마트하고 안전한 방법이 있습니까 ?
  • rootfs특정 콘텐츠를 다른 파티션으로 이동하고 해당 콘텐츠에 대한 심볼릭 링크를 만드는 것이 안전합니까?

나는 거기에 있다는 것을 안다비슷한 질문이 많음, 하지만그들 중 대부분내가 가지고 있지 않은 이전 커널을 제거했습니다.

답변1

최신 amd64 시스템의 루트+부팅 파티션의 경우 450MB는 그다지 많지 않습니다. 여러 코어를 설치하려면 파티션을 재구성해야 합니다. 그렇지 않아도 빡빡합니다.

현재 가지고 있는 파티션을 고려하여 루트 파티션을 현재 위치로 옮기는 것이 좋습니다 /var. 루트 파티션을 이동하는 것이므로 복구 미디어(예:시스템 복구 디스크). 설치 /dev/sda6/dev/sda8, 말 /media/sda6/media/sda8. 그 다음에:

  1. /var디렉터리를 생성합니다 :mkdir /media/sda8/var
  2. 이전 /var파티션의 모든 항목을 이 새 하위 디렉터리로 이동합니다. ( mv /media/sda8/* /media/sda8/var자체는 /var건너뜁니다.)
  3. 이전 루트 파티션을 제외한 모든 것을 /boot이전 var 파티션으로 이동합니다.mv /media/sda6/[^bv]* /media/sda6/bin /media/sda8/
  4. 이전 루트 파티션에는 /boot빈 파티션이 하나만 있어야 합니다. 모든 것을 파티션의 루트 /var로 이동합니다 ./bootmv /media/sda6/boot/* /media/sda6
  5. 가짜 디렉터리를 삭제 rmdir /media/sda6/boot /media/sda6/var하고 지금 필요한 디렉터리를 만듭니다.mkdir /media/sda8/boot
  6. fstab파일(현재 위치 /media/sda8/etc/fstab) 을 편집하고 , 항목을 제거하고 /var, 항목을 추가하고, /boot필요에 따라 항목을 수정합니다./
  7. 부트로더 구성을 업데이트합니다. 정확하고 간단한 방법은 update-grub스크립트를 실행(rebuild grub.cfg)하고 grub-install(첫 번째 단계 부트로더를 다시 빌드하여 나머지 부분을 찾을 수 있는 위치를 알도록 하는 것입니다 grub.cfg. 하지만 이렇게 하려면 올바른 디렉터리 트리를 제공해야 합니다.

    mount --rbind /dev /media/sda8/dev
    mount --rbind /proc /media/sda8/proc
    mount --rbind /sys /media/sda8/sys
    mount --bind /media/sda6 /media/sda8/boot
    chroot /media/sda8
    mount /usr
    update-grub
    grub-install /dev/sda
    

이제 재부팅하세요.

또는 /boot로 이동할 수 있지만 /var이는 덜 일반적인 구성이므로 일부 부트로더 구성 파일을 조정해야 할 수도 있습니다.

오늘날 이별은 아무 /usr의미 /가 없습니다. 분리형은 실제로 유용하지 /var않습니다 /(대부분의 설정에서는 읽기/쓰기로 마운트해야 합니다).

앞으로는 Linux 파티션에 LVM을 사용하는 것이 좋습니다. 더 유연합니다.

관련 정보