본문 바로가기

Personal/DevOps

(16)
90DaysOfDevOps 39~40일차 (작성 중) Day 39 - Viewing, unstaging, discarding & restoring보기, 스테이징 해제, 삭제 및 복원- git diff --staged 명령어로 우리가 수행한 모든 변경 사항과 추가하거나 삭제한 모든 새 파일이 표시된다.히스토리 보기- git log 명령어로 작업 중인 branch와 작성자, 날짜, commit 메시지를 확인할 수 있다.commit 보기- git show 명령어를 사용하면 commit을 검사하고 볼 수 있다.파일 스테이징 해제- git add . 을 사용했지만 아직 commit 하고 싶지 않은 경우 git restore --staged [파일 이름] 으로 해제가 가능하다.로컬 변경 사항 삭제하기- 변경을 했지만 변경이 마음에 들지 않아서 버리고 싶을 때 git ..
90DaysOfDevOps 35~38일차 Day 35 - The Big Picture Git - Version Control버전 제어- 버전 관리 장점은 프로젝트 이력을 추적할 수 있다는 것- git log를 사용해 리포지토리의 커밋과 코멘트, 지금까지 있었던 일을 확인할 수 있다.- 버전 제어는 백업이 아니다.Branch & Merge- branch를 사용하면 동일한 앱에 대해 두 개의 코드 스트림을 사용할 수가 있다.- merge 기능을 사용하면 다른 브랜치의 버전에 포함된 것을 합칠 수 있다.Git이란 무엇일까?- git은 소스 코드 또는 모든 파일의 변경 사항을 추적하는 도구로, 오픈소스 분산 버전 관리 시스템이기도 하다.- git init 명령어로 디렉토리를 초기화한다. - git add . 으로 디렉토리의 모든 파일과 폴더를 스냅샷에..
90DaysOfDevOps 23~24일차 Day 23 - Network Protocols네트워크 프로토콜- 인터넷 표준을 구성하는 일련의 규칙과 메시지이다.- ARP: 주소 확인 프로토콜, L2 네트워크에서 IP 주소를 MAC 주소로 연결한다.- FTP: 파일 전송 프로토콜, FTPS는 SSL/TLS 연결을 제공하는 더 나은 보안을 위한 프로토콜이다. 애플리케이션 계층에서 찾을 수 있다.- SMTP: 단순 메일 전송 프로토콜, 전자 메일 전송에 사용되는 메일 서버는 SMTP를 사용하여 메일 메시지를 보내고 받는다. Microsoft 365를 사용하더라도 SMTP 프로토콜이 동일한 용도로 사용된다는 것을 알 수 있다.- HTTP: 하이퍼 텍스트 전송 프로토콜, 웹 사이트에 쉽게 액세스할 수 있도록 해준다. HTTPS가 더 많이 사용된다.- SSL..
90DaysOfDevOps 21~22일차 Day 21 - The Big Picture DevOps and Networking- 네트워킹 기본 사항네트워크 장치- 호스트는 트래픽을 보내거나 받는 모든 장치이다.- IP 주소는 각 호스트의 신원이다.- 네트워크는 호스트 간에 트래픽을 전송하는 역할을 한다.- 스위치는 네트워크 내에서 통신을 촉진하고, 호스트 간에 패킷을 전달한다.- 라우터는 네트워크 간의 통신을 용이하게 한다. 최소한 허용되는 경우 서로에 대한 액세스 권한을 부여할 수 있게 해준다.스위치 대 라우터- 라우팅은 네트워크 간에 데이터를 이동하는 프로세스- 스위칭은 네트워크 내에서 데이터를 이동하는 프로세스- 관련 장비액세스 포인트방화벽로드 밸런서레이어 3 스위치IDS/IPS프록시가상 스위치가상 라우터앞으로 알아볼 것OSI 모델네트워크 ..
90DaysOfDevOps 20일차 Day 20 - Dev workstation setup - All the pretty things - dotfiles, ZSHDotfiles- 리눅스 시스템과 응용 프로그램이 구성 파일- .으로 시작하고 기능 관리를 돕는다.ZSH- bash보다 몇 가지 이점이 있는 shell이다.- 대화형 탭 완성, 자동 파일 검색, 정규식 통합, 명령 범위 정의하는 고급 단축어 및 풍부한 테마 엔진과 같은 기능이 있다.- sudo apt install zsh 로 zsh를 설치할 수 있다.- bash의 확장판이다.OhMyZSH- zsh 구성을 관리하기 위한 무료 오픈 소스 프레임워크- sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master..
90DaysOfDevOps 18~19일차 Day 18 - SSH & Web Server- 원격 시스템과의 보안 터널 구축을 돕기 위해 모든 사용자가 알아야 할 SSH의 주요 기본 개념들을 살펴보자.SSH 소개- 보안 shell- 네트워킹 프로토콜- 보안 통신 허용- 모든 네트워크 서비스를 보호- 일반적으로 원격 command line 액세스에 사용- 클라이언트와 서버 간의 보안 터널을 제공하여 공격자가 정보를 가로챌 수 없게 한다.시스템에 브리지 네트워크 어댑터 추가하기- 브릿지 네트워크 어댑터를 추가해줘야 virtual box VM과 ssh를 동시에 사용할 수 있는 것 같다.putty로 ssh 연결하기- 사진들이 2022 기준이라 현재는 프로그램의 ui가 달라졌던 걸로 기억한다.원격 접속 - SSH 키- ssh-keygen -t ed25519..
90DaysOfDevOps 16~17일차 Day 16 - Managing your Linux System, Filesystem & Storage- 업데이트, 소프트웨어 설치, 시스템 폴더의 용도와 스토리지에 대해 살펴보자.운영체제 업데이트 방법과 소프트웨어 설치- sudo apt-get update 명령을 실행하면 된다.- figlet 설치로 소프트웨어 설치 방법을 알아보자.- figlet: 텍스트 배너를 생성하는 프로그램이다.파일 시스템 설명- Linux는 구성 파일들로 이루어져 있으며, 변경하고자 하는 내용이 있다면 해당 구성 파일을 수정하면 된다.- Windows 운영체제는 C 드라이브가 루트 디렉토리인데, Linux 운영체제에서는 / 디렉토리가 중요한 위치다.- /bin: 바이너리의 줄임말로, 시스템에서 필요한 실행 파일, 도구 및 바이..
90DaysOfDevOps 14~15일차 Day 14 - The Big Picture DevOps and Linux- DevOps나 운영 역할 관점에서는 대부분 Linux를 다룰 가능성이 높다.HashiCorp Vagrant- CLI 유틸리티로 가상 머신의 수명 주기를 관리한다.- 가상화 환경을 관리하고 프로비저닝하는 도구이다.- Vagrantfile이라는 파일을 작성하여 가상 머신의 설정 및 프로비저닝을 관리하며, 이 파일은 버전 관리 시스템에 저장하여 다른 개발자와 공유할 수 있다.Vagrant.configure("2") do |config| config.vm.box = "chenhan/ubuntu-desktop-20.04" config.vm.provider :virtualbox do |v| v.memory = 8096 v.cp..