[Ubuntu] /boot 100% 문제 해결​ Computer Tip

리눅스에서 주기적으로 

$ sudo apt-get update
$ sudo apt-get upgrade

를 하면 알아서 업그레이드시켜 줍니다.

그런데 문제는 이 업그레이드에 커널 이미지 업그레이드가 많이 포함되면서...

$ sudo apt-get install xxx

라고 패키지를 설치하거나

$ sudo apt-get purge xxx

라고 패키지를 삭제할 때도 이런 저런 오류가 발생하는 것이었습니다.

확인해 보니,

$ df -h
Filesystem                Size  Used Avail Use% Mounted on
...
/dev/sda1                 453M  453M  0M  100% /boot
...
와 같이 /boot 쪽이 Full 난 상태였고,


/boot $ ll
total 435495
drwxr-xr-x  4 root root     3072  2월  1 10:47 ./
drwxr-xr-x 25 root root     4096  1월 11 02:21 ../
-rw-------  1 root root  3853719  4월 19  2016 System.map-4.4.0-21-generic
-rw-------  1 root root  3869329  9월  7 03:52 System.map-4.4.0-38-generic
-rw-------  1 root root  3869895 10월  8 11:15 System.map-4.4.0-42-generic
-rw-------  1 root root  3869895 10월 20 01:34 System.map-4.4.0-45-generic
-rw-------  1 root root  3873447 10월 27 07:27 System.map-4.4.0-47-generic
-rw-------  1 root root  3874377 11월 25 06:12 System.map-4.4.0-51-generic
-rw-------  1 root root  3874377 12월  3 04:11 System.map-4.4.0-53-generic
-rw-------  1 root root  3875329 12월 10 13:04 System.map-4.4.0-57-generic
-rw-------  1 root root  3875594  1월  7 09:44 System.map-4.4.0-59-generic
-rw-r--r--  1 root root  1239577  4월 19  2016 abi-4.4.0-21-generic
-rw-r--r--  1 root root  1242262  9월  7 03:52 abi-4.4.0-38-generic
-rw-r--r--  1 root root  1242701 10월  8 11:15 abi-4.4.0-42-generic
-rw-r--r--  1 root root  1242701 10월 20 01:34 abi-4.4.0-45-generic
-rw-r--r--  1 root root  1243086 10월 27 07:27 abi-4.4.0-47-generic
-rw-r--r--  1 root root  1243479 11월 25 06:12 abi-4.4.0-51-generic
-rw-r--r--  1 root root  1243479 12월  3 04:11 abi-4.4.0-53-generic
-rw-r--r--  1 root root  1243800 12월 10 13:04 abi-4.4.0-57-generic
-rw-r--r--  1 root root  1244118  1월  7 09:44 abi-4.4.0-59-generic
-rw-r--r--  1 root root   189412  4월 19  2016 config-4.4.0-21-generic
-rw-r--r--  1 root root   189732  9월  7 03:52 config-4.4.0-38-generic
-rw-r--r--  1 root root   189760 10월  8 11:15 config-4.4.0-42-generic
-rw-r--r--  1 root root  1242701 10월 20 01:34 abi-4.4.0-45-generic
-rw-r--r--  1 root root  1243086 10월 27 07:27 abi-4.4.0-47-generic
-rw-r--r--  1 root root  1243479 11월 25 06:12 abi-4.4.0-51-generic
-rw-r--r--  1 root root  1243479 12월  3 04:11 abi-4.4.0-53-generic
-rw-r--r--  1 root root  1243800 12월 10 13:04 abi-4.4.0-57-generic
-rw-r--r--  1 root root  1244118  1월  7 09:44 abi-4.4.0-59-generic
-rw-r--r--  1 root root   189412  4월 19  2016 config-4.4.0-21-generic
-rw-r--r--  1 root root   189732  9월  7 03:52 config-4.4.0-38-generic
-rw-r--r--  1 root root   189760 10월  8 11:15 config-4.4.0-42-generic
-rw-r--r--  1 root root   189760 10월 20 01:34 config-4.4.0-45-generic
-rw-r--r--  1 root root   189809 10월 27 07:27 config-4.4.0-47-generic
-rw-r--r--  1 root root   189877 11월 25 06:12 config-4.4.0-51-generic
-rw-r--r--  1 root root   189877 12월  3 04:11 config-4.4.0-53-generic
-rw-r--r--  1 root root   189991 12월 10 13:04 config-4.4.0-57-generic
-rw-r--r--  1 root root   190047  1월  7 09:44 config-4.4.0-59-generic
drwxr-xr-x  5 root root     1024  2월  1 10:47 grub/
-rw-r--r--  1 root root 35702722  8월 10 02:25 initrd.img-4.4.0-21-generic
-rw-r--r--  1 root root 36984705 10월 10 11:49 initrd.img-4.4.0-38-generic
-rw-r--r--  1 root root 37387202 10월 11 11:19 initrd.img-4.4.0-42-generic
-rw-r--r--  1 root root 37384930 10월 21 17:57 initrd.img-4.4.0-45-generic
-rw-r--r--  1 root root 37437535 11월 10 02:45 initrd.img-4.4.0-47-generic
-rw-r--r--  1 root root 37443627 11월 30 11:44 initrd.img-4.4.0-51-generic
-rw-r--r--  1 root root 37442928 12월  7 08:52 initrd.img-4.4.0-53-generic
-rw-r--r--  1 root root 37443406 12월 22 01:59 initrd.img-4.4.0-57-generic
-rw-r--r--  1 root root 37444359  1월 11 02:21 initrd.img-4.4.0-59-generic
drwx------  2 root root    12288  8월  3 04:13 lost+found/
-rw-------  1 root root  7013968  4월 19  2016 vmlinuz-4.4.0-21-generic
-rw-------  1 root root  7051680  9월  7 03:52 vmlinuz-4.4.0-38-generic
-rw-------  1 root root  7053472 10월  8 11:15 vmlinuz-4.4.0-42-generic
-rw-------  1 root root  7054208 10월 20 01:34 vmlinuz-4.4.0-45-generic
-rw-------  1 root root  7060896 10월 27 07:27 vmlinuz-4.4.0-47-generic
-rw-------  1 root root  7064208 11월 25 06:12 vmlinuz-4.4.0-51-generic
-rw-------  1 root root  7065648 12월  3 04:11 vmlinuz-4.4.0-53-generic
-rw-------  1 root root  7067152 12월 10 13:04 vmlinuz-4.4.0-57-generic
-rw-------  1 root root  7069136  1월  7 09:44 vmlinuz-4.4.0-59-generic


위와 같이 모든 커널 관련 이전 내용이 그대로 있었던 것이 문제가 되었습니다.
이를 해결하기 위해서 구글링을 해 보니, 

$ sudo apt-get purge linux-image-4.4.0-21-generic
와 같이 이전에 설치된 것을 일일이 삭제해 주어야 한다는 것이었습니다.

그러기 위해서 우선 설치되어 있던 이전 커널 이미지를 확인하기 위하여,

$ apt list --installed | grep linux-image

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

linux-image-4.4.0-21-generic/xenial,now 4.4.0-21.37 amd64 [installed,automatic]
linux-image-4.4.0-34-generic/xenial-updates,xenial-security,now 4.4.0-34.53 amd64 [installed,auto-removable]
linux-image-4.4.0-36-generic/xenial-updates,xenial-security,now 4.4.0-36.55 amd64 [installed,auto-removable]
linux-image-4.4.0-38-generic/xenial-updates,xenial-security,now 4.4.0-38.57 amd64 [installed,auto-removable]
linux-image-4.4.0-42-generic/xenial-updates,xenial-security,now 4.4.0-42.62 amd64 [installed,auto-removable]
linux-image-4.4.0-45-generic/xenial-updates,xenial-security,now 4.4.0-45.66 amd64 [installed,auto-removable]
linux-image-4.4.0-47-generic/xenial-updates,xenial-security,now 4.4.0-47.68 amd64 [installed,auto-removable]
linux-image-4.4.0-51-generic/xenial-updates,xenial-security,now 4.4.0-51.72 amd64 [installed,auto-removable]
linux-image-4.4.0-53-generic/xenial-updates,xenial-security,now 4.4.0-53.74 amd64 [installed,automatic]
linux-image-4.4.0-57-generic/xenial-updates,xenial-security,now 4.4.0-57.78 amd64 [installed,automatic]
linux-image-4.4.0-59-generic/xenial-updates,xenial-security,now 4.4.0-59.80 amd64 [installed,automatic]
linux-image-extra-4.4.0-21-generic/xenial,now 4.4.0-21.37 amd64 [installed]
linux-image-extra-4.4.0-34-generic/xenial-updates,xenial-security,now 4.4.0-34.53 amd64 [installed,auto-removable]
linux-image-extra-4.4.0-36-generic/xenial-updates,xenial-security,now 4.4.0-36.55 amd64 [installed,auto-removable]
linux-image-extra-4.4.0-38-generic/xenial-updates,xenial-security,now 4.4.0-38.57 amd64 [installed,auto-removable]
linux-image-extra-4.4.0-42-generic/xenial-updates,xenial-security,now 4.4.0-42.62 amd64 [installed,auto-removable]
linux-image-extra-4.4.0-45-generic/xenial-updates,xenial-security,now 4.4.0-45.66 amd64 [installed,auto-removable]
linux-image-extra-4.4.0-47-generic/xenial-updates,xenial-security,now 4.4.0-47.68 amd64 [installed,auto-removable]
linux-image-extra-4.4.0-51-generic/xenial-updates,xenial-security,now 4.4.0-51.72 amd64 [installed,auto-removable]
linux-image-extra-4.4.0-53-generic/xenial-updates,xenial-security,now 4.4.0-53.74 amd64 [installed,automatic]
linux-image-extra-4.4.0-57-generic/xenial-updates,xenial-security,now 4.4.0-57.78 amd64 [installed,automatic]
linux-image-extra-4.4.0-59-generic/xenial-updates,xenial-security,now 4.4.0-59.80 amd64 [installed,automatic]
linux-image-generic/xenial-updates,xenial-security,now 4.4.0.59.62 amd64 [installed,automatic]

라고 명령을 내려 설치된 것을 확인하였습니다.

extra는 부가 패키지 같고, 위에 설치된 것들을 일일이 삭제해 주어야 하는데, 
문제는...

$ sudo apt-get purge linux-image-4.4.0-21-generic
라고 삭제하려고 하는데도 오류가 발생하는 것이었습니다.

/boot 를 늘리는 것도 한 방법이 될 수 있겠으나,
다른 편법으로 

$ cd /boot
$ sudo rm -f initrd.img-4.4.0-4*-generic

와 같이 중간 이미지를 일단 지우고, purge를 하면
다행스럽게도 지울 수 있었습니다.
(해당 버전이 짝이 안 맞고 이전 것이 남아 있을 수도 있으니 
 /boot 안에 들어가서 확인해야 합니다)


어느 분께는 도움이 되셨기를...








덧글

  • ㅌㅇㄱㅊㅊ 2017/02/01 13:04 # 삭제 답글

    apt-get autoremove 하시면 되어요
  • 지훈현서아빠 2017/02/01 14:09 #

    제 경험으로는 autoremove는 명확히 설치한 것이 아닌 dependent한 패키지 중에서
    top 패키지가 지워지면서 dangling 된 패키지가 삭제되는 것으로 압니다.
    헌데 autoremove 명령으로 위에 예전 커널이 삭제되지 않았습니다. 참고하셔요~
  • 철이 2017/02/01 16:22 # 삭제 답글

    저는 그 synaptic manager 로 들어가서 최신꺼 빼고 ㅈ나버진 uninstall 했는데 한번에 잘 됬어요. 한번 참고해보시길
  • 지훈현서아빠 2017/02/01 16:43 #

    ㅎㅎ 저는 Desktop이 아닌 우분투 서버 버전을 주로 이용하기 때문에 synaptic manager를 잘 사용하지 않습니다.
    참고 하겠습니다. ^^
  • ㄱㅅㄱㅅ 2017/04/08 02:21 # 삭제 답글

    고맙습니다.
    잠도 못자고 눈 뻘개서 고민했었는데 단방에 해결됐네요.
  • 지훈현서아빠 2017/04/10 09:16 #

    도움이 되셨다니 저의 보람입니다~ ^^
  • R.제이콥 2017/09/01 16:07 # 삭제 답글

    덕분에 잘 해결되었습니다. 감사합니다.
  • 지훈현서아빠 2017/09/01 16:53 #

    도움이 되셨다니 저의 보람입니다~ ^^
  • 김여우 2017/11/05 14:33 # 삭제 답글

    정말 감사합니다. 완전 초보여서 너무 막막했는데
    블로그 보고 시원하게 해결했습니다.
    원래 이런거 잘 안남기는데 너무 감사드려요.
  • 지훈현서아빠 2017/11/06 10:15 #

    도움이 되셨다면 저의 보람입니다~ ^^
  • 만년설 2018/01/04 20:17 # 삭제 답글

    저도 참고했어요~ ^^ 그리고 또 많이 참고했던 웹문서도 공유 해봅니다 https://gist.github.com/jbgo/5016064
  • 지훈현서아빠 2018/01/05 10:14 #

    네... 좋은 결과도 만들어 주셔서 감사합니다~ ^^
댓글 입력 영역

구글애드텍스트