본문 바로가기

Data Engineering/Hadoop Ecosystem

[Airflow Master Class] WSL 설치 & 리눅스(Linux) 기본 명령어

WSL이란 Windows Subsystem for Linux의 줄임말로 Windows에서 리눅스 환경을 실행할 수 있게 해주는 기능이라고 보면 된다.

 

Airflow는 Windows에 직접 설치가 불가능하기 떄문에 WSL 설치가 필수적인데, 여유가 되는 분들은 가상화 VM(Virtual Machine) 혹은 AWS, GCP와 같은 클라우드 서비스를 활용해서 Airflow를 설치해도 된다.

 

WSL 설치 방법은 간단하다. 본인의 Windows가 10 버전 2004 이상 또는 Windows 11 버전인지 먼저 체크한 뒤, PowerShell을 관리자 권한으로 실행해서 "wsl --install" 명령어를 통해 쉽게 설치할 수 있다. (처음 설치를 하면 UNIX username과 password를 설정하라고 뜰텐데, 본인이 사용할 username과 password를 설정해주면 된다)

 

https://learn.microsoft.com/ko-kr/windows/wsl/install

 

WSL 설치

wsl --install 명령을 사용하여 Linux용 Windows 하위 시스템을 설치합니다. Ubuntu, Debian, SUSE, Kali, Fedora, Pengwin, Alpine 등 원하는 Linux 배포판에서 실행되는 Windows 머신에서 Bash 터미널을 사용할 수 있습니

learn.microsoft.com

(위 MS 홈페이지에 WSL 설치와 관련된 내용이 자세히 나와있으니 참고하길 바란다!)

 

추가적으로 WSL 설치 후에 한 가지 확인해야 할 사항이 있는데, PowerShell을 관리자 권한으로 실행한 뒤 "wsl -l -v" 명령어를 실행했을 때 아래와 같이 VERSION 밑에 숫자 2가 떠야한다. (숫자 1이 뜬 경우, 추후에 Docker 환경에서 Airflow를 실행할 때 오류가 발생할 수 있기 때문에..) 만약 숫자 1이 뜬다면 위 MS 홈페이지에서 "실행 중인 WSL 버전 확인" 부분을 참고하여 WSL 버전을 2로 업데이트 해줘야 한다!

 

WSL 설치 후, 체크가 필요한 사항

 

WSL 설치를 마치면 시작 화면에서 "WSL"를 검색했을 때, 아래와 같이 귀여운 펭귄 이미지가 보일 것이다. 해당 프로그램을 클릭하면 WSL가 바로 실행된다.

 

WSL 설치 후에 확인 가능한 귀여운 펭귄 이미지
WSL를 실행하면 뜨는 창

 

위와 같은 창이 뜨면 WSL 설치를 성공적으로 마친 것이다. 그렇다면 이제 기본적인 리눅스 명령어들에 대해 정리해 보겠다.

 

기본적으로 아래의 명령어들은 리눅스를 사용할 때 많이 쓰이기 때문에 반드시 알아둬야 한다!

 

  1. pwd - 현재 디렉토리 경로 출력
  2. ls - 현재 디렉토리의 파일 목록 출력
    • 리눅스에서는 숨김 파일 이름 앞에 "."이 붙는데, "-a" 옵션을 사용하면 이처럼 숨겨진 파일까지 모두 조회할 수 있도록 해준다.
    • 또한 "-l" 옵션은 파일 목록을 자세하게 보고자 할 때 사용한다.
      • 참고로 해당 옵션을 써서 출력되는 결과 맨 앞 부분이 "d"(ex. drwxr-xr-x)로 시작하면 디렉토리, "-"(ex. -rw-r--r--)로 시작하면 파일이라고 보면 된다.
    • 일반적으로 위 두 가지 옵션을 모두 적용한 "-al" 옵션을 많이 사용한다. (ex. "ls -al")
  3. cd - 디렉토리 변경
    • 변경할 디렉토리를 입력하지 않으면 default로 Home 디렉토리를 잡는다.
  4. mkdir - 디렉토리 생성
  5. touch - 새로운 파일 생성
  6. rm - 파일 삭제
    • 디렉토리를 삭제하고자 하는 경우, "-r" 옵션을 같이 써줘야 한다. (ex. "rm -r 디렉토리")
  7. cp - 파일 또는 디렉토리 복사
    • 파일 복사: "cp file1 file2"
    • 디렉토리 복사(rm 명령어와 동일하게 "-r" 옵션을 같이 써줘야 함): "cp -r dir1 dir2"
  8. mv - 파일 이동 / 이름 변경
    • 파일 이동: "mv file1 dir2"
    • 파일 명 변경: "mv file2 file3"
    • 참고로 타겟 명("mv a b"에서 b 부분)에 해당하는 디렉토리 명이 존재하면 "파일 이동"으로 명령어를 인식하고, 해당하는 디렉토리 명이 존재하지 않으면 "파일 명 변경"으로 명령어를 인식한다.
  9. tar - 파일 또는 디렉토리를 압축 및 해제
    • 파일 압축: "cvf" 옵션
      • ex) "tar cvf dir1.tar dir1"
        • dir1.tar: 내가 만들 압축 파일 명
        • dir1: 압축 대상 디렉토리
    • 파일 압축 해제: "xvf" 옵션
      • ex) "tar xvf dir1.tar"
        • dir1.tar: 압축 해제 대상

여기까지 해서 이번 포스팅을 마치도록 하겠다.

 

<Reference>

- 김현진님의 인프런 Airflow 마스터 클래스 강의