Settings
- AWS EC2 ( Amazon Linux / t2.micro)
- 30 GB (swap 2 GB)
- Python 3.9.16
- pip 24.0
Problem
AI 모델을 사용하고자 deepface 를 다운받는데 No space left on device 오류가 발생했다.
# $ pip install deepface
$ pip3 install deepface
해결 시도
더보기

하지만, 용량은 25GB 나 남아있는 모습
오류 내용만 봐도 용량이 부족하다 하니, 확인을 안 해볼 수가 없었다.
$ df -hT

더보기

하지만! 역시나 1% 의 사용량을 보이며 넉넉한 모습
검색을 해보니 대다수가 용량이 부족하지 않은 경우라면, inode 가 부족한 경우라고 한다.
그래서 확인을 해보았다.
$ df -iH

더보기

삭제해서 용량은 확보되었으나 의미는 없었다

그래도 197.4 MB 까지만 받아지던게 200을 넘는 순간 되는 줄 알았으나.... 역시나 중간에 동일한 에러가 나는 모습
일부 글에서, cache 문제일 수도 있다고 해서
cache 를 삭제하고
$ pip cache purge

cache dir 을 사용하지 않도록 flag 도 줘봤지만
$ pip install deepface --no-cache-dir

문제는 해결되지 않았다.
더보기
Temp dir 을 지정 해봤지만
# Case 1
$ export TMPDIR=<경로>
$ pip install <라이브러리>
# Case 2
$ TMPDIR=<경로> pip install <라이브러리>
문제는 해결되지 않았다.
사실, 이미 문제 해결 초반에 정답을 봐놓고서는 제대로 살펴보지 않은 내 잘못도 있긴 하지만... 어쨌든 답을 찾아내긴 했다....
.... tmpfs 의 용량 문제였다.
tmpfs 가 475 MB 만 할당돼있다 보니, 당연하게도 용량이 큰 tensorflow 를 포함한 라이브러리를 설치하지 못한 것이다.
다음 명렁어를 통해 tmp 폴더의 용량을 5GB 로 재할당해주고
$ sudo mount -o remount,size=5G /tmp
다시 install 하니 정상적으로 되었다.
tmp 의 용량 부족인건 알겠는데, 어째서 tmp 폴더 재지정 해줄 때는 해결이 안 됐던 건지는 추후에 알아봐야겠다...