ubuntu no space left on device
- 서론) docker image를 그떄 그떄 지워주지 않아서 주어진 용량 7.6G를 다 써버렸다..
- docker image를 삭제해주려 해도 공간이 부족해 삭제 명령어조차 실행 못하는 상황이었다.
- 참고로 용량 확인은
df -hT라고 찍어보면 나온다
- 본론) 용량을 두 배로 늘려주는 방법도 있지만, 우리의 경우 docker image만 그때 그때 잘 지워주면 근본적인 문제를 해결할 수 있다.
- 다만 이 로직을 추가하려면 일단 조금의 여유 공간이라도 빼야 한다.
- 이를 위해
sudo apt-get clean명령어로 캐시를 비워 우선 조금의 용량이라도 확보해줬다. - 이제
docker image prune -a명령어로 컨테이너에 연결되지 않은 사용하지 않고 있는 이미지들을 전부 지워주자. - 지금은 직접 명령어를 쳐줬지만 앞으론 cicd 로직에서 배포 후 이 명령어를 실행하게 해주자.
- 결론) 용량을 무려 50%나 확보할 수 있었다. 용량 부족하다고 무조건 ec2 scale up 하지 말고, 근본적인 원인을 해결해주자.
- 참고)
Mac 환경설정
- 서론
- 2023년에 애플 아이디를 만드는 사람이 있다..? 바로 저에요…
- 구매한 맥북이 어제 도착했다. 장인은 도구 탓을 하지 않는다하지만, 어딜 가든 맥북 밖에 없는 개발팀에서 홀로 윈도우로 개발하는 건 외로웠다,,, 물론 윈도우로도 개발을 잘 해오고 있긴 했지만, 요근래 인텔리제이 설정이 자꾸 꼬이기도 했고 이번에 팀에 새로 적용한 네이버 핵데이 컨벤션도 나만 .. 윈도우라 eol이 crlf인 바람에 설정이 조금 꼬였었다.. 물론 깃이 윈도우 환경에선 풀 받을 때 자동으로 eol을 lf가 아닌 crlf로 받아오는 문제였어서 이 부분 설정을 변경해 해결해주긴 했지만.. 나만 따로 커스텀해줘야 한단 불편함이 존재했다..
- 결국 이전부터 구매 계획이 있었던 m2를 윈도우 권태기가 온 시점에 빠르게 구매해줬다. ㅎㅎ 솔직히 맥북 이뻐서 산단 사람들 이해 안됐는데 막상 내 책상에 올려두니 너무 이뻐서 놀랐다. 화면도 ,,, 너무 이쁘다.
- 요 사랑스러운 맥북에 내가 쓰던 개발 환경 설정을 쫘르르 해줬다. 하나하나 신중히,,,
- 본론
- homebrew 깔기 (동료가 추천해준 영상 보고 따라해줬다)
- 영상을 따라하면서 나는 vsc, slack, chrome, iterm2, git cli를 homebrew로 우선 깔아줬다.
- intellij ultimate, Datagrip 깔기
- intellij는 현재 내 계정에 학생 라이센스가 등록되어 있어서 사이트에 들어가서 직접 깔아줬다.
- java 17, 11 깔기
- 나는 oracle jdk와 open jdk 중 고민하다 open jdk로 깔았다.
많은 사람들이 주로 사용해오던 adopt openjdk 는 arm에 최적화해 제공하지 않는다 해서oracle jdk를 사용해야 하나 고민했는데, 레퍼런스를 찾아보니 home brew 공식 open jdk는 arm에 최적화해 제공하는 것 같다(이 부분 확실하진 않아서 좀 더 확인 필요). 또한, line 같은 대기업에서도 open jdk를 사용하는 걸 보고 신뢰를 얻었다. 아무래도 oracle jdk는 상업 목적으로 사용하려면 라이센스를 별도 구입해야 하기에 open jdk를 쓰는 회사들도 꽤 있을 거 같다. 현재 인턴쉽 진행 중인 회사 역시 이에 대해 대비가 되어 있지 않기에 openjdk를 쓰는 게 맘이 편하리라 생각했다. home brew 공식 open jdk를 사용해보자!- 방법
- 결국, adopt openjdk를 사용하기로 했다.
- 일단 homebrew openjdk 를 삭제해주자.
- Adoptium(구 AdoptOpen jdk) 깔기
- 방법
- 터미널에 입력
- ~/.zshrc 에 추가할 내용
- 현재 회사 깃헙 액션 모든 플로우에서 아래와 같이 temurin 의 jdk를 사용 중이다. 서버 환경과 로컬 환경을 최대한 맞춰주고자 내 로컬의 jdk도 temurin 의 jdk 를 사용하고자 결정했다.
- temurin에 대해 더 자세히 이야기하는 글은 아래와 같다
- (참고) adoptium 즉 temurin의 경우 8버전(아마 11 버전 전이라면 모두)의 경우 맥에 최적화되어 있지 않다. 따라서 8을 사용해야 한다면 zulu를 추천한다. 11버전부턴 실리콘맥에 최적화되어 있으니 temurin을 사용해도 좋다
- 프로젝트 클론 받아서 intellij로 실행시켜보기
- queryDsl
- datagrip으로 rds 접속해보기
- 로컬에 mysql, Datagrip 깔아서 우선 로컬 db 접속부터 테스트하기
- rds 접속도 성공
- ec2 접속해보기
- 구글 드라이브에 올려둔 파일 중 자주 사용하는 파일들 저장해두기
- 구글 드라이브 연동하기
삽질! (← 완전히 이상한 소리 써뒀습니다,,, 읽지 말아주세요,, 그저 제 오답노트 용으로 냅뒀습니다,,,,) ( homebrew openjdk@17 설치 및 삭제)
homebrew 공식 open jdk 레퍼런스
adoptopen jdk 관련 레퍼런스
AdoptOpenJDK에서는 macOS M1 칩에 호환되는 JDK를 제공하지 않는다구 한다. 물론 인텔칩 기준으로 나온 x64 깔아도 돌아가긴 돌아갈 것이다. 왜냐하면 맥북에 로제타가 있으니. 로제타는 인텔칩 버전으로 나온 프로그램이 M1칩에서 잘 돌아갈 수 있도록 해주는 에뮬레이터인데, 당연히 에뮬레이터를 끼고 실행하면 성능이 나빠지겠지? 그리고 그냥 인텔칩 기준으로 나온 것을 M1칩에서 돌리자니 찝찝해서 나는 웬만하면 M1칩 버전을 찾고싶기 때문에...
인데…. 깔고 나서 확인해보니 x64 용인 거 같기도 하다…
내가 여러 openjdk 중 temurin 선택한 이유
이클립스 재단의 Adoptium 은 고품질의 Java 제품을 만들기 위한 프로젝트로 Adoptium Working Group 에는 MS, IBM ,RedHat 등 쟁쟁한 오픈소스 기업들이 참여하고 있습니다. Adoptium 에서 개발하는 JDK 는 Eclipse Temurin이라 부르는데 local, 운영, CI 환경 모두에 권장하는 제품입니다. Termurin 은 고품질에 벤더 중립적이고 TCK 테스트도 거쳤습니다.Cloud 환경은 CSP 제공 제품을
Cloud 에서 Java 를 사용한다면 CSP(Cloud Service Provider) 가 빌드하는 제품이 아무래도 클라우드에 최적화되었을테니 CSP 가 제공하는 걸 쓰는 게 좋습니다. 예로 AWS 를 쓴다면 Amazon 의 Corretto를 Azure 를 쓴다면 Microsoft Build of OpenJDK 를 쓰는 게 좋습니다.
까려다 추가로 알게 된 알쓸프잡,, Good-bye AdoptOpenJDK. Hello Adoptium!
2021년 8월 2일 AdoptOpenJDK 가 Eclipse Adoptium 으로 이전되었다. Eclipse Adoptium 는 최상위 프로젝트(TLP)를 의미하며, Eclipse Temurin 에서 Java SE 런타임을 진행한다. Eclipse Temurin 은 오라클 SE TCK(Technology Compatibility Kit)와 Eclipse AQAvit 테스트를 통과했다. Azul Platform Core OpenJDK 지원 구독을 통해 Temurin 에 대한 상용 지원이 가능하다고 한다. 기존의 AdoptOpenJDK 웹사이트와 AdoptOpenJDK API는 당분간 유지할 예정이나, 빠른 시일내에 Eclipse Adoptium 으로 이전할 것을 권장하고 있다.

- 결론
- 고민은 배송만 늦출 뿐! 맥북 구매 만족도 200%다.





![[Java] Mac install java8, java11 (multiple version)](https://www.notion.so/image/https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fjeon3029%2Fpost%2F17e8c885-7c19-402f-bd1b-cb504420b14a%2Fimage.png?table=block&id=84d4822d-7ac5-43d3-a3ac-156bcd4ec33b&cache=v2)
