220106 미션 소개
로컬 컴퓨터와 리모트 컴퓨터
- 배포를 해야하는 환경에서는 로컬에서 작업한 것을 리모트 컴퓨터에 복사해야 하는 상황이 생긴다. 그럼 로컬 환경에서 작업한 코드를 리모트 환경에서도 돌아갈 수 있도록 해야 한다.
- 항상 물리적인 장치에서 실행할 수 없기 때문에 임시로 가상으로 컴퓨터를 만들어 놓고 사용하는 경우가 많아서 이를 연습해보는 미션이다.
- 우분투 계열의 리눅스를 설치해서 연습해본다. (페러렐즈 평가판이나 UTM을 이용하자)
ssh 관련 정리
- 외부 IP vs 내부 IP
- 몇 팀원들이 메인 컴퓨터에서 VM을 설치하고 노트북 등 다른 네트워크에 연결된 컴퓨터에서 ssh 연결을 시도할 때 안되는 경우가 있었다.
- 궁금해서 아이폰에서 가상머신의 ip로 ssh 연결을 시도하자 연결이 안되었다. 맥북에서는 내가 설치한 가상머신과 같은 네트워크에서 동작하고 있어서 가능했지만, 휴대폰은 아니기 때문이다.
- 즉, 네트워크 외부에서 접근 가능하도록 포트포워딩을 해줘야 한다. 호스트의 IP와 port 정보/ 가상머신의 IP를 매핑시켜서 호스트가 설정한 IP와 port로 접근하면 가상머신으로 연결될 수 있도록 하는 것이다.
네트워크 수업에서 보던 개념이 실제로 등장하니 뭔가 신기했다.. 하지만 개념이 흐릿한게 네트워크 책을 한 권 구매해서 정독해야 되겠다.
대략적인 ssh 포트포워딩 과정
쉘 스크립트
GUI가 없는 환경에서 컴퓨터에 명령하기 위해 필요한 도구이다. 특히 자동적으로 작업하는 것들을 기록하기 위해 필요하다.
배포하거나 리눅스 환경에서 작업할 때 항상 어려웠던 쉘 스크립트였는데 (무지성 받아쓰기) 이번 기회에 시작해서 제대로 공부해봐야겠다.
리눅스 명령어
리눅스 명령어 관련된 정리글을 지속적으로 관리해보려고 한다. 쓸 때마다 찾아보기만 했더니 시간도 낭비되고 기억이 잘 안 남는거 같다 ...