728x90
728x90
- [ 시스템 & 인프라/Linux & DevOps ][Linux/DevOps] 저사양 클라우드 인스턴스에서 백그라운드 데몬 가용성을 높이는 방법: HTTP/2 표준화와 스왑 메모리 가드2026-11-12 22:30:03TL;DR (핵심 요약)1GB RAM처럼 컴퓨터 메모리가 작은 클라우드 컴퓨터에서는 메모리가 꽉 차면 리눅스 커널의 OOM Killer 기능이 실행 중인 프로그램을 강제로 종료합니다.하드디스크의 일부분을 메모리처럼 활용하는 스왑(Swap) 공간을 만들면 메모리 부족으로 프로그램이 꺼지는 현상을 방지할 수 있습니다.무거운 브라우저 프로그램을 사용하는 대신, 운영체제에 기본으로 설치된 curl 프로그램을 사용하여 HTTP/2 프로토콜로 통신하면 컴퓨터의 메모리 사용량을 낮게 유지할 수 있습니다.1. 컴퓨터 기초 개념과 문제 정의이 글을 이해하기 위해 필요한 컴퓨터 용어와 동작 원리를 먼저 설명합니다.1.1 핵심 컴퓨터 용어 정의클라우드 인스턴스 (Cloud Instance): 인터넷을 통해 원격으로 빌려 쓰..
[ 시스템 & 인프라/Linux & DevOps ]리눅스 한 학기 살기 - 13주차 (完)2025-06-02 01:18:45TL;DR — 3줄 핵심 요약• 문제: 3학점만 들으면 졸업이 되는 학기에 18학점을 채우고, 매주 리눅스 프로그램 하나를 파서 2페이지 이상 보고서를 쓰는 일정을 스스로 만들었다. 시간이 남아서가 아니라, 쓰는 명령이 실제로 무엇을 하는지 모른 채 졸업하고 싶지 않아서였다.• 기술/원인: 매주 하나씩 정한 도구가 서로 연결되어 있었다. 패키지 설치(curl·make) → 원격 접속(SSH·RDP) → 네트워크(VPN·nmap) → 실행 환경(Docker·Jenkins) → 관찰(htop·tree). 한 주의 삽질이 다음 주의 전제가 되었다.• 해결/인사이트: 12주 동안 남은 것은 명령어 목록이 아니라 확인 순서다. 문제가 생기면 ① 프로세스가 떠 있는지(systemctl status) ② 포트가 열렸..
[ 시스템 & 인프라/Linux & DevOps ]리눅스 한 학기 살기 - 12주차2025-06-02 00:35:44TL;DR — 3줄 핵심 요약• 문제: 서버에 어떤 포트가 열려 있는지, 어떤 프로그램이 어느 버전으로 도는지는 서버에 로그인하지 않고는 보이지 않는다. nmap은 패킷을 직접 보내 그 답을 받아내는 도구다.• 기술/원인: TCP 연결은 SYN → SYN/ACK → ACK 세 단계로 맺어진다. nmap은 이 단계를 이용해 포트 상태를 판별한다. SYN에 SYN/ACK가 오면 열림, RST가 오면 닫힘, 응답이 없으면 필터링이다. UDP는 응답 규칙이 달라 ICMP port unreachable이 오면 닫힘, 무응답이면 open|filtered로 표시된다.• 해결/인사이트: 순서는 호스트 확인(-sn) → 포트 스캔(-p) → 서비스 버전(-sV) → 스크립트(-sC)다. 자기 소유이거나 서면 허가를 받은..
[ 시스템 & 인프라/Linux & DevOps ][리눅스 한 학기 살기 #11] htop으로 서버 자원 사용량 확인하기: top과의 차이와 CPU·메모리 수치 읽는 법2025-05-30 21:01:25TL;DR — 3줄 핵심 요약• 문제: 리눅스 서버가 느려졌을 때, 어떤 프로세스가 CPU와 메모리를 얼마나 쓰는지 보이지 않으면 원인을 찾을 수 없다.• 기술/원인: htop은 /proc 파일 시스템에서 프로세스 목록과 자원 수치를 읽어 화면에 다시 그리는 프로그램이다. top이 출력만 하는 반면 htop은 화면을 계속 갱신하면서 키 입력을 받는다.• 해결/인사이트: CPU 막대의 색(녹색 사용자, 빨강 커널, 파랑 nice), Load average와 코어 수 비교, MEM%·RES 증가 추세를 본다. 종료는 F9(15=정상 종료, 9=강제), 우선순위는 F7/F8이다.htop이 top과 다른 점둘 다 /proc 아래의 파일을 읽어 같은 정보를 보여준다. 차이는 조작 방식과 자원 사용량이다.top: ..
[ 시스템 & 인프라/Linux & DevOps ][리눅스 한 학기 살기 #10] tree 명령어로 디렉터리 구조 한눈에 보기: 재귀 동작 원리와 실전 옵션2025-05-28 20:12:18TL;DR — 3줄 핵심 요약• 문제: 파일이 수십 개만 넘어도 ls 출력만으로는 폴더 안에 무엇이 어떤 순서로 들어 있는지 파악하기 어렵다.• 기술/원인: tree는 opendir/readdir로 디렉터리를 열어 항목을 읽고, lstat로 종류를 확인한 뒤, 하위 디렉터리마다 같은 함수를 다시 호출한다(재귀). 출력할 때 현재 항목이 마지막인지에 따라 ├── 와 └── 를 고른다.• 해결/인사이트: -L로 깊이를 제한하고, -a로 숨김 파일을, -I로 제외 패턴을, -P로 포함 패턴을 지정한다. README에 구조를 넣을 때는 tree -L 2 -I node_modules 정도가 가장 실용적이다.tree가 출력하는 것ls는 한 디렉터리의 항목을 나열한다. tree는 현재 디렉터리부터 하위 전체를 재귀적..
[ 시스템 & 인프라/Linux & DevOps ][리눅스 한 학기 살기 #9] tldr로 리눅스 명령어 예제 빠르게 찾기: man·explainshell과의 역할 분담2025-05-27 22:40:58TL;DR — 3줄 핵심 요약• 문제: man 페이지는 옵션 전체를 나열하지만 "내가 지금 하려는 일을 어떻게 쓰는지"는 몇 줄 안에 없다. 그 예를 찾느라 매번 검색하게 된다.• 기술/원인: tldr-pages는 명령어마다 Markdown 파일 하나를 두고 설명 한 줄과 예제 5~8개만 적는다. 클라이언트는 전체 페이지 묶음(zip)을 내려받아 ~/.cache/tldr에 저장하고, 조회할 때는 로컬 파일을 읽는다.• 해결/인사이트: man은 정확한 전체 사양, tldr은 자주 쓰는 사용 예를 담당한다. 처음 배울 때는 tldr로 예제를 따라 해 보고, 옵션 조합이 헷갈리면 man과 explainshell로 확인하는 순서가 효율적이다.tldr이 하는 일$ tldr tartarArchiving utilit..
[ 시스템 & 인프라/Linux & DevOps ]리눅스 한 학기 살기 - 8주차2025-05-01 01:22:37TL;DR — 3줄 핵심 요약• 문제: curl이나 docker를 설치할 때 ca-certificates가 함께 설치되는데, 이 패키지가 무엇을 하는지 모르면 "인증서 오류"가 났을 때 원인을 찾을 수 없다.• 기술/원인: HTTPS 통신은 서버가 보낸 인증서의 서명을 확인하는 것에서 시작한다. 그 서명을 검증하려면 "이 기관은 믿어도 된다"는 루트 인증서 목록이 필요한데, ca-certificates가 그 목록을 /usr/share/ca-certificates에 넣고 /etc/ssl/certs/ca-certificates.crt 하나로 묶어 준다.• 해결/인사이트: 사내 CA처럼 직접 만든 인증서는 /usr/local/share/ca-certificates에 .crt로 넣고 update-ca-certi..
[ 시스템 & 인프라/Linux & DevOps ][리눅스 한 학기 살기 #7] Vim 입문 가이드: Ubuntu 24.04 패키지 선택부터 모드·저장·매크로까지2025-04-23 22:25:14TL;DR — 3줄 핵심 요약• 문제: Vim을 열면 키를 눌러도 글자가 안 써지고, 저장하려다 파일을 잃는다. 원인은 Vim이 "모드"로 동작하기 때문이다.• 기술/원인: 같은 키가 모드에 따라 다른 일을 한다. 일반 모드에서 i는 입력 시작, a는 커서 뒤에서 입력, d는 삭제 명령의 시작이다. 명령행 모드(:)에서 w는 저장, q는 종료이고, 변경이 남아 있으면 q는 거부된다.• 해결/인사이트: 손이 기억해야 하는 것은 세 가지다. Esc로 항상 일반 모드로 돌아오기, :w로 자주 저장하기, :x로 저장하고 나가기. 여기에 이동(hjkl, w, gg, G)과 매크로(qa … q, @a)를 더하면 반복 작업이 사라진다.모드가 왜 필요한가일반 편집기는 키 입력이 항상 글자다. Vim은 키 입력이 "명령..
728x90
728x90