[Github Actions] error copy file to dest 에러

Jinny·2024년 2월 6일
1

Trouble Shooting

목록 보기
8/8

💣 Trouble Shooting

상황

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

이 명령어는 시스템에서 다운로드한 패키지 파일 중에서 사용되지 않는 오래된 버전의 파일을 정리한다.


Write error - write (28: No space left on device) 에러 발생

하지만 나 같은 경우, 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 *


🔗 Reference

profile
공부는 마라톤이다. 한꺼번에 많은 것을 하다 지치지 말고 조금씩, 꾸준히, 자주하자.

0개의 댓글