소스 컴파일 중 "reason: No space left on device" 오류
에러 메세지
/usr/bin/ar: unable to copy file 'libsql_dd.a'; reason: No space left on device
make[2]: *** [sql/CMakeFiles/sql_dd.dir/build.make:2610: sql/libsql_dd.a] Error 1
make[2]: *** Deleting file 'sql/libsql_dd.a'
make[1]: *** [CMakeFiles/Makefile2:29026: sql/CMakeFiles/sql_dd.dir/all] Error 2
make: *** [Makefile:166: all] Error 2
"No space left on device" 오류는 파일 시스템이 가득 찼을 때 발생하는 오류이며, 컴파일 시에 필요한 디스크 공간이 부족한 경우에 발생할 수 있습니다.
디스크 공간 확인
df -h | egrep -v tmpfs
$ df -h | egrep -v tmpfs
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/ubuntu--vg-ubuntu--lv 12G 11G 0 100% /
/dev/sda2 2.0G 127M 1.7G 7% /boot
/(/dev/mapper/ubuntu--vg-ubuntu--lv) 파일 시스템 사용률이 100% ㅠㅠ
디스크 공간 확보를 위한 방법
1. 불필요한 파일 삭제
불필요한 파일을 삭제하여 디스크 공간을 확보합니다.
sudo rm -rf /path/to/unneeded/files
2. 파일 시스템 확장
디스크 공간 부족 문제를 해결하기 위해 파일 시스템을 확장해야 할 수도 있습니다. 이 과정은 파일 시스템 종류에 따라 다를 수 있으며, 일반적으로 resize2fs나 lvextend와 같은 도구를 사용하여 수행합니다.
3. 임시 디렉토리 변경
빌드 중에 생성되는 임시 파일 및 디렉토리의 위치를 변경하여 디스크 공간을 확보할 수 있습니다. 예를 들어, /tmp 디렉토리가 부족한 경우 다른 디스크 공간을 사용하도록 임시 디렉토리를 설정할 수 있습니다.
4. 적절한 디스크 용량 할당
만약 가용한 디스크 공간이 부족하다면, 컴파일이나 빌드를 수행하기 위해 충분한 디스크 공간을 확보해야 합니다. 이를 위해 디스크 용량을 늘리거나 추가 디스크를 마운트하여 사용할 수 있습니다.
export TMPDIR=/path/to/larger/disk
5. 다른 프로세스 확인
가끔 다른 프로세스나 서비스가 디스크 공간을 과도하게 사용하는 경우가 있습니다. 시스템에서 어떤 프로세스가 많은 공간을 차지하고 있는지 확인하고 필요한 조치를 취합니다.
참고URL
- LVM으로 구성된 ROOT(vg0-lv--0) 파티션 확장 : https://scbyun.com/1334
'리눅스' 카테고리의 다른 글
[draft] 우분투에서 SquashFS를 사용하는 방법 (0) | 2022.10.24 |
---|---|
리눅스 소스 컴파일 중 "c++: fatal error: Killed signal terminated program cc1plus" 에러 (0) | 2022.10.24 |
[draft] 우분투에서 소스 코드로 MySQL 8을 설치하는 방법 (0) | 2022.10.22 |
[draft] 우분투에서 스냅을 비활성화하고 삭제하는 방법 (0) | 2022.10.22 |
[kubernetes] kubectl config 명령 - 2 (0) | 2022.10.21 |