crossorigin="anonymous">
외과전담간호사의 조용한 복습시간
반응형

리눅스 15

리눅스 시스템 부팅 과정과 GRUB 이해하기

리눅스를 서버에 설치하고 쓸 때는 잘 못 느끼지만, 어느 날 갑자기 부팅이 안 되거나 GRUB 화면에서 멈췄을 때 진짜 당황하게 된다. 나도 예전에 커널 업데이트 후에 리부팅했더니 갑자기 검은 화면에 GRUB rescue 모드로 떨어져서 진짜 멘붕이 왔었다. 처음엔 ‘이거 하드디스크 나간 건가...?’ 싶었는데, 알고 보니 리눅스의 부팅 구조 자체를 제대로 몰라서 더 어렵게 느껴졌던 거였다. 그래서 오늘은 리눅스 시스템이 부팅될 때 어떤 순서로 진행되는지, 그리고 GRUB이 그 과정에서 어떤 역할을 하는지를 정리해보려고 한다.리눅스 시스템의 부팅 과정은 생각보다 체계적이다. 처음엔 그냥 전원 켜면 OS가 알아서 올라오는 줄 알았는데, 실제론 여러 단계를 거쳐야 최종적으로 쉘 프롬프트나 GUI 화면까지 도..

리눅스 2025.04.26

리눅스에서 시스템 리소스 제한하기 – ulimit, cgroups 활용

리눅스 서버를 운영하다 보면, 어느 날 갑자기 특정 프로세스 하나가 메모리를 다 먹거나, 무한히 자식 프로세스를 만들어서 서버 전체가 멈춰버리는 일이 생긴다. 나도 예전에 개발용 서버에서 Python 스크립트 테스트하다가 fork 폭탄을 터뜨린 적 있었는데, ssh 연결도 끊기고, 아무 키도 안 먹히는 경험은 정말 잊을 수가 없다. 그때부터 진지하게 생각하게 된 게 시스템 리소스를 사전에 제한하는 방법, 즉 ulimit과 cgroups였다.이 두 가지는 리눅스에서 각각 사용자 수준과 시스템 수준에서 자원 사용량을 제한할 수 있게 해준다. 쉽게 말해, ‘이 이상은 못 써’라는 리소스 한도를 걸어주는 도구라고 보면 된다.먼저 가장 간단하게 쓸 수 있는 게 ulimit이다. ulimit은 사용자 단위로 열 수..

리눅스 2025.04.25

Crontab을 활용한 자동화 작업 Best Practices

리눅스 서버 운영에서 반복적인 작업을 자동화하는 가장 기본적이면서도 강력한 도구는 바로 crontab입니다. 백업, 로그 정리, 모니터링 스크립트 실행 등 다양한 자동화 작업을 구현할 수 있으며, 잘 활용하면 시스템 안정성과 관리 효율을 크게 높일 수 있습니다. 하지만 단순히 스케줄을 설정하는 것을 넘어서, 신뢰할 수 있는 자동화 환경을 구축하기 위해서는 몇 가지 실전 팁과 원칙을 알고 있어야 합니다.1. crontab 기본 구조 다시보기crontab의 한 줄은 다음과 같은 구조를 가집니다.복사편집분 시 일 월 요일 명령어 예: 매일 새벽 3시에 스크립트 실행arduino복사편집0 3 * * * /home/user/backup.sh 처음에는 간단해 보이지만, 시간이 지나면서 스케줄이 많아지고 복잡해지면 ..

리눅스 2025.04.24

리눅스 권한 관리와 chmod, chown, umask의 실전 사용법

리눅스를 다루다 보면, 언젠가 꼭 권한 때문에 막히는 일이 생긴다. 파일은 있는데 못 읽고, 디렉토리는 있는데 접근이 안 되고, 복사해놨더니 실행이 안 된다든가. 나도 처음 리눅스를 쓸 때, Permission denied 에러만 보면 일단 sudo부터 붙여서 해결하려 했는데, 그게 진짜 좋은 습관은 아니더라. 결국 중요한 건 파일과 디렉토리의 권한을 정확히 이해하고 설정하는 능력이다. 그래서 오늘은 chmod, chown, umask라는 세 가지 키워드를 중심으로 리눅스 권한 관리를 한번 정리해보려고 한다.리눅스에서 권한은 기본적으로 사용자(user), 그룹(group), 기타(other) 세 가지 범주로 나뉜다. 파일이나 디렉토리를 ls -l로 보면, 맨 앞에 나오는 -rwxr-xr-- 같은 부분이 ..

리눅스 2025.04.24

리눅스 프로세스 관리 – ps, kill, nice, top 명령어 실전 활용

지고, 요청이 밀리고, SSH 접속도 버벅거릴 정도가 되면 진짜 식은땀 나기 시작한다. 나도 초반에는 뭐가 뭔지 몰라서 서버 재부팅부터 눌러버렸던 적 있는데, 지금은 침착하게 프로세스 상태부터 체크하는 습관이 생겼다. 오늘은 그런 상황에서 유용하게 쓰이는 ps, kill, nice, top 같은 리눅스 프로세스 관리 명령어들에 대해 정리해보려고 한다. 이거 한 번 익혀두면 서버 살리는 일도 어렵지 않다.가장 먼저 보는 건 top이다. top 명령어는 실시간으로 CPU, 메모리 사용량을 보여주기 때문에 시스템 전체 리소스 상황을 한눈에 볼 수 있다. 특히 상단에 load average 값이랑, 밑에 CPU 사용률, memory 사용률이 바로 보이는데, 여기서 뭔가 튀는 숫자가 보이면 그때부터 프로세스 추적..

리눅스 2025.04.23

로그 관리 및 분석 – journalctl, syslog, logrotate 활용

서버 운영하다 보면 로그(log)만큼 고마운 게 또 없다. 평소엔 별생각 없이 지나치지만, 무언가 장애가 생겼을 때 가장 먼저 확인하게 되는 게 바로 로그다. 예를 들어 웹 서버가 갑자기 죽었거나, 컨테이너가 재시작을 반복하거나, 사용자 요청이 계속 에러로 떨어질 때… 그 원인을 찾기 위해 무조건 로그부터 본다. 나도 처음에는 무작정 tail -f로 쳐다만 봤는데, 시간이 지나면서 자연스럽게 journalctl, syslog, logrotate까지 정리해서 보는 습관이 생겼다. 이 세 가지는 진짜 실무에서 없어선 안 될 기본 도구들이다.먼저 journalctl. 요즘 시스템에서는 systemd를 쓰기 때문에, 대부분의 시스템 로그가 이 명령어로 확인 가능하다. 시스템 서비스가 비정상적으로 꺼졌을 때, 어..

리눅스 2025.04.22

Docker 설치 및 컨테이너 기반 개발환경 구축

처음에 도커(Docker)라는 걸 들었을 때는 그냥 '뭔가 서버랑 관련된 개발자들이 쓰는 도구' 정도로만 생각했다. 근데 실제로 백엔드 개발 조금만 하다 보면 도커 안 쓰는 환경이 오히려 더 불편하게 느껴질 때가 온다. 나도 맨 처음에는 pip install, npm install, apt install 이런 걸로 로컬 개발환경 하나하나 세팅해가면서 하다가, 어느 순간 똑같은 걸 여러 팀원이 반복하고 있다는 게 너무 비효율적이라는 걸 깨달았다. 그래서 도커를 본격적으로 써보기 시작했고, 지금은 거의 모든 개발환경을 도커 컨테이너로 만들고 있다.설치부터 이야기하자면, 도커는 공식 문서대로 따라가면 어렵지 않다. 우분투 기준으로는 아래 명령어 몇 줄이면 끝난다.bash복사편집sudo apt update su..

리눅스 2025.04.21

리눅스에서 백그라운드 실행과 nohup, tmux 활용법

리눅스 서버에서 무언가 오래 걸리는 작업을 실행할 때, 제일 먼저 드는 생각이 "이거 다 끝날 때까지 터미널 붙잡고 있어야 하나?"이다. 특히 SSH로 접속해 있는 상태에서 실수로 창 닫거나 인터넷 끊기면 그 순간 실행 중이던 작업도 같이 종료된다. 나도 처음엔 그런 실수 몇 번 하고 나서 ‘아... 이거 백그라운드로 돌리는 법 없을까?’ 하고 찾기 시작했다. 그때 알게 된 게 nohup이랑 tmux다. 지금은 이 둘 없으면 서버에서 무언가 돌리는 게 너무 불안하다.먼저 가장 간단한 방식이 nohup이다. 이름부터가 no hang up, 즉 터미널 세션이 끊겨도 프로세스를 죽이지 않고 계속 실행하겠다는 의미다. 사용법도 정말 간단하다. 예를 들어 내가 python big_script.py 같은 작업을 실..

리눅스 2025.04.20

리눅스 파일/디스크 용량 관리 – du, df, ncdu, lsof 실전 정리

처음엔 몰랐다. 리눅스 서버에서 디스크 용량이란 게 얼마나 빨리, 얼마나 조용히 차버릴 수 있는 건지. 그냥 웹 서버 띄우고 로그 좀 쌓이고 이미지 몇 개 저장되면 한참 남았겠거니 했는데, 어느 날 갑자기 이상하게 서비스가 느려지고, 파일 저장이 안 되더니 서버에서 “no space left on device” 에러가 뜨는 거다. 나는 처음엔 디스크 용량 부족인 줄도 모르고 이것저것 재시작만 하다가 완전 멘붕... 그 이후로 진짜 철저하게 용량 체크하는 습관이 생겼고, 그때부터 du, df, ncdu, lsof 같은 툴을 자주 쓰기 시작했다.일단 디스크 상태 확인은 df부터 시작한다. df -h는 가장 기본 중의 기본인데, 각 마운트 포인트별 사용량이 사람 읽기 편한 단위(GB/MB)로 정리돼서 나온다...

리눅스 2025.04.20

서버 리소스 실시간 모니터링 툴 소개 (top, htop, iostat 등)

서버를 한두 대만 다룰 때는 몰랐는데, 서비스 하나 운영하고 트래픽 좀 몰리기 시작하니까 리소스 모니터링이 얼마나 중요한지 알겠더라. 나도 처음엔 ‘서버가 느려진다’는 말만 듣고 어디서 병목이 생겼는지 감도 안 왔었는데, 그때부터 하나하나 툴을 써보면서 CPU, 메모리, 디스크, 네트워크 리소스를 실시간으로 체크하는 습관이 생겼다. 특히 리눅스에서는 텍스트 기반이지만 강력한 툴들이 꽤 많다. 오늘은 그중에서도 내가 가장 자주 쓰는 top, htop, iostat 중심으로 얘기해보려고 한다.먼저 top. 리눅스 서버에서 제일 기본이 되는 모니터링 명령어다. top 치면 CPU 사용률, 메모리, 스왑, 그리고 현재 실행 중인 프로세스 목록이 주르륵 뜨는데, 이게 보기엔 투박해도 꽤 유용하다. 특히 상단에 l..

리눅스 2025.04.20
반응형