본문 바로가기

리눅스

리눅스 /boot disk full 해소하기

728x90

일부 리눅스 버전에서는 /boot 를 별도의 파티션으로 생성하여 사용하는 경우가 있다. 문제는 기본 설정 용량에 있다. 디스크 커널을 업데이트할때 필요한 데이터가 고스란히 boot 디렉터리에 남게되는데, 시스템은 이를 자동으로 삭제해주지 않는다. 따라서 관리자는 직접 이를 확인해서 삭제해 주어야 한다.

자동으로 모두 삭제하기

가장 쉬운 방법으로는 apt 명령어를 사용하여 자동으로 삭제하는 방법이다. 다만 이 방법은 패키지별 의존도가 없는 패키지를 모두 삭제하므로 원하지 않는 패키지가 삭제되는 경우가 있기 때문에 매우 주의를 요한다.

$ suto apt-get autoremove --purge

현재 사용중인 커널을 제외하고 삭제하기

가장 안전한 방법이다. 내 눈으로 확인하고 하나하나 삭제하는 방법이다. 필자는 자동으로 삭제하는 방법으로 피를 본 경험이 몇번 있기 때문에 이 방법을 선호하는 편이다. 여담으로 메모장으로 코딩을 하던 시절 변수명을 변경하여야 할 때에 모두 변경 기능을 사용하였다가 원치 않는 변수명까지 변경되어 큰 낭패를 본 경험이 있다. 그렇기에 필자는 모든것을 눈으로 확인하는 것을 선호하는 편이다.

현재 사용중인 커널 버전 확인

$ uname -r

삭제해야할 커널 리스트 확인

$ sudo dpkg --list 'linux-image*'|awk '{ if ($1=="ii") print $2}'|grep -v `uname -r`

리스트에 출력된 커널 삭제

$ sudo apt-get purge linux-image-4.4.0-151-generic

완전 수동으로 삭제하기

disk full 100%가 되었을 경우에는 apt 명령어를 사용할 수 없을 경우가 있다. 따라서 이 경우에는 완전하게 수동으로 커널 이미지를 삭제해줘야 한다.

$ sudo rm -rf /boot/*-4.4.0-{151,152}-*

커널 리스트 업데이트

마지막으로 grub 의 커널 리스트를 업데이트 하여 준다.

$ sudo update-grub
반응형

'리눅스' 카테고리의 다른 글

dev/sda1: clean, files, blocks 해소  (0) 2021.03.02
스왑 설정 하기  (0) 2021.03.02
Screen 사용법  (0) 2021.03.02
SCP 사용법  (0) 2021.03.02
Source list 변경  (0) 2021.03.02