[Codesquad] CS10 - 220106 정리

Suntory·2022년 1월 7일
0

TIL

목록 보기
5/57

220106 미션 소개

로컬 컴퓨터와 리모트 컴퓨터

  • 배포를 해야하는 환경에서는 로컬에서 작업한 것을 리모트 컴퓨터에 복사해야 하는 상황이 생긴다. 그럼 로컬 환경에서 작업한 코드를 리모트 환경에서도 돌아갈 수 있도록 해야 한다.
  • 항상 물리적인 장치에서 실행할 수 없기 때문에 임시로 가상으로 컴퓨터를 만들어 놓고 사용하는 경우가 많아서 이를 연습해보는 미션이다.
  • 우분투 계열의 리눅스를 설치해서 연습해본다. (페러렐즈 평가판이나 UTM을 이용하자)

ssh 관련 정리

  • 외부 IP vs 내부 IP
    • 몇 팀원들이 메인 컴퓨터에서 VM을 설치하고 노트북 등 다른 네트워크에 연결된 컴퓨터에서 ssh 연결을 시도할 때 안되는 경우가 있었다.
    • 궁금해서 아이폰에서 가상머신의 ip로 ssh 연결을 시도하자 연결이 안되었다. 맥북에서는 내가 설치한 가상머신과 같은 네트워크에서 동작하고 있어서 가능했지만, 휴대폰은 아니기 때문이다.
    • 즉, 네트워크 외부에서 접근 가능하도록 포트포워딩을 해줘야 한다. 호스트의 IP와 port 정보/ 가상머신의 IP를 매핑시켜서 호스트가 설정한 IP와 port로 접근하면 가상머신으로 연결될 수 있도록 하는 것이다.
      네트워크 수업에서 보던 개념이 실제로 등장하니 뭔가 신기했다.. 하지만 개념이 흐릿한게 네트워크 책을 한 권 구매해서 정독해야 되겠다.
      대략적인 ssh 포트포워딩 과정

쉘 스크립트

GUI가 없는 환경에서 컴퓨터에 명령하기 위해 필요한 도구이다. 특히 자동적으로 작업하는 것들을 기록하기 위해 필요하다.
배포하거나 리눅스 환경에서 작업할 때 항상 어려웠던 쉘 스크립트였는데 (무지성 받아쓰기) 이번 기회에 시작해서 제대로 공부해봐야겠다.

  • 간단한 쉘 스크립트 예제
    • hello.sh
    #!/bin/bash	# 이 script를 bash shell로 실행시킬게
    echo "Hello"	# Hello를 출력해
    • 실행 명령어
    chmod +x hello.sh 
    ./hello.sh
    기본적으로 파일을 만들면 -rw-rw-r--의 권한을 가지므로, chmod +x를 통해 실행권한을 넘겨줘야 한다.

리눅스 명령어

리눅스 명령어 관련된 정리글을 지속적으로 관리해보려고 한다. 쓸 때마다 찾아보기만 했더니 시간도 낭비되고 기억이 잘 안 남는거 같다 ...

profile
천천히, 하지만 꾸준히 그리고 열심히

0개의 댓글