Github Actions
으로 배포할 때 scp-action
을 통해 EC2로 파일을 전달하는 과정에서 에러가 발생했다.
이전까지 배포가 잘 되었고 에러 메시지만 보고서는 무슨 상황인지 파악이 어려워서 우선 에러 메시지로 구글링을 해보았다.
에러 메시지
error copy file to dest: ***, error message: Process exited with status 1
drone-scp error: error copy file to dest: ***, error message: Process exited with status 1
결론적으로 말하면 EC2에 디스크 용량이 꽉차서 파일 전달이 불가능한 것이었다.
Github Issue 내용을 보다보니 저장공간 얘기가 있어서 "혹시...?" 나 했는데 공간이 100프로 차있었다.
EC2 디스크 용량... 🤣
💡 참고:
- EC2 디스크 용량 확인하는 명령어:
df -h
- df는 disk free의 약자이고 h는 human의 약자다.
- 즉 디스크 용량을 사람이 보기 좋게 표기해준다.
-h
옵션을 사용하지 않으면 M(메가), G(기가)등의 단위 표시가 되지 않는다.
우선 디스크 확보를 하기 위한 방법을 찾아보았다.
1. 필요하지 않은 패키지 삭제
sudo apt autoremove --purge
이 명령어는 시스템에서 더 이상 필요하지 않은 패키지들을 자동으로 제거하고,
그 패키지들과 관련된 설정 파일들도 함께 제거한다.
2. 캐시 정리
sudo apt-get autoclean
이 명령어는 시스템에서 다운로드한 패키지 파일 중에서 사용되지 않는 오래된 버전의 파일을 정리한다.
하지만 나 같은 경우, 2번 방법으로는 디스크 용량을 충분히 확보하지 못했고 1번 방법은 에러가 발생했다.
디스크 용량이 부족해서 명령어 실행조차 불가능했던 것이다.
에러 메시지
E: Write error - write (28: No space left on device)
E: IO Error saving source cache
E: The package lists or status file could not be parsed or opened.
그래서 우선 /var
디렉토리에서 사용하지 않는데 용량을 크게 차지하는 파일을 삭제 후 명령어를 실행해서 문제를 해결했다.
💡 참고:
- 현재 디렉토리의 각 항목에 대한 디스크 사용량을 요약하여 표시하는 명령어
sudo du -sh *