데브옵스를 위한 리눅스

2023. 6. 8. 17:07Dev

728x90
반응형

Introduction

  • 이번 퀘스트를 통해 리눅스의 기본적인 구조와 기능에 대해 공부할 수 있습니다.

Topics

  • 리눅스의 기본 커맨드
    • cd, pwd, ls, cp, mv, mkdir, rm, touch, ln, echo, cat, tail, find, ps, kill, grep, wc, df, du
    • 파이프(|) 문자
  • 리눅스의 기본적인 디렉토리 구성
    • /bin, /usr/bin, /boot, /dev, /etc, /home, /lib, /mnt, /proc, /root, /sbin, /usr/sbin, /tmp, /usr, /var
  • 쉘과 환경변수와 퍼미션
    • sh, bash, zsh
    • .bash_profile, .bashrc, .zshrc
    • env, set, unset, export
    • chmod, chown, chgrp
    • setuid, Sticky bit
  • 운영체제의 기초
    • 프로세스와 쓰레드
    • 파일 시스템
  • 리눅스의 배포판
    • Ubuntu, Debian, Redhat Enterprise, CentOS, Gentoo, Amazon Linux
    • 패키지 시스템: apt(.deb), yum(.rpm)
  • vi
    • i, w, q, u, d, p 명령

Resources

Checklist

  • 리눅스의 파이프 문자는 어떤 역할을 하나요?
  • 리눅스의 셸은 어떤 역할을 하나요? bash와 zsh는 어떻게 다른가요?
  • 리눅스의 권한 체계는 어떻게 이루어져 있나요?
  • 프로세스와 쓰레드는 무엇인가요?
  • 현재 실행되고 있는 프로세스들 중 PID가 1인 프로세스는 어떤 역할을 할까요? init과 systemd는 무엇이고 어떻게 다른가요?
  • 파일시스템이란 무엇일까요? 어떤 것이 있을까요? 지금 다루는 운영체제는 어떤 파일시스템을 쓰고 있나요?
  • 리눅스의 배포판이란 무엇일까요? 여러 가지 배포판들은 어떻게 생겨났을까요?
  • 리눅스의 패키지 시스템이란 무엇일까요? 이러한 시스템이 생긴 이유는 무엇일까요? deb과 rpm은 어떤 차이가 있을까요? RPM이 있는데 yum과 같은 시스템이 나온 이유는 무엇일까요?
  • vi는 어떤 에디터인가요? vi와 vim은 어떻게 다를까요? vi는 왜 모든 리눅스의 기본 에디터가 되었을까요?

Quest

  • 인스턴스 생성
    • t3.nano 등급으로 EC2 인스턴스를 생성해 봅시다! Amazon Linux 2, Ubuntu 두 가지를 각각 생성해 봅니다.
    • EC2 생성 과정에서 .pem 파일이 하나 생기는데, 이는 저에게 슬랙을 통해 공유해 주시면 됩니다.
    • 세 배포판은 어떻게 다른가요?
  • 리눅스 연습
    • Amazon Linux 2 인스턴스에서 위의 Topics의 기본 커맨드를 연습해 봅니다.
    • 리눅스의 기본 디렉토리들에 어떤 정보들이 있는지 둘러 봅니다.
    • zsh를 설치하고 .zshrc 파일을 포함해 여러 가지 설정을 해 봅니다.
    • Topics의 환경변수나 퍼미션 관련 커맨드를 연습해 봅니다.
    • 현재 실행되고 있는 프로세스들과 마운트 된 파일시스템들을 확인해 봅니다.
    • vi를 열어 여러 가지 기본 명령과 간단한 편집 방법을 연습해 봅니다.
  • 생성한 인스턴스 중 Ubuntu는 완전히 종료(Terminate)하고, Amazon Linux 2는 일단 꺼둡니다.

Advanced

  • 리눅스 외의 POSIX 호환 운영체제에는 어떤 것들이 있을까요? 그러한 운영체제들은 어떤 용도로 쓰일까요?
  • 윈도우를 제외하고, 최근에 발표된 운영체제들 중 POSIX에 호환되지 않는 운영체제도 있을까요?

 

 

https://youtu.be/u9RukvKZJZM

1. Server 접속을 위한 SSH
2. IP 를 확인하는 ifconfig 과 curl ifconfig.co
3. 간단하게 http 테스트가 가능한 curl
4. 도메인 조회를 하는 nslookup
5. 서버를 확인하는 telnet, ping
6. 서버와 커넥션을 확인하는 netstat
7. 프로세스를 확인하는 ps
8. 시스템정보를 확인하는 top, sar, free, df 
9. 리눅스의 서비스를 관리하는 systemd
10. 리눅스 파일 권한을 관리하는 chmod, chown