데이터 파이프라인 구축 - 2회차

Suhyeon Lee·2025년 1월 10일
0

라이브 세션

목록 보기
36/37
post-thumbnail

1. 네트워크 설정

리눅스 깔기 전에 네트워크 설정은 ip 저랑 같을 필요 없습니다. 최초 생성한 ip 그대로 사용하심 됩니다!



2. VM 생성

1) VirtualBox를 실행하고 '새로 만들기' 클릭

2) 가상 머신 만들기 창에서 '이름', '폴더', 'ISO 이미지' 등을 선택

  • 이름: 가상머신 이름
    • test01
  • 폴더: 가상머신이 설치될 폴더
  • ISO 이미지: 사전에 다운로드한 iso 파일 경로 선택

3) 무인 게스트 OS 설치가 가능한 경우 아래 이미지와 같이 정보를 입력할 수 있음

  • 정보를 입력하면 위 정보로 OS가 설치됨

4) 기본 메모리, 프로세서 등을 설정

5) 하드 디스크 크기 지정

6) 만들어질 가상 머신 정보 요약 내용이 맞으면 완료 클릭

3. Ubuntu 터미널이 열리지 않을 경우

Ubuntu Locale 한글로 바꾸기
리눅스 기초 개념

직접 시스템 파일을 수정해주는 방법

nano나 vim 등으로 /etc/default/locale 파일을 수정

1) `CTRL+ART+F3': root 사용자로 로그인

  • 텍스트 모드의 2번째 가상 콘솔 창이 나타나는 걸 확인하면 다음 단계로
    (첫 번째 콘솔 창은 Server에서 로그인 후 나타나는 X 윈도우 창이다.)

CTRL+ART+F1

2) root 로그인 한 후 sudo nano /etc/default/locale 명령어 입력 → 텍스트 에디터가 열리는 걸 확인

  • LANG="en_US"라는 행을 LANG="en_US.UTF-8로 변경 후 Ctrl+X를 눌러 변경 사항을 저장하라는 메시지가 나오면 'Y'를 입력하여 저장하고 에디터를 종료
  • Ctrl+m을 눌러 append 이후 다시 확인
    sudo locale-gen --purge
  • 재설정 이후 sudo reboot로 재부팅

Locale이란?
세계 각 나라에서 가지고 있는 언어, 날짜, 시간 등에 관해 i18n(국제화)를 통해 같은 프로그램이더라도 OS별로 설정되어있는 것에 따라 어떤 방식으로 출력할지 결정하게 되는 것
단순히 언어 번역뿐만 아니라 시간과 날짜등을 표시하는 형태도 결정
프로그래머가 한 코드에서 각 국가와 언어권에 맞도록 출력 형태를 결정하도록 OS에서 안내해 주는 것
한국의 Locale은 보통 ko_KR.UTF-8

3)

4. 생성한 유저(test01) Sudo 권한 부여

$ su -
$ sudo chmod 775 /etc/sudoers

  • chmod 775
    • change mode 775
      • 775 중 맨 앞의 7
        → 시스템 관리자 : 7 (읽기(+4), 쓰기(+2), 실행(+1))
      • 775 중 가운데 7
        → wheel(관리자 권한 대행 그룹) : 7 (읽기(+4), 쓰기(+2), 실행(+1))
      • 775 중 맨 마지막 5
        → everyone : 5 (읽기(+4), 실행(+1))

Linux : Ubuntu : Sudo User 추가 방법, 예제, 명령어
User 관련

  • sudo

    • 신뢰할 수 있는 사용자가 루트 또는 다른 사용자로 명령을 실행할 수 있는 명령줄 프로그램
  • 사용자에게 sudo 권한을 부여하는 두 가지 방법
    1) 사용자를 sudoers 파일에 추가
    2) sudoers 파일에 지정된 sudo 그룹에 사용자를 추가하는 것

  • sudoers 파일

    • 권한 수준뿐만 아니라 sudo 권한으로 부여된 사용자 및 그룹을 제어하는 정보가 포함되어 있음
    • 본적으로 Ubuntu 및 Linux Mint와 같은 Debian 기반 배포에서는 "sudo" 그룹의 구성원에게 sudo 액세스 권한이 부여됨
  • Ubuntu에서 사용자에게 sudo 권한을 부여하는 가장 쉬운 방법은 사용자를 "sudo" 그룹에 추가하는 것

sudoers 파일에 사용자를 추가

  • 사용자 및 그룹의 sudo 권한은 /etc/sudoers 파일에 정의됨
    • sudoers 파일에 사용자를 추가하면 명령에 대한 사용자 지정 액세스 권한을 부여하고 사용자 지정 보안 정책을 구성할 수 있음
  • sudoers 파일을 수정하거나 /etc/sudoers.d 디렉토리에 새 구성 파일을 생성하여 사용자 sudo 액세스를 구성할 수 있음
    • 이 디렉터리의 파일은 sudoers 파일에 포함됨
  • 항상 visudo를 사용하여 /etc/sudoers 파일을 편집
    • 이 명령은 파일을 저장할 때 구문 오류가 있는지 확인하고 오류가 있으면 파일이 저장되지 않음
      ※ 텍스트 편집기로 파일을 여는 경우 구문 오류로 인해 sudo 액세스 권한이 손실될 수 있기 때문에 주의해야 함!
  • 일반적으로 visudo는 vim을 사용하여 /etc/sudoer를 열지만 vim에 대한 경험이 없고 파일을 나노로 편집하고 싶은 경우 EDITOR=nano visudo를 실행하여 기본 편집기를 변경
  • sudoers 파일을 편집하는 대신 /etc/sudoers.d 디렉토리에 권한 부여 규칙을 사용하여 새 파일을 만들어 동일한 작업을 수행할 수 있음
    echo "username ALL=(ALL) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/username
    • sudoers 파일에 추가하는 것과 동일한 규칙을 추가
      • NOPASSWD는 실행할때마다 패스워드를 묻지 않겠다는 뜻

사용자가 sudo를 통해 특정 명령만 실행할 수 있도록 할 수도 있음

# /etc/sudoers
username ALL=(ALL) NOPASSWD:/bin/mkdir,/bin/rmdir

→ mkdir 및 rmdir 명령만 허용

5. 생성한 VM 네트워크 설정

  1. 어댑터 1

  2. 어댑터 2

  3. Ubuntu 네트워크 설정
    1)

    2)

    3)

    → Terminal에서 ifconfig 입력해서 나오는 내용 중 enp0s8에 있는 주소 그대로 입력하면 됨

  • Address: inet
  • Netmask: netmask
  • Gateway:boardcast

4) window cmd로 ping 입력해 통신 확인

5) openssh-server 설치
sudo apt install openssh-server

6) mobaxterm을 통해 접근

네트워크 구조

추가 공부

  • Error 해결
    /usr/bin/xauth: file /home/test01/.Xauthority does not exist
  • SSH 세션을 종료하는 Linux 명령

    • exit
      • SSH 연결을 종료하는 일반적인 방법
      • Linux 시스템은 물론 다양한 기타 장치 및 운영 체제와의 연결을 끊는 데 사용
      • 대부분의 관리자가 사용하는 방법
    • logout
      • SSH 세션을 종료하는 두 번째 방법
      • Linux 시스템에서는 작동하지만 운영 체제가 다른 다른 장치에서는 작동하지 않을 수 있음
        (일반적으로 작동합)
    • Ctrl + D 단축키
      • 파일 끝 명령을 실행 → SSH 세션이 즉시 종료됨
      • 키보드 단축키와 효율성 극대화를 좋아하는 사용자에게 추천
    • ~. 문자: 응답하지 않는 SSH 세션 종료
      • SSH 연결이 정지된 경우 위의 세 가지 방법이 작동하지 않을 수 있음
      • 이 경우 ~.를 입력하여 SSH 세션을 종료하고 로컬 명령줄 터미널로 돌아갈 수 있음
        (SSH 연결의 이스케이프 문자)
  • ping
    내용 출처

    • 상대 컴퓨터에 일정한 크기의 패킷(32바이트)을 보내어 상대 컴퓨터가 응답하는지를 점검하는 명령어
    • 상대 컴퓨터의 동작 여부를 확인하거나 상대 컴퓨터까지의 네트워크 상태를 점검할 수 있음
      ping [상대 컴퓨터의 IP 주소] 또는 [상대 컴퓨터의 도메인 네임]
    • ping을 계속 날리려면 ping -t [주소]
      • 중지하려면 Ctrl+C
    • ping 8.8.8.8 사용하는 3가지 이유
      (8.8.8.8은 구글의 DNS 서버 주소인데 네트워크 테스트를 위해 널리 사용되고 있음)
      1) 인터넷 통신 확인
      2) DNS 테스트
      3) 속도 테스트
profile
2 B R 0 2 B

0개의 댓글

관련 채용 정보