이것이 리눅스다(개정 4판)

Erdos·2026년 4월 26일

서재

목록 보기
17/19
post-thumbnail

"한빛미디어 서평단 <나는리뷰어다> 활동을 위해서 책을 협찬 받아 작성된 서평입니다."

about

책의 인상적인 점

  1. 하나의 리눅스 설치가 아니라, 여러 대의 가상머신을 띄워 네트워크로 연결하는 실습: 웹 서버(apache), DB 서버(mariaDB), 네임 서버가 각각 독립된 역할을 하면서 어떻게 통신하는지 workflow를 직접 구현할 수 있었다.
  2. "ch6 디스크 관리와 사용자별 공간할당"은 단순하게 저장 공간을 나누는 것을 넘어,
    디스크 관리와 쿼터 설정을 통해 시스템 안정성을 확보하려는 실무적 관점이 돋보였다. 특히, RAID에 상당한 분량을 할애하여 결함 허용과 가용성을 강조한 점이 인상깊었다. 이론에 그치지 않고 장애 상황 재현과 원상 복구 프로세스까지 다룬 점은 현업의 노하우가 녹아있음을 느낄 수 있었다.

누가 읽기 좋을까?

  • 리눅스를 처음 배우는 입문자
  • 서버 운영과 리눅스 시스템 관리에 관심 있는 개발자
  • 리눅스 기반 서버 환경을 이해하려는 IT 전공자
  • 가상머신 환경에서 실제 서버 구축 경험을 쌓고 싶은 독자

기록


이 책에서 사용할 가상머신의 하드웨어 사양(p930)

Server + Server(B) + Client로 총 3개를 쓰기에는 하드용량이 부족해서
나는 Server(B)를 중심으로 실습을 진행했다.

ch2. 리눅스 Rocky Linux 소개

Philosophy of the GNU Project

Free software means that the software's users have freedom. (The issue is not about price.) We developed the GNU operating system so that users can have freedom in their computing.

Specifically, free software means users have the four essential freedoms: (0) to run the program, (1) to study and change the program in source code form, (2) to redistribute exact copies, and (3) to distribute modified versions.

Software differs from material objects—such as chairs, sandwiches, and gasoline—in that it can be copied and changed much more easily. These facilities are why software is useful; we believe a program's users should be free to take advantage of them, not solely its developer.

출처: https://www.gnu.org/philosophy/philosophy.html

4.6.1 프로세스

프로세스 제어 관련. foreground, background 와 상태 변화를 볼 수 있는 실습 코드가 있었다.

포그라운드, 백그라운드, Job Control

터미널을 여러개 띄우지 않고, 하나의 세션에서 여러 작업을 조율할 수 있다.
실무적으로 예시를 들어보자면 오래 걸리는 DB 백업이나 데이터 처리작업은 백그라운드로 던져두고, 다른 작업을 할 수 있음.

  • foreground: 사용자와 직접 대화하는 프로세스. 터미널의 명령어를 입력하고 그 결과가 나올 때까지 키보드 제어권 독점

  • background: 사용자 시야 밖에서 비대화형으로 실행되는 프로세스. ex) 바이러스 백신, 서버 데몬(서비스)

  • job control: 프로세스를 다루는 기술

    • 중단: Ctrl + z
    • 뒤로 보내기: bg(중단된 작업을 백그라운드로), command & (처음 실행할 때부터 백그라운드)
    • 앞으로 가져오기: fg %'작업 번호'

5.3 소프트웨어 센터

오.. flutter 관련 asset 때문에 잉크스페이프를 사용해본 적 있는데 책에서 유용한 소프트웨어로 소개하고 있어서 신기했다.
참고로 inkscape는 벡터 그래픽 편집기다.

7.2.2 변수

#!/bin/sh
echo "리눅스가 재미있나요? (yes/no)"
read answer
case $answer in
	[yY] | [yY][eE][sS])
		echo "다행입니다."
		echo "더욱 열심히 하세요."
		;;
	[nN]*)
		echo "안타깝네요. ㅠㅠ";;
	*)
		echo "yes 아니면 no만 입력했어야죠"
		exit 1
		;;
esac
exit 0

ch8. 원격지 시스템 관리

오.. 빠른 속도와 보안 강화 측면을 고려해 SSH 서버를 기본으로 사용하고, XRDP서버는 필요할 때 사용할 수 있게 설정하는 게 좋다고 한다.

9.2.5 라운드 로빈 방식의 네임 서버


하나의 도메인에 매핑된 여러 IP 리스트의 응답 순서를 순환시켜 클라이언트의 접속을 분산시킨다. 하드웨어 로드밸런서(L4/L7) 없이도 구현 가능한 가장 가볍고 Lean한 부하 분산 기법이다.

  • 특징: 별도의 로드밸런서 장비 없이 소프트웨어적인 부하 분산이 가능

뜬금없이 CPU 스케쥴링과는 무슨 차이가..?

참고) CPU 스케쥴링 알고리즘에서의 라운드 로빈..

  • 선입 선처리 스케쥴링 + 타임 슬라이스(정해진 시간만큼)
  • 정해진 타임 슬라이스만큼의 시간동안만 CPU를 이용하는 선점형 스케줄링
  • 모든 프로세스에 동일한 타임 슬라이스(Time Slice)를 부여하여 실행 우선순위의 독점을 막는 선점형(Preemptive) 방식이다. 타임 슬라이스가 너무 크면 FCFS와 다를 바 없고, 너무 작으면 문맥 전환(Context Switching) 오버헤드로 인해 시스템 성능이 저하된다.

ch12. 웹서버 설치 및 운영


오 된다된다.

포트포워딩
  • 암호화 채널을 통해 보안 TCP 연결을 터널링 하는 기능.
  • ssh를 통해 원격 ssh서버에 로그인한다. → ssh 커맨드 라인에 임의의 포컬 포트를 지정해서 ssh가 보안 터널을 통해 원격 웹 서버의 포트 80으로 포워딩 할 수 있게 한다.

ch20. 리눅스 가상화 기술

구분VMware / VirtualBox (가상 머신)Docker (컨테이너)WSL 2 (하이브리드)
핵심 기술하이퍼바이저 (Type 2)컨테이너 엔진 (커널 공유)경량 가상화 (Hyper-V 기반)
격리 수준최고 (완전 격리) - 독립된 커널 사용중간 - 호스트 커널 공유낮음 - 윈도우와 자원 공유
리소스 사용무거움 (RAM/디스크 선점)매우 가벼움 (필요한 만큼만 사용)가벼움 (윈도우와 동적 공유)
부팅 속도느림 (분 단위)매우 빠름 (초 단위)빠름 (수 초 내외)
주요 목적서버 운영 실습, 커널/드라이버 개발애플리케이션 배포 및 환경 일치윈도우 기반 개발 환경 구축

맺음말

공부할수록 더 할 게 많아서 참.....................................
열심히 하겠습니다! 엉엉엉

(나노 바나나로 제작)


마무리

리눅스는 참.. 어렵다.
하지만 배워야 할 게 많다는 건 그만큼 해결할 문제도 많다는 뜻이다.
이 점이 리눅스의 매력이다.

profile
수학을 사랑하는 애독자📚 Stop dreaming. Start living. - 'The Secret Life of Walter Mitty'

0개의 댓글