N° 01 — 목록
'Cloud & Infrastructure' (51)
-
Cloud & Infrastructure/Operating SystemLinux - 09. network
DNS를 바꾸려고 resolv.conf를 고쳤다가 사라졌다 — 네트워크 관리DNS 서버를 바꾸려고 /etc/resolv.conf를 직접 편집했다. 잘 되는 듯했는데 재부팅하니 원래대로 돌아갔다. 왜? Rocky 10에선 NetworkManager가 /etc/resolv.conf를 자동 관리한다. 직접 편집하면 덮어쓴다. DNS 변경은 nmcli로 해야 한다.이런 함정이 네트워크 관리엔 많다. 서버의 대부분은 네트워크로 통신하고, IP 설정·포트 점검·DNS 오류·라우팅 문제는 운영 일상이다. 이 글은 컴퓨터가 서로 통신하는 세 가지 기반 — 서로를 식별할 주소(IP), 데이터를 전달할 경로(라우팅), 이름을 주소로 바꿀 DNS — 과, Rocky 10이 이걸 NetworkManager로 관리하는 방식을 ..
-
Cloud & Infrastructure/Operating SystemLinux - 08. package
rpm -i로 설치하면 왜 의존성 에러가 나는가 — RPM과 dnf의 역할 분담nginx를 설치하려고 rpm -i nginx.rpm을 쳤더니 의존성 에러로 실패한다. 왜? RPM은 의존성을 풀어주지 않는다. 단순 설치만 한다. 의존성 해결은 dnf의 일이다. 그래서 로컬 .rpm 파일도 dnf install ./pkg.rpm으로 설치해야 dnf가 의존성까지 처리한다.이 글은 Rocky 10이 패키지를 어떻게 관리하는지 다룬다 — RPM(포장 형식 + 저수준 도구)과 dnf(앱스토어 관리자)의 역할 분담, 그리고 Rocky 10의 두 가지 큰 변화: dnf5 전환과 modularity 폐지. 이 변화를 모르면 구형 자료의 명령이 Rocky 10에서 동작하지 않는다.RPM과 dnf는 역할이 다르다 역할비유R..
-
Cloud & Infrastructure/Operating SystemLinux - 07. shell script
ls *.txt에서 별을 처리하는 건 ls가 아니다 — 셸과 확장ls *.txt를 친다. ls가 *.txt를 처리할까? 아니다. 셸이 먼저 *.txt를 a.txt b.txt c.txt로 펼쳐서(확장) ls에 넘긴다. ls는 이미 펼쳐진 파일 이름만 받는다. 이 사실을 모르면 셸 스크립트의 이상한 동작 원인을 평생 못 찾는다.셸은 단순한 명령 실행기가 아니다. 명령을 해석하고, 변수·glob·산술을 치환(확장)하며, 파이프·리다이렉션·제어문까지 처리하는 인터프리터다. cron, systemd unit, 배포 스크립트, 설정 자동화 — 리눅스 관리의 상당수가 셸 기반이다. 이 글은 셸이 명령을 어떻게 해석하는지, 그리고 그 해석을 스크립트로 어떻게 묶는지를 다룬다.셸은 명령 번역사다flowchart LR ..
-
Cloud & Infrastructure/Operating SystemLinux - 06. io device
SSD, 키보드, 네트워크 카드를 같은 방식으로 다룬다 — 장치 추상화와 LVM서버에 디스크를 하나 더 꽂았다. 이제 공간이 모자라니 LVM으로 볼륨을 늘리고 싶다. 그런데 스크립트가 /dev/sda1을 찾는데 실제는 /dev/nvme0n1p1이라 실패한다 — 왜 이름이 다르지? 또 모든 드라이버를 커널에 넣지 않고도 필요할 때만 쓸 수 있는데, 어떻게?이 글은 리눅스가 수십~수백 종의 하드웨어를 일관되게 다루는 방식(장치 파일 추상화)과, 고정된 물리 디스크를 유연하게 쪼개고 합치는 방식(LVM)을 다룬다. 서버 운영 일상 — 디스크 추가, LVM 확장, 드라이버 적재 — 의 기반을 잡는다.하드웨어도 파일이다 — 장치 파일과 major/minor리눅스는 "모든 것은 파일" 원칙에 따라 하드웨어를 /de..
-
Cloud & Infrastructure/Operating SystemLinux - 05. filesystem
inode에는 파일 이름이 없다 — 파일 시스템이 감추는 것"Permission denied"가 떴다. 파일 권한을 고쳤는데도 안 된다. 왜? 종종 진짜 원인은 파일이 아니라 부모 디렉토리에 있다. 또 디스크에 공간이 남았는데 파일이 안 만들어진다 — 이번엔 inode가 다 떨어졌기 때문이다. 이런 일들은 파일 시스템이 실제로 어떻게 돌아가는지를 모르면 진단할 수 없다.리눅스는 "모든 것은 파일"이라고 한다. 그런데 디스크는 그냥 0과 1의 블록 덩어리다. 이 블록들을 어떻게 "이름 있는 파일"로 조직하고, 누가 접근할지 통제하는가 — 이 글이 푸는 질문이다."모든 것은 파일" — VFS 추상화리눅스는 디스크 파일, 하드웨어 장치, 프로세스 정보, 네트워크 소켓까지 모두 파일로 다룬다. 그래서 같은 도구..
-
Cloud & Infrastructure/Operating SystemLinux - 04. memory
각 프로세스는 수십 TB 메모리를 독점한다고 착각한다 — 가상 메모리의 속임서버에서 free를 치면 "free가 거의 없다"고 나온다. 메모리 부족인가, 패닉할 일인가? 보통 아니다. 또 누군가 malloc(1GB)를 호출하면 즉시 1GB RAM이 사라질까? 그것도 아니다. 두 사실 모두 리눅스 메모리 관리가 만들어내는 환상의 결과다.이 글은 그 환상을 다룬다 — 각 프로세스가 "자기만의 거대한 주소 공간"을 독점하는 듯 보이게 만드는 가상 메모리, RAM이 부족할 때 디스크까지 끌어쓰는 swap, 그리고 모조리 고갈됐을 때 시스템을 살리기 위해 프로세스를 죽이는 OOM killer까지. 이 셋을 모르면 free/vmstat 숫자를 읽을 수 없고, "서버가 느린데 CPU는 한가하다" 같은 메모리 병목을 ..