DevOps BootCamp 171

시스템 모니터링

● uname : 시스템과 커널의 정보 - a 옵션 : 커널 이름, 노드 이름 ,커널 릴리즈, 커널 버전, 프로세서, 하드웨어 플랫폼, 운영체제 정보를 알 수 있다. ● top : 운영체제 작업 내역 모니터링 - 현재 OS의 상태를 아래와 같이 출력, 상단부에는 전체의 요약이 있으며 아래에는 각 프로세스마다 구체적인 내용을 포함 - 요약영역 : 전체 프로세스가 OS에 대해서 리소스를 어느정도 차지하고 있는지를 알려줌, 대표적인 내용은 시간, 유저, 로드 애버리지(Load Average), 태스크(Tasks), CPU, 메모리(memory) 로드 레버리지 : CPU가 수행하는 작업의 양을 순서대로 1분, 5분, 15분 간격의 평균값으로 표시 테스크 : 현재 프로세스들의 상태, OS에 따라 Process라고..

서비스 관리

★ 데몬과 서비스 데몬 : 리눅스 환경에서 시스템이 초기화가 끝난 후, init 이라는 특별한 프로그램에 의해 자발적으로 백그라운드에서 실행 하는 프로그램을 의미 > 백그라운드에서 작동하는 프로세스 - 보통 syslogd, httpd 처럼 프로그램 이름 끝에 d가 붙음 데몬이 수행하는 작업 ● 하드웨어 장치 관리 ● 보조 기억장치와 디렉토리의 연결(마운트) ● 네트워크를 통한 프로세스간 통신(소켓) ● 애플리케이션 수준의 서비스 제공 ★ 대표적인 데몬의 예 : 웹 서버(httpd) - busybox : 각종 유틸리티를 담은 일종의 “스위스 군용 칼”과 같은 리눅스용 애플리케이션 # index.html라는 HTML 파일을 하나 만듭니다 $ echo "나의 첫 HTML 페이지" > index.html # 웹..

프로세스 관리

멀티 프로세스 : 애플리케이션 단위의 멀티 태스킹 멀리 스레드 : 애플리케이션 내부의 멀티 태스킹 ● 프로세스 실행 방식 포그라운드 : 터미널에서 작업할 때, 일반적으로 사용자가 명령을 입력하면 이를 해석하여 실행하고 결과를 화면에 출력 백그라운드 : 프로세스가 실행되는 동안 뒤에서 다른 프로세스가 실행, 터미널에서 여러 개의 프로세스를 동시에 실행 -명령어 : 멍령어 뒤에 &을 붙임, 터이널 세션 종료될 때 같이 프로그램 종료. - 앞에 nohup 명령어 쓰면 터미널 세션 종료되도 작업 종료될 때까지 프로세스 실행 ★ 프로세스 목록 확인 - ps : 현재 실행 중인 프로세스 목록 확인 ● PID : 프로세스 번호 ● TTY : 프로세스 실행된 터미널의 종류와 번호 ● TIME : 프로세스 실행 시간 ●..

관리자로서의 리눅스

● 접근 제어 ● 업무 자동화 ● 재난 대비 ● 애플리케이션 배포 및 관리(운영체제의 보안 패치, 런타임의 버전 관리도 포함) ● 모니터링 서버 자원의 여유, 로그 파일 수집/분석, 해커의 접근, 보안 취약점 포함 ● 내부 문서 관리 ● 접근 정책 결정 ● 클라우드 서비스의 요금 관리 ● 하드웨어 추가 1. 접근 제어의 기본 ● 리눅스의 표준 접근 제어 모델 -규칙 파일은 소유자가 있다. 그러나 소유했다고 모든 권한을 갖는 것은 아니다. 파일은 생성한 사람이 소유한다. 관리자만 할 수 있는 일이 있다 whoami : 사용자 확인 ● 홈 디렉토리 경로 : /home/name 루트 디렉토리 : / , uid : 0 사용자 디렉토리 : ~ ● 파일 및 디렉토리의 소유자(사용자) 및 그룹 /etc/passwd ..

출력 관련 명령어

1. 표준 스트림 ● 스트림 : 프로그램을 드나드는 데이터를 흐름으로 표현한 것 ★ 일반적으로 동작하는 프로그램은 실행 시, 세 개의 스트림이 열림. > 표준 스트림 - 1. 입력을 위한 스트림(Standard input, STDIN, 0) - 2. 출력을 위한 스트림(Standard Output, STDOUT, 1) - 3. 오류 메시지 출력을 위한 스트림(Standard Error, STDERR, 2) ★ 리눅스 의 /dev 디렉토리에 세 개의 표준 스트림을 파일 형태로 담고 있음 stdin(Standard Input) 표준 입력은 프로그램으로 들어가는 입력값의 데이터(보통은 문자열) 스트림. 리눅스 쉘은 표준 설정이 키보드임, 그러나 모든 프로그램이 입력을 요구하지 않으며, 예로는 비밀번호를 입력할..

패키지 매니저

패키지 - 여러 파일이 담겨있는 하나의 상자. ex) 알집, 반디집 - 패키지 구성 ● 프로그램 파일 ● 프로그램 설치 파일 ● 프로그램 설치 설명서 ● 프로그램에 대한 정보를 담은 파일 패키지 매니저 - 패키지의 설치, 변경, 삭제 등 관리를 편리하게 해주는 도구. ex) 앱 스토어 우분투 - apt ★ 주요 명령어 패키지 목록 갱신 : apt update(관리자 권한 필요) 업그레이드 가능한 패키지 목록을 출력 : apt list --upgradable(관리자 권한 필요) 전체 패키지 업그레이드 : apt upgrade(관리자 권한 필요) 특정 패키지만 업그레이드 : apt --only-upgrade install 패키지이름(관리자 권한 필요) 패키지 설치 : apt install 패키지이름(관리자 ..

우분투 CLI 명령어

★리눅스 기본 명령어 - pwd(print working directory = 폴더) : 현재 폴더 위치 확인하기 # > 주석 -mkdir : 폴더 생성하기 - ls(list) : 특정 폴더에 포함된 파일이나 폴더 확인하기 ls -a(all) : 모든 폴더나 파일 출력 ls -l : 폴터나 파일의 포맷을 전부 표현 - d : 폴더 - - : 파일 - cd(change directory) : 폴더를 다른 폴더로 변경 - touch : 파일 생성하기 $ touch hi.txt [커맨드] touch 명령어로 파일 hi.txt를 생성합니다. - nano hi.txt : 편집기 실행 $ cat hi.txt - cat : 파일 내용 출력 - rm : 폴더나 파일 삭제하기 단일 파일 삭제 가능 ★ rm -rf 디렉토..

왜 리눅스인가?

● 리눅스가 많이 쓰이는 이유 1. 오픈 소스, 그에 따른 뛰어난 보안성과 커뮤니티의 지원 2. 뛰어난 안정성과 유지 보수성 - 윈도우 등의 경우 보안 패치를 적용하고 시스템의 재부팅을 요구하는 경우가 빈번하나, 리눅스는 시스템을 재부팅해야 하는 경우가 드물다. 3. 높은 이식성 4. 클라우드 지탱하는 기술 장점 1 : GUI보다 빠른 작업 $ mkdir codestates CLI를 이용해 생성한 폴더나 파일 > 컴퓨터에 생성되는 폴더나 파일 장점 2 : 단순한 출력 및 용이한 원격 접속 ● 리눅스의 종류 Debian(데비안) - 별도의 패키지 관리 도구(apt, dpkg)를 이용해 패키지 업데이트나 의존성 및 보안 관련 업데이트를 자동으로 수행 Ubuntu(우분투) - 데비안 리눅스를 기반으로 제작, ..

day 2 발표 자료

[C126] (Dev팀과 Ops팀) 각 팀의 목표는 어떻게 다른가요? 두 팀의 목표에서 상충되는 부분이 존재하나요? Dev는 development의 약자로 코드 개발, 배포, 업데이트, 새로운 기능 제공 등 변화에 대한 관심이 많고, Ops는 Operations의 약자로 앱의 안정성, 인프라 관리, 모니터링 등 안정성에 관심이 많습니다. 서로 다른 목표 때문에 변경과 서비스를 관리하는 방식이 다르고 별도의 프로그램을 사용하게 됩니다. https://www.slideshare.net [C127] DevOps를 실현 가능하게 하기 위해 기술이 필요한 부분과, 기술이 아닌 문화로 풀어야 할 부분은 각각 무엇인가요? CI/CD 파이프라인에 근거해 답해봅시다. CI 과정에서 code는 코드 저장소에 코드를 pus..

DevOps BootCamp 2023.03.08

(CodeStates) DevOps - day2

Plan → Code → Build → Test → Release → Deploy → Operate 배포 > 웹 애플리케이션 형태 = 인터넷에 연결 => 서버 존재 서버 작동 관점 1. 경로 처리 경로 : URL에서 도메인 이름(ex - https://sanghyup.tistory.com) 이후에 등장하는 문자열 웹 서버가 (ex - /manage/newpost/...) 확인, 정해놓은 규칙에 따라 서버 내의 자원을 제공 2. 서버 내의 자원 > 파일 or 브라우저에서 해석 가능한 형태의 자원. 보통 HTML 페이지, JSON과 같은 응답 제공 한 대의 서버 1. 자원이 여러 서버에 나뉘어져 있어서, 자원을 수집한 이후 한 페이지에 정리해서 보여줘야 할 경우 - > 목적에 따라 제공하는 자원이 다른 서버..

DevOps BootCamp 2023.03.08