제수기 - 제발 수업내용을 기억해라 / 단순 수업정리 시리즈
리눅스의 구조. 커널이 운영체제
커널로 시작해서 OS를 만들었다.
배포판들도 레드햇 계열, 데비안 계열 등으로 나눠진다. 우리가 오늘 써볼 거는 데비안 계열.
이걸 써볼 거면 제일 간단한 방법은 여러가지가 있는데
1. 컴퓨터 + ubuntu 직접 설치
2. OS + 가상머신
3. 클라우드 컴퓨터 하나 임대해서 + ubuntu 설치
우리는 3번 해보려고 하는 거.
아 그리고 요즘 윈도우에서는 리눅스 환경 설치를 쉽게 해주려고 WSL
이라는 걸 제공한다. 그런데 배포환경과 조금 이질적인 게 있어서 우리는 3번으로 가겠다. 나중에 WSL도 써보면 좋다.
프리티어 중요. 1년 뒤에 과금되므로 그 전에 해제 중요.
우리가 쓸 OS는 이걸로 정했다.
t2micro는 메모리 등을 선택하는 거다. 이건 프리티어로 쓸 수 있는 게 t2micro 밖에 없다.
우리는 프라이빗 키 파일 형식을 .pem으로 하자.
다운받은 키는 다음에 ssh 접속할 때 쓸 거다.
443 포트로 접속 허용
HTTPS의 기본포트.80 포트로 접속 허용
HTTP 기본 포트
웹 접속을 한다고 하면 무조건 80고 443 중에 하나인데 HTTPS는 접속하고 싶다고 해서 되는 건 아니고 인증서를 발급 받아야 가능하다. 기본 포트라는 건 8000을 매번 써야 했었는데 기본포트로 쓸 때는 포트를 생략할 수 있다.
프로토콜마다 기본 포트가 하나씩 있다. 보통은 그대로 따라가는데 편의상 다른 걸로 바꾸던지 원래는 웹이면 80이어야 하는데 나중에는 바꾸겠지만. 개발은 장고는 8000을 쓴다던지 나름의 관례들이 있는 거다.
스토리지 구성
컴퓨터 하나 만드는 건데 인스턴트 시작하고 3초 안에 뚝딱. 엄청 빠르다.
보안 그룹에서
💥인바운드 규칙에 따라서 이 컴퓨터에 접속을 할 수도 있고 안 할 수도 있고 ssh 접속용이 22
-> 인바운드란? 컴퓨터에 들어오는 요청
우리가 지금 쓰는 게 22번 포트. 이 컴퓨터에 웹서버가 돌아가면 이런 포트를 쓴다. 지금은 없다. 들어왔을 때 들어오는 요청을 허용한다. 문지기 같은 역할
session > SSH
퍼블릭 IP 주소를 복사해서
모바액스텀의 Remote host에 넣기. specify username은 보통 ubuntu로 돼있다. prot는 변경 안 했으니까 22고.
이제 여기서 유저 프라이빗키 다운로드 받은 경로 넣기..
원래 서버는 그냥 까만 화면에서 시작된다. 왜냐 GPU가 컴퓨터를 무겁게 만든다.
모바액스텀같은 걸 ssh client라고 부른다.
http을 위한 프로그램이 있는 것처럼 ssh를 위한 프로그램. 다 암호화된 기법들이 적용돼 안전하다.
대표적으로 ssh 클라이언트 프로그램이 윈도우에서는 putty 라는 게 있다.
많은 어르신들이 이걸 쓰고 있는데 진짜 cni밖에 없다. 모멘텀은 파일구조도 보이고, 이런 것들을 GUI 형식으로 윈도우 탐색기를 사용하듯이 이런 것도 제공하고 status 같은 것도 하위 바에서 제공하고.. 기능들이 쓸만해서 이걸 선택했다. 푸티는 이런 거 없다. 물론 cri 명령으로 다 확인할 수는 있지만.
그래서 보면 연결이 되자 마자 시스템 인포메이션을 보여준다.
아래 바에서는 접속 아이피와 다르게, 이 컴퓨터의 내부망의 아이피 주소를 보여준다. CPU 사용량 메모리 사용량(전체 1g) 업로드 다운로드 하 때 데이터 속도 컴퓨터 킨 지 얼마 됐다 전체 사용량의 몇퍼 쓰고 있다 등등의 정보가 있음
지금 보면 프롬프트가 나오고 있는데 사용자 이름 컴퓨터 이름이 나온다. 아이피 내부망이 컴퓨터 이름으로 지금은 나오고 있다. ~$
이게 현재 경로.
~
는 경로상에 사용자 디렉토리를 가리킨다.
윈도우와 리눅스가 제일 다른 점은
- 윈도우의 디렉토리 구조는 맨 위가 드라이브가 돼있다. 가장 최상위 단위가 dirve
- 리눅스는 슬래시가 최상위다.
외부 드라이브 들어오면 mnt 어쩌구 저쩌구 이렇게 된다.
d
디렉토리
l
링크
맨 앞에 뭐 없으면 그냥 파일이라는 뜻
여기는 이제 권한정보가 3자리씩 9자리로 돼있다.
소유자, 소유자 그룹, 다른 것들 이렇게. 이어서 파일 크기, 마지막에 디렉토리 수정한 시기 이렇게 설명이 이어져 있다.
소유자 안에 있는 3개에는 각각 읽기쓰기실행 권한이 하나씩 거기에 들어가 있다.
/로 시작하면 절대경로
/없이 시작하면 상대경로
파일 참조에도 똑같이 적용됨.
vi
: 없으면 만들어주고 있으면 수정해줌
modal editor
모달의 의미는 mode가 있는거. 지금 들어가면 바로 그냥 기본 모드에서는 쓰기가 안 된다.i
를 입력하면 쓰기모드로 바뀐다.
esc
누르면 다시 노말 모드로 돌아온다.
노말모드 키가 따로 있다.
네비게이션 : hjkl
노말에서 커맨드모드로 : 눌러서 바꾼 다음에 wq를 입력하면 나가진다.
w는 쓰기고 q는 큇이다.
:wq
vim
기능을 써본건데, 정말 많다. 네비게이터라든지 하나씩 익혀가면 좋을 거 같다. vim도 읽어보기.
옛날에는 crm 창에서 명령어 미친듯이 치는 그 편집기라고 생각하면 된다. 나중에 서버 운영하거나 할 때 sh 서버 컴퓨터 접속해서 이 vim으로 수정하고 그런다. 그래서 미리 익혀두면 좋을 거 같다.
셸 커맨드도 연습해봐라. 여기서 코딩도 할 수 있게 된다.