업그레이드하고 싶어요리눅스 커널에서부터 .3.16
4.3
불행히도 실행했을 때 파티션에 공간이 없어서 aptitude install linux-image-4.3.0-1-amd64
설치에 실패했습니다.rootfs
117MB왼쪽,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
도움이 되지 않습니다 . /var
AFAIK 이 명령은 /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
. 그 다음에:
/var
디렉터리를 생성합니다 :mkdir /media/sda8/var
- 이전
/var
파티션의 모든 항목을 이 새 하위 디렉터리로 이동합니다. (mv /media/sda8/* /media/sda8/var
자체는/var
건너뜁니다.) - 이전 루트 파티션을 제외한 모든 것을
/boot
이전 var 파티션으로 이동합니다.mv /media/sda6/[^bv]* /media/sda6/bin /media/sda8/
- 이전 루트 파티션에는
/boot
빈 파티션이 하나만 있어야 합니다. 모든 것을 파티션의 루트/var
로 이동합니다 ./boot
mv /media/sda6/boot/* /media/sda6
- 가짜 디렉터리를 삭제
rmdir /media/sda6/boot /media/sda6/var
하고 지금 필요한 디렉터리를 만듭니다.mkdir /media/sda8/boot
fstab
파일(현재 위치/media/sda8/etc/fstab
) 을 편집하고 , 항목을 제거하고/var
, 항목을 추가하고,/boot
필요에 따라 항목을 수정합니다./
부트로더 구성을 업데이트합니다. 정확하고 간단한 방법은
update-grub
스크립트를 실행(rebuildgrub.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을 사용하는 것이 좋습니다. 더 유연합니다.