Ubuntu 용량이 부족할때, 큰 용량의 파일 찾기와 오래된 커널 파일 지우기

Explanation

오늘은 회사에서 사용하던 하나의 서버에서 하드디스크 용량이 부족해서 생긴 문제와 그에 대한 해결에 대해 적어보려합니다.
(글에서의 환경은 AWS의 EC2(클라우드 컴퓨팅)로 OS는 Ubuntu 18.04.2 LTS 입니다.)

참고.
1. http://blog.naver.com/writer0713/220919969092
2. https://zetawiki.com/wiki/리눅스_디렉토리_용량_확인_du
3. https://ngee.tistory.com/677
4. https://tesilio.github.io/ubuntu-low-free-space

1. 오류 확인

정확하게 기억은 나지 않는데, 아래로 문구로 시작하는 오류였어요.

공간이 부족하다고 하지만 그래도 일단 검색을 해보니, 역시 하드디스크의 용량이 부족해서 발생하는 오류 메시지였어요. 하지만 해당 서버가 간단한 서비스를 하고 있는 서버여서 사실 그렇게 큰 용량을 사용하고 있을리 없는데 이상했지만… 일단 용량을 확인해봐야겠죠?

저는 Ubuntu를 사용하지만 커맨드는 리눅스 기반은 거의 동일할거에요.

우선 간단하게 제가 사용하는 EC2에서 확인하면 위와 같이 나오는데 저기에 /dev/xvda1가 저는 99% 였어요.

2. 큰 용량의 파일 찾기

그리고 일단은 제가 많이 사용하는 /home/ubuntu 디렉토리에 100MB 이상의 파일을 찾아봤습니다.

대략 저는 저렇게 git의 pack 파일이 몇 개 발견되었지만 사실 저것만으로 용량이 꽉차는건 말이 안되고 git의 pack 파일은 지우기가 곤란해서 다른 문제를 찾아봐야 했어요.

그리하여 아래의 현재 폴더에 있는 용량을 확인하는 명령어를 사용하여 문제의 파일을 찾아봤는데요.

3. 오래된 커널 파일 지우기

최종적으로 /usr/src 디렉토리에 많은 양의 용량을 사용하고 있는 것을 찾을 수 있었답니다. 그리고 그곳에는 ‘linux-aws-headers…’ 라는 파일들이 있었고 다시 검색을 해보니 그 파일들은 우분투의 커널 파일들이었어요. 그리고 오래된 커널들은 지워줘도 된다는 것을 확인! 그리고 아래의 커맨드를 통해서 깔끔하게 사용하고 있지 않은 커널 파일을 삭제할 수 있답니다.

그런데 저는 ‘You might want to run ‘apt-get -f install’ to correct these…’ 라는 오류가 출력이 되었고
시키는 대로 ‘apt-get -f install’ 먼저 하고 위 커맨드를 실행하였습니다.

그러면 하나둘씩 오래된 커널 파일과 관련 설정 파일들을 쭉 찾아 지우는 작업을 수행한답니다~

‘apt autoremove’는 사용하지 않는 패키지를 삭제하는 커맨드이고 ‘–purge’는 설정 파일도 함께 삭제하는 옵션입니다.

4. 2021.01.21 추가

만약에!

이렇게 명령어를 입력했을 때, 위처럼 뭔가 필요한 패키지를 설치하라는 알림이 출력 되었을 때,
그 필요한 패키지를 설치할 만큼의 용량마저 부족할 때!

위 커맨드로 캐시를 비워서 공간을 확보할 수 있습니다!