학습 목표

  • 리눅스/유닉스 환경에 대해 학습하고, 터미널로 리눅스 환경에 익숙해지는 것이 목표다.

왜 필요한가?

리눅스/유닉스 개발 환경은 백엔드 개발자들에게 익숙한 개발 환경이지만 요즘은 윈도우즈나 macOS에서도 비슷한 환경을 그대로 제공한다. 터미널로 서버 환경에 원격으로 접속해서 원하는 작업을 할 수 있도록 친숙해져야 한다.
우선 리눅스/유닉스의 역사부터 살펴보고, 리눅스를 직접 설치해서 쉘 환경에 익숙해지고 스크립트로 원하는 동작을 자동화할 수 있어야 한다.

사전지식

없음

기능요구사항

  • 각자 컴퓨터 환경에서 사용할 수 있는 가상 환경(Virtual Machine)에서 리눅스 운영체제를 설치한다.

    • 권장 설치 운영체제 : ubuntu 22.04 이상

    • 리눅스를 사용하고 있거나 이미 설치한 적이 있더라도 초기화할 수 없다면 가상 환경에 새로 설치하길 권장한다.

  • 이번 미션은 두 단계로 나눠져 있다.

  • 스스로 할 일을 체크리스트로 만들고, 단계를 진행하면서 작업한 명령어, 스크린 캡처, 진행 과정, 실행 결과를 README.md에 업데이트한다.

    • 스크립트 파일, 마크다운 문서와 이미지 등을 모두 포함해서 학습저장소에 저장한다.

    • 단, 컴파일한 바이너리 실행 파일은 포함하지 않는다.

프로그래밍 요구사항

가상 환경 설치하기

  • 각자 컴퓨터 환경에서 사용할 수 있는 가상 환경(Virtual Machine)에서 리눅스 운영체제를 설치한다.

    • 권장 설치 운영체제 : ubuntu 22.04 이상
  • 가상 환경에 원격으로 접속할 수 있도록 ssh 설정을 하고, root 계정 이외에 본인 접속할 계정을 추가한다.

  • 본인 계정에 대한 패스워드를 설정한다.

  • 로컬 컴퓨터에서 가상 환경 리모트 컴퓨터에 ssh로 접속해서 본인 계정으로 로그인한다.

  • 본인 계정으로 /scrap 디렉토리를 생성한다.

    • 764 모드로 접근 권한을 바꿔서, 본인 계정에서도 쓸 수 있도록 설정한다.
  • 가상 환경에서 터미널을 열고 /scrap 경로에 대해 권한을 확인하는 화면을 캡처한다.

  • 가상 환경에 오늘 날짜 + 서울 시간대로 지정해서 로컬과 가상 환경이 동일하도록 맞춘다.

  • 가상 환경에서 터미널을 열고 date 명령으로 오늘 날짜를 출력한 상태로, 화면을 캡처한다.

  • 가상 환경에 node.js 를 설치하고 버전을 확인한다.

  • 어제 작성한 day1 미션 js파일을 복사해서 실행한다.

무료 가상 환경

단, M1/M2 처럼 ARM 기반 CPU는 지원하지 않음.

유료 가상 환경

유료 도구 평가판을 활용해도 된다.

예상결과 및 동작예시

Ubuntu Desktop

Ubuntu Server

추가 요구 사항

가상환경에서 설치가 계속 안 될 경우 대처 방안

  • 다른 버전의 리눅스 혹은 다른 배포판을 설치해 본다.

  • USB 메모리 등을 이용해서 가상환경이 아닌 직접 설치를 해 본다.