전체 글 62

[ Linux ] Remote SSH

1. OpenSSHSSH v2 Connection Process(1) client에서 server로 접속 요청 (22번 포트)(2) server -> client 로 public key 전송. client에서 ~/.ssh/known_hosts에 키 저장(3) server client 키 교환 알고리즘 사용해서 키 교환(4) 대칭키가 생성되면 이후 모든 데이터 전송이 대칭키를 사용하여 암호화된다. ssh-keyscan -t  SSH Host key(=server의 신원을 인증하는데 사용되는 암호화된 키, 즉 server 의 공개키)를 원격으로 검색하고 client의 known_hosts 파일에 추가되는데 사용된다. SSH 연결하기 전 서버의 호스트 키를 확인할 수 있는 도구. 여기서 부분에는 dns에..

OS 2024.11.12

[ Linux ] CLI - Command Line Interface

CLI (Command Line Interface)텍스트 터미널을 통해 사용자와 컴퓨터가 상호 작용하는 방식. 작업 명령은 사용자가 컴퓨터 키보드 등을 통해 문자열의 형태로 입력하며, 컴퓨터로부터의 출력 역시 문자열의 형태로 주어진다. - Terminal : 텍스트 입출력 환경. CLI 를 제공하는 프로그램이다. 명령을 처리하고 결과를 출력할 수 없다. (비유: TV 화면)- Shell : command interpreter. CLI 명령을 해석 및 처리하고 결과를 출력하는 프로그램. (비유: TV 화면에서 실행 중인 프로그램)  Help Command Line1. command help : -h 또는 --help2. 메뉴얼 페이지 : man [section] commandhttps://man.arc..

OS 2024.11.11

[ Linux ] FHS - 파일시스템 계층 구조 표준

FHS-Filesystem Hierarchy Standard모든 디렉토리가 루트 디렉토리 (/)의 하위 디렉토리이다.특징: compartmentalization, writability, shareability/bin : 일반 사용자를 위한 명령어 바이너리/bin/bash : bash shell/bin/cat : display file contents/bin/cp : 파일 복사/bin/dd : copy files byte-wise (데이터의 모든 바이트를 그대로 복사. 주로 메모리에서 메모리로 데이터 복사할 때 사용)/bin/gzip : 파일 압축/bin/mount : 파일 시스템 마운트/bin/rm : 파일 삭제/bin/vi : 파일 편집/dev : 장치 파일character-oriented 파일 - 프..

OS 2024.11.10

[ Linux ] Boot Process - BIOS VS UEFI

Legacy BIOS (Basic Input/Output System)- 초기 컴퓨팅 부팅 시스템- POST 과정(Power-On Self Test) 통해 하드웨어 구성이 정상 작동 준비 확인 후 MBR 을 찾아 부트 로더를 시작하여 OS를 시작한다. 이러한 부팅 과정으로 인해 UEFI 시스템에 비해 비교적 부팅속도가 느리다.- 16비트로 동작되는 시스템이며, 최대 1MB의 메모리만 액세스할 수 있다. UEFI (Unified Extensible Firmware Interface)- BIOS 의 후속 기술로, 컴퓨팅 부팅 프로세스를 관리하는 펌웨어 인터페이스이다. Legacy BIOS에서 제공하는 기능도 모두 지원하고 있다.- 컴퓨터 하드웨어와 상호작용하기 위한 보다 진보적이고 확장 가능한 플랫폼을 제공..

OS 2024.11.09

[ Storage ] DAS NAS SAN

컴퓨터 사용자는 입력 데이터를 제공하고, 컴퓨터는 출력 데이터를 제공한다. 지속적인 데이터 수동 입력 문제점을 해결하기 위해 RAM, ROM 이라고 하는 컴퓨터 메모리 개념이 나왔지만, 스토리지 용량과 메모리 보존은 제한되어 있다.  비록 DRAM, SDRAM 을 통한 컴퓨터 메모리 발전이 있었지만, 여전히 비용, 공간, 메모리 보존에 있어 제약을 받는다. 컴퓨터 전원이 꺼지면 데이터를 보존하는 RAM의 기능도 종료된다. 이에 대한 솔루션이 바로 데이터 스토리지이다. 데이터 스토리지 사용의 이점- 데이터 스토리지를 통해 사용자는 디바이스에 데이터를 저장할 수 있다.- 컴퓨터의 전원이 꺼져도 데이터는 보존된다.- 컴퓨터에 수동으로 데이터를 입력하는 대신, 사용자가 스토리지 디바이스에서 데이터를 가져오도록 ..

OS 2024.11.08

[ Linux ] 로그 아키텍처 (Log Architecture)

Linux Logging System- Kernel logging (커널 로깅) : 주로 운영체게와 관련된 정보. 특히 커널 메시지나 시스템 서비스의 로그- User logging (사용자 로깅): 호스트 머신에서 수행된 프로세스와 서비스와 관련하여 기록된 로그  Kernel Logging- linux에서 시스템을 나눌 때 크게 [user space kernel space]로 분할해서 볼 수 있다.- kernel space logging 은 kernel의 "Ring Buffer"을 통해 수행된다. Ring Buffer는 시스템이 부팅될 때 로그 메시지를 저장된다. 즉, 리눅스를 시작할 때 콘솔에 출력되는 로그들은 Kernel Ring Buffer에 저장되어 있던 로그들이다.- 커널 로깅은 사용자 로깅보..

OS 2024.11.06

[ Linux ] Systemd 세부 특징

이전 게시물에서 넘어와 여기서는 Systemd 에 대한 자세한 내용을 알아보도록 하겠다.아래는 systemd의 특징을 세부적으로 분류한 것이다. 1) 서비스/데몬 관리systemd 에서 unit 은 systemd가 관리할 수 있는 객체이다.- /etc/systemd/system : 시스템 관리자가 수동으로 생성 및 관리하는 유닛들이 저장되어 있는 디렉토리- /run/systemd/system : 시스템이 런타임 상태일 때 임시로 유닛 파일을 저장하는 디렉토리 (/run 경로에 있어서 재부팅되면 모두 삭제된다.)- /usr/lib/systemd/system : 특정 유닛이 포함된 패키지를 설치하면 저장되는 디렉토리의 원본 파일. 사용자가 서비스를 enable 시키면 이 디렉토리에 존재하는 파일이 /etc/..

OS 2024.11.04

[ Linux ] Daemon - SysVinit & Systemd

데몬(Daemon)이란?- 운영체제에서 사용자가 직접 제어하지 않아도 백그라운드에서 작업하는 프로그램- 리눅스 서버가 부팅될 때 백그라운드에서 실행되고 있다가 클라이언트 측에서 요청이 오면 바로 그에 대한 대응을 할 수 있음. 그래서 요청에 대한 응답속도는 빠르지만 항상 백그라운드에서 대기해야하므로 메모리의 효율이 좋지는 않다.- 부모 프로세스가 PID 1 이고(PPID = 1), 프로세스 트리에서 init 바로 아래에 위치한다. 즉, 시스템의 첫 프로세스인 init의 바로 하위 프로세스가 된다. (원래 init 이 PID 1인 루트 프로세스 였는데 이를 개선한 systemd가 나왔다. 그래서 최신 시스템 초기화 프로그램으로 systemd가 기본으로 사용된다.)- 데몬 프로그램의 명령어는 d 로 끝난다...

OS 2024.11.02

[ Monitoring ] AWS EC2 CloudWatch Metrics

EC2 인스턴스 사용량에 따른 CloudWatch Metric을 보는 방법에 대해 배워보려한다.버스트 기능이 가능한 인스턴스와 버스트 기능이 가능하지 않은 인스턴스 총 2 가지가 있는데, 버스트 크레딧 개념에 대해 이해해보기 위해 버스트 기능이 있는 인스턴스로 테스트 해보겠다. 버스트 기능이 가능한 T 유형 인스턴스https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/burstable-credits-baseline-concepts.html 성능 버스트 가능 인스턴스에 대한 주요 개념 및 정의 - Amazon Elastic Compute Cloud성능 버스트 가능 인스턴스에 대한 주요 개념 및 정의 기존 Amazon EC2 인스턴스 유형은 고정된 CPU ..

OS 2024.10.30

[RHEL] dnf-automatic 을 이용한 패키지 업데이트 자동화

구성 환경: AWS RHEL 9 instance 만약 패키지들을 정기적으로 업데이트 하려면 어떻게 해야할까?RHEL 에서는 패키지 업데이트를 자동으로 및 정기적으로 확인하고 다운로드하려면 dnf-automatic 패키지에서 제공하는 DNF 자동 도구를 사용할 수 있다. - DNF Automatic 은 systemd 타이머, cron 작업 및 기타 해당 도구를 사용하여 자동 및 일반 실행에 적합한 대체 명령줄 인터페이스이다.- DNF Automatic 은 필요에 따라 패키지 메타데이터를 동기화한 다음 사용 가능한 업데이트를 확인한다. 그런 다음 도구는 구성 방법에 따라 다음 작업 중 하나를 수행할 수 있다. 그런 다음 표준 출력 또는 이메일과 같이 선택한 메커니즘에서 작업 결과를 보고 가능하다.종료업데이트..

OS 2024.10.29