모던 리눅스 교과서
백엔드, 클라우드, 데브옵스를 위한 기본 명령어, 커널 등 최신 리눅스 필수 지식
마이클 하우센블라스 지음 | 송지연 옮김
284쪽 | 28,000원 | 2023년 10월 18일 출간 | 185*240*17 | ISBN 9791189909567 (93000)
판매처 | [교보문고] [YES24] [알라딘] [영풍문고] [인터파크] + 전국 교보문고 매장
전자책 판매처 | [교보문고] [YES24] [알라딘] [리디북스] | 11월 20일 출간 | ISBN 9791189909574 | PDF 포맷
★ 정오표: https://www.onlybook.co.kr/entry/modern-linux-errata
★ 깃허브 예제코드 다운로드: https://github.com/onlybooks/modern-linux
(원서 <Learning Modern Linux> 깃허브 페이지: https://github.com/mhausenblas/modern-linux.info)
“허구한 날 반복해서 사용하는 레거시 명령은 식상하네.
생산성을 높일 수 있는 최신 기능만 골라
간결하고 빠르게 익힐 수는 없을까?”
__리눅스를 오래 사용해온 숙련된 엔지니어
“리눅스를 따로 공부할 시간은 없는데
리눅스 생태계를 둘러싼 핵심 정보와 기본 개념만
배우는 방법은 없을까?”
__리눅스를 실무에서 곧바로 사용해야 하는 신입 엔지니어
특정 배포판에 치우치지 않으면서도
현업에서 리눅스를 다뤄야 하는 개발자가
반드시 알아야 할 핵심 이론과 실제만 뽑아내
군더더기 없이 설명한 모던 리눅스 핸드북이 출간됐다!
핵심 리눅스 명령어를 빠른 템포로 살펴보며 작업 흐름을 향상시키는 팁과 요령을 알려준다. 또한 개발부터 업무 관련 작업에 이르기까지, 개발자, 소프트웨어 아키텍트, 사이트 신뢰성 엔지니어(SRE) 등 모두가 각자의 일상적인 필요에 맞게 리눅스를 사용하는 방법을 알짜만 골라 배운다. 모던 리눅스 터미널과 셸을 직접 실습해보며 작업 부하를 관리하는 방법도 설명한다.
이 책에서 다루는 내용
● 관리자 측면이 아닌 현대적인(모던) 작업 환경으로서 리눅스 사용
● 리눅스 커널, 터미널 멀티플렉서, 인간 친화적인 셸, 이식 가능한 셸 스크립팅 등 중요한 구성요소 학습
● 파일 권한부터 캐퍼빌리티까지 접근 제어, 그리고 기본 빌딩 블록으로서 파일 시스템의 역할
● 애플리케이션 종속성 관리와 컨테이너
● DNS 등 리눅스 네트워킹 스택과 도구를 다루는 실전 경험
● 최신 운영체제 관측가능성을 적용해 작업 부하 관리
● 프로세스 간 통신, 가상 머신, 선별된 보안 주제
이 책은 소프트웨어 개발자, 소프트웨어 설계자, QA 테스트 엔지니어, 데브옵스(DevOps), SRE 역할 등 전문적인 환경에서 리눅스를 사용하기를 원하거나 사용해야 하는 사람들을 위해 쓰였다. 또한 3D 프린팅이나 스마트홈 작업 등의 활동을 하며 처음 리눅스를 취미로 접한 애호가 등 대체로 운영체제나, 특히 리눅스/유닉스에 대한 지식이 거의 또는 전혀 없는 독자도 염두에 뒀다. 이 책은 각 장이 진행되면서 차곡차곡 빌드업되었으므로 처음부터 끝까지 차례대로 읽어야 내용을 더욱 잘 이해할 수 있을 것이다. 다만 이미 리눅스에 익숙한 독자라면 참고 도서로 활용해도 좋다.
이 책의 구성
이 책을 끝낼 무렵에는 리눅스란 대체 무엇인지(1장), 리눅스의 핵심 구성요소는 무엇인지(2장과 3장) 이해하며, 필수 접근 제어 메커니즘을 열거하고 사용할 수 있게 된다(4장). 또한 리눅스의 기본 빌딩 블록인 파일시스템의 역할(5장)을 이해하고 애플리케이션이 무엇인지(6장)도 알 수 있다.
그러고 나서 리눅스 네트워킹 스택과 도구 실습(7장)을 해보게 된다. 또한 모던 운영체제의 관측가능성(8장)에 대해 알아보고 이를 적용해 워크로드를 관리하는 방법에 대해서도 배워본다.
또한 컨테이너를 사용하거나 보틀로켓(Bottlerocket)같이 불변성을 추구하는 배포판을 사용해 현대적인 방식으로 리눅스 애플리케이션을 실행하는 방법에 대해 배워보고, 시큐어 셸(SSH)과 P2P, 클라우드 동기화 메커니즘 같은 고급 도구를 사용해서 안전하게 통신(파일 다운로드 등)하고 데이터를 공유하는 방법(9장)을 알아본다.
[추천의 글]
꽤 오래전, 몇 군데 이직을 고민하던 중 구글의 인터뷰를 본 적이 있습니다. 아직도 기억이 나는 질문 중 하나는 “리눅스의 inode는 무엇이며, 거기에 저장되지 않는 정보는 무엇인지 설명해보라.”는 것이었습니다. 익히 알고 있는 내용이었기에 정답을 말하긴 했지만, ‘구글 같은 첨단 소프트웨어 회사에서 이런 하찮은 질문을 묻다니 지원자에게 골탕을 먹이거나 그냥 까다롭게 하려나 보다.’라고만 생각했습니다.
그로부터 꽤 많은 시간이 흘렀고 IT는 점차 진화하여 이제는 대부분의 비즈니스 애플리케이션이 리눅스, 그리고 클라우드 네이티브 환경에서 만들어지고 유지됩니다. 개발자는 클라우드 네이티브에서 애플리케이션이 돌아갈 수 있도록 컨테이너로 만드는 부분만 관심을 가지면 자신이 만든 프로그램을 어디서든 실행할 수 있기 때문에 리눅스와 같은 운영체제에는 그다지 큰 관심을 갖지 않습니다.
그러다가 정작 성능이 원하는 만큼 나오지 않거나, 컨테이너 데몬의 버전 충돌 같은 오류를 겪고 나서야 자신들이 사용하는 애플리케이션이 돌아가는 환경에 관심을 갖기 시작합니다. 그리고 그 장애를 해결하기 위해서 각종 인터넷 자료나 블로그, 이제는 LLM(Large Language Model), 즉 컴퓨터에 대한 정보를 컴퓨터에게 물어보면서 장님이 코끼리 만지듯 문제의 원인을 찾아갑니다. 해결은 가능하겠지만 엄청난 시간과 노력이 필요합니다.
프로그래머가 구현에만 집중할 수 있도록, 나머지 환경들을 계속 추상화시켜서 추상화의 아래쪽으로 숨겨버리다 보니 정작 프로그래머가 컴퓨터 자체를 모르는 일이 자주 발생합니다. 그리고 이것은 자신이 만든 소프트웨어의 기능과 성능에 아주 좋지 않은 영향을 끼칩니다. 그래서 저도 요즈음에는 프로그래머, 아키텍트 인터뷰를 볼 때 “키보드 A를 누르면 왜 화면에 A가 찍히는지 설명해보세요.” 같은, 간단하지만 컴퓨터와 운영체제를 잘 이해해야 대답할 수 있는 질문을 합니다. 컴퓨터 시스템과 운영체제에 대한 지식이 결국 IT 서비스의 완성도를 높이는 데 아주 큰 역할을 하기 때문입니다.
이 책 『모던 리눅스 교과서』는 컴퓨터 시스템 구조를 이해하기 쉽게 알려줄 뿐만 아니라, 시스템의 다양한 측면을 알아보려 할 때 어떤 명령어를 사용해야 할지를 쉽게 이해할 수 있는 그림들과 함께 상세하게 설명합니다. 제가 질문받았던 inode에 대한 정보와 확인 방법 그리고 의미 등은 말할 것도 없구요. 이 책에 있는 다양한 내용을 기반으로 리눅스 전반에 대한 이해도를 높인다면 퍼포먼스가 높은 프로그래머가 되고, 클라우드 아키텍팅을 하는 데 큰 도움이 될 것입니다.
- 공용준 / 카카오 서비스플랫폼 부사장, 『카프카, 데이터 플랫폼의 최강자』 저자
클라우드 컴퓨팅 시대와 더불어 리눅스는 운영체제의 대세가 된 것으로 보입니다. 클라우드 VM에서는 대부분 리눅스로 서비스를 운영하며, 리눅스와 비슷한 개발 환경을 사용하기 위해 개발자들은 맥을 사용하고, 심지어 마이크로소프트는 WSL(리눅스용 윈도우 하위 시스템)을 통해 윈도우에 리눅스 환경을 구현해 놓았습니다. 클라우드뿐만 아니라, 임베디드 시스템에서도 리눅스가 대세가 된 지 오래입니다. 스마트폰에 널리 쓰이는 안드로이드와 스마트 TV의 기반 OS인 WebOS와 타이젠, 안드로이드 TV 모두 리눅스 기반이며, 요즘은 자동차에도 리눅스 기반 OS가 채택되는 추세입니다. 리눅스에 대한 여러 책들을 번역한 역자로서, 여러 가지 리눅스 배포판과 명령어에 대한 전반적인 사항을 모두 다루면서도 두껍지 않아 부담도 덜한 책이 새롭게 출간되어 반갑습니다. 저와 함께 여러 리눅스 책들을 번역한 송지연 선생님이 작업하신 책이라 번역의 품질도 믿을 수 있습니다.
이 책은 현업에서 꼭 필요한 내용을 스피디하게 모두 다루며, 풍부하게 제공되는 예제를 따라 하며 쉽게 익힐 수 있습니다. 특히 3장에서 소개하는 jq 명령은 JSON 형식의 데이터를 많이 다루는 요즘 익혀두면 매우 편리할 것입니다. 컨테이너와 쿠버네티스, 프로메테우스와 그라파나 등 ‘모던 리눅스’에서 중요한 새로운 기술을 설명하며, 클라우드 시대의 모던 리눅스에서 여전히 중요한 네트워킹 등의 고전적인 주제도 충실히 다룹니다. 게다가 각각의 주제를 더 깊이 공부하고 싶은 사람을 위해 추가 자료를 자세히 알려줍니다.
리눅스를 처음 접하는 분들이나 오랫동안 사용했지만 최신 정보가 궁금한 분들, 누구보다도, 클라우드 환경이나 임베디드 환경에서 개발하기 위해 리눅스를 빨리 익혀야 하는 분들께 이 책을 추천합니다.
- 김기주 / 엘라스틱 Education Architect, 『리눅스 API의 모든 것』 역자
1991년 탄생한 리눅스는 역사와 전통을 자랑하는 운영체제이며, 우리가 보이는 곳이나 보이지 않는 곳에서 묵묵하게 자신의 맡은 임무를 수행하고 있다. 주변을 잠시 둘러보자. 임베디드에 특화된 리눅스 커널이 셋톱박스부터 스마트폰에 이르기까지 임베디드 장비에 설치되어 있고, 리눅스 기반의 가상 환경이 여러 앱과 웹을 지탱하는 상당수의 클라우드 서버에 배포되어 있다. 이런 상황에서 앱과 서비스를 제대로 개발하고 운영하려면 리눅스 지식이 필요하기 마련이다.
이 책 『모던 리눅스 교과서』는 현대적인 관점에서 리눅스를 조망한다. 잘 사용되지 않거나 더 이상 유효하지 않은 지식은 과감하게 버리고 과거와 현재를 관통하는 핵심적인 기술을 추려주며, 복잡해진 환경에 맞춰 진화된 현대적인 기능을 추가해 클라우드 시대에 대응하게 만들고, 기존에 사용하던 명령어와 현대적인 명령어를 비교해 리눅스의 발전된 모습을 이해할 수 있게 돕는다. 모든 명령어와 옵션을 다루는 대신 필수 명령어와 옵션을 중심으로 조감하고, 필요할 때 살펴볼 수 있는 참고 자료를 제시하므로 업무에 바쁜 개발자들이 빠르게 감을 잡고 실무에 활용할 수 있게 배려한다.
거의 대다수 리눅스 배포판은 하위 호환성을 무척 중요하게 생각하기에 과거에 배운 지식만으로도 레거시 시스템을 방어할 수는 있지만, 하드웨어와 가상화 기술의 발전과 함께 복잡해진 애플리케이션 의존성과 배포 모델의 변화로 인해 어느 시점에 다다르면 현대적인 기술에 관심을 기울이지 않을 수 없다.
스마트폰과 클라우드 시대를 맞이하여 리눅스 기술을 새롭게 익히려는 신입 개발자뿐만 아니라, 기존에 리눅스를 충분히 경험한 개발자들도 이 책에서 배울 내용이 많을 것이다. 높은 생산성을 발휘하기 위한 도구로서 리눅스의 가치는 앞으로도 지속될 것이므로 더도 덜도 말고 최소한 이 책에 나온 개념과 명령어를 자연스럽게 활용 가능한 수준으로 익혀 두면 좋겠다.
- 박재호 / 채널박재호 유튜브, 『클린 코드, 이제는 파이썬이다』 역자
기다리고 기다리던 ‘리눅스 교과서’가 출간되었습니다! 무릇 교과서라 함은 “무조건 봐야 하는 책”을 뜻하는 단어로 바로 이런 책을 말합니다.
클라우드, 빅데이터를 거쳐 인공지능뿐만 아니라 안드로이드와 사물인터넷까지, 대부분 급부상하는 기술들에는 오픈소스 소프트웨어의 대명사라고 할 수 있는 리눅스가 어디에나 사용되고 있습니다. 그럼에도 리눅스를 제대로 배울 수 있는 책들이 많지 않고, 무엇보다 이 책처럼 ‘사용자’ 위주로 서술된 책은 거의 드물기에 감히 교과서라 불러도 손색이 없어 보입니다.
특정 리눅스 배포판의 명령어들만 나열하거나 특정 프로그래밍 기술에만 국한된 책이 아니라, 리눅스의 처음과 끝, 알파이자 오메가를 다루는 책으로, 리눅스를 구성하는 커널부터 리눅스를 사용하고 운용하기 위한 셸 스크립팅과 애플리케이션들의 실행 환경인 파일시스템까지 방대하게 다루며 친절하고 구체적인 예제들과 함께 리눅스를 통으로 배울 수 있는 참 반가운 책입니다. 특히 책에 나오는 예제들은 특정 리눅스 배포판에 국한되지 않고 표준적으로 사용할 수 있는 예제들이기에 자신이 선호하는 종류의 리눅스로 처음부터 끝까지 학습할 수 있는 것도 이 책의 많은 장점 중 하나입니다.
클라우드와 인공지능의 인기 상승으로 인해 리눅스 개발자뿐만 아니라 엔지니어들까지 그야말로 리눅스 전성시대와는 다르게 리눅스를 통째로 알려주는 책들이 귀해진 요즘, 정말 보석 같은 교과서가 나온 것 같아 리눅스로 밥 먹고 살아가는 사람으로서 반가움을 넘어 고마운 마음이 가득한 책입니다.
- 유명환 / 한국 최초 ARM 서버 개발 기업, 엑세스랩 대표
IT 환경은 이미 기존 레거시 환경에서 가상화를 거쳐 클라우드 환경과 컨테이너 환경으로 계속해서 변화하며, 진화하고 있습니다. 이러한 변화무쌍한 상황 속에서 운영체제인 리눅스는 클라우드 환경과 컨테이너 환경을 구성하고, 다양한 가상화 자원이 하드웨어 자원을 잘 사용할 수 있도록 지원합니다.
마이클 하우센블라스의 『모던 리눅스 교과서』에는 이렇듯 급변하는 기술 트렌드에 발 맞춰 개발자들이 필수로 알아야 할 운영체제의 개념과 명령어 들이 잘 정리되어 있습니다. 그렇다 보니 이 책은 리눅스 배포판 종류와 상관없이 잘 정리된 리눅스 잡학백과를 읽고 있는 듯한 느낌을 줍니다.
리눅스 운영환경을 사용하거나, 리눅스 위에서 클라우드 환경이나 컨테이너 환경을 사용하는 엔지니어라면 이 책을 통해 리눅스가 어떤 아키텍처로 구성되고 어떤 순서에 의해 실행되는지는 물론, 리눅스의 개념 하나 하나까지 잘 이해할 수 있을 것입니다.
- 장현정 / 한국 레드햇 시니어 컨설턴트, 『처음 배우는 셸 스크립트』 저자
구식의 리눅스 배포 관리자로 활약해온 나이기에, 클라우드 네이티브 기술이 부상하면서 대부분의 개발자들이 리눅스 시스템과 인터페이스하는 방식은 완전히 바뀌었다. 컨테이너부터 eBPF, 그리고 그 이상까지 모던 리눅스의 다양한 측면으로 개발자를 안내해주는 이 책을 강력히 추천한다.
- 크리스 아니슈치크 / 클라우드 네이티브 컴퓨팅 재단(CNCF) CTO
지은이 마이클 하우센블라스Michael Hausenblas
아마존 웹 서비스(AWS)의 오픈소스 관측가능성 서비스 팀의 솔루션 엔지니어링 책임자다. 메소스(Mesos)부터 쿠버네티스에 이르는 데이터 엔지니어링과 컨테이너 오케스트레이션으로서 경력을 쌓았다. W3C와 IETF에서 표준화 활동을 했으며, 요즘은 주로 고(Go) 언어로 코드를 작성한다. 아마존에 합류하기 전에는 레드햇, 메소스피어(Mesosphere)(현재 D2iQ), 맵알MapR(현재 HPE의 일부)에서 근무했으며 10여 년간 응용 연구(applied research) 분야에 몸담은 바 있다.
『모던 리눅스 교과서』에 오신 것을 진심으로 환영한다! 여러분과 이 여정을 잠시나마 함께하게 되어 매우 기쁘다. 이 책은 이미 리눅스를 사용하고 있지만 더 깊은 지식을 탐구하기 위해 구조화된 접근 방식과 실습 과제를 함께 찾는 분이나, 이미 경험이 있지만 리눅스로 작업할 때의 흐름을 개선하기 위한 몇 가지 팁과 요령을 얻고 싶은 분을 위한 것이다. 예를 들어 개발이나 운영 같은 전문적인 환경에서 말이다.
이 책에서는 시스템 관리 측면보다는 개발부터 사무 관련 작업에 이르기까지 일상적인 업무에서 리눅스를 사용하는 데 집중할 것이다. 또한 UI가 아니라 커맨드라인(CLI)을 사용하는 것에 초점을 맞출 예정이다. 물론 당장에라도 데스크톱 리눅스의 시대가 펼쳐질지도 모르지만, 여기서는 리눅스와 상호 작용하는 주요 방법으로 터미널을 사용할 예정이다. 이를 통해 라즈베리 파이부터 여러분이 선택한 클라우드 공급자의 가상 머신에 이르기까지 다양한 설정과 환경에서 우리가 배운 내용을 동일하게 적용할 수 있다는 추가적인 장점도 누릴 수 있다.
시작하기 전에 이제까지 내가 경험한 여정을 공유하여 몇 가지 정보를 알려드리고자 한다. (때는 1980년대 후반) 내가 써본 첫 번째 운영체제는 리눅스가 아니라 아미가OS였다. 이후 기술 고등학교에 다닐 시기에는 마이크로소프트 DOS와 당시 새로 나왔던 마이크로소프트 윈도우를 주로 사용했는데, 특히 이벤트 시스템과 사용자 인터페이스(UI) 관련 개발을 중심으로 경험했다. 그러다가 1990년대 중후반 대학을 다닐 무렵 연구실에서는 유닉스 기반의 솔라리스와 실리콘 그래픽스 머신을 주로 사용했다. 사실 2000년대 중반에 이르러서야 빅 데이터의 맥락에서 리눅스에 입문했고, 2015년 메소스피어에서 아파치 메소스를 사용하면서 처음으로 컨테이너 작업을 시작했으며, 그러고 나서 쿠버네티스를 다루게 됐다(처음에는 레드햇의 오픈시프트 팀에서, 이후에는 AWS의 컨테이너 서비스 팀에서). 이때 나는 이 바닥에서 업무를 효과적으로 하려면 리눅스를 마스터해야 한다는 사실을 비로소 깨달았다. 리눅스는 고유하다. 리눅스의 배경과 전 세계의 사용자 커뮤니티, 다용도성, 유연성이 그 고유함을 만들고 있다.
리눅스는 매우 흥미로우며, 개개인과 벤더사 모두를 위해 지속적으로 성장하는 오픈소스 생태계다. 50달러짜리 라즈베리 파이부터 여러분이 좋아하는 클라우드 제공업체의 가상 머신, 화성 탐사 차량에 이르기까지, 리눅스는 태양이 비치는 거의 모든 곳에서 실행된다. 리눅스가 탄생한 지도 30년이 훌쩍 지났지만 앞으로도 그 빛이 바랠 일은 한동안 없을 듯하니, 리눅스에 대해 좀 더 깊이 알아보고 싶다면 바로 지금 시작해야 한다.
옮긴이 송지연
지엔텔, 노키아 지멘스 네트웍스에서 근무한 경험이 있는 WCDMA, LTE 분야의 통신 기술 엔지니어출신으로 취미로 팀을 만들어 개발에 한동안 푹 빠져 있기도 했다. 현재는 주 전공인 소프트웨어 개발 분야로 돌아와서, 오라클 개발팀을 거쳐 Roku에서 PM으로 근무 중이다. 번역한 책으로는 『임베디드 리눅스 프로그래밍 완전정복 2/e』, 『한눈에 빠져드는 셸 스크립트 2/e』, 『리눅스 실전 가이드』, 그리고 전자책으로 출간된 『스프링 핵심 노트』 등이 있다.
이 책을 선택한 독자들께서도 모두 느끼겠지만, 리눅스는 탄생한 지 어느덧 30년이 지났음에도 시간이 지날수록 쇠퇴하기는커녕 점점 더욱 중요한 운영체제로 그 자리를 확고히 다지고 있다.
이 책의 원서는 오라일리 출판사의 『Learning Modern Linux』로서 리눅스, 특히 최근의 모던 리눅스에 대해 독자들이 전반적으로 잘 이해할 수 있도록 필수 지식이 체계적으로 잘 정리되어 있다. 이 책에서는 우선 리눅스의 전반적인 역사를 가볍게 훑어보고, 현재는 어떻게 더 발전하고 있는지, 모던 리눅스와 고전 리눅스의 차이 등에 대해서도 잘 설명한다. 또한, 최신 클라우드 환경에서 리눅스 개발과 운영에 사용할 수 있는 여러 도구, 특히 현재 필드에서 가장 많이 사용되고 있는 모던 리눅스의 핵심 도구(프로메테우스, 그라파나, 커버로스 등)를 실용적으로 사용할 수 있도록 소개하며, 그 주요 개념에 대해서도 집중해서 다룬다.
이 책을 번역하면서 리눅스를 조금 더 깊숙이 알게 된 것 같아 뿌듯한 기분이 든다. 또한 그간 오랜 시간 리눅스를 다뤄왔고 몇 권의 서적을 번역하면서도 다른 책에서는 중점적으로 다루지 못했던 최신 리눅스의 변경사항이나 새롭게 등장한 다양한 도구와 개념들을 이번 기회에 국내 독자분들에게 소개해드릴 수 있어서 개인적으로 여러모로 마음에 드는 책이다. 이 책의 저자인 마이클 하우센블라스 또한 리눅스 관리자로 오랫동안 경력을 쌓은 만큼 이 책에 담긴 실제 필드에서 겪은 생생한 경험담도 국내 독자들에게 많은 도움이 될 것을 의심치 않는다.
차례
1장 리눅스 소개
모던(현대적인) 환경이란 무엇인가
(지금까지의) 리눅스 이야기
운영체제는 왜 필요한가
리눅스 배포판
리소스 가시성
리눅스 운영체제의 전체 개요
정리
2장 리눅스 커널
리눅스 아키텍처
CPU 아키텍처
__x86 아키텍처
__ARM 아키텍처
__RISC-V 아키텍처
커널 구성요소
__프로세스 관리
__메모리 관리
__네트워킹
__파일시스템
__디바이스 드라이버
__시스템 콜
커널 확장
__모듈
__커널을 확장하는 현대적인 방법: eBPF
정리
3장 셸과 스크립팅
기본 개요
__터미널
__셸
__모던 리눅스 명령어
__일반 작업
인간 친화적인 셸
__피시 셸
__Z셸
__그 밖의 최신 셸
__어떤 셸을 사용해야 할까
터미널 멀티플렉서
__screen
__tmux
__그 밖의 멀티플렉서
__어떤 멀티플렉서를 사용해야 할까
스크립팅
__스크립팅의 기본 개요
__이식 가능한 배시 스크립트 작성
__스크립트 린트와 테스트
__전체 예제: 깃허브 사용자 정보 스크립트
정리
4장 접근 제어
기본 개요
__리소스와 소유권
__샌드박스
__접근 제어 유형
사용자
__로컬에서 사용자 관리하기
__중앙집중 사용자 관리
권한
__파일 권한
__프로세스 권한
고급 권한 관리
__캐퍼빌리티
__seccomp 프로필
__접근 제어 목록
우수 사례
정리
5장 파일시스템
기본 개요
가상 파일시스템
__논리 볼륨 관리자
__파일시스템 작업
__범용 파일시스템 레이아웃
의사 파일시스템
__procfs
__sysfs
__devfs
일반 파일
__범용 파일시스템
__인메모리 파일시스템
__쓰기 시 복사(CoW) 파일시스템
정리
6장 애플리케이션, 패키지 관리, 컨테이너
기본 개요
리눅스 시작 프로세스
systemd
__유닛
__systemctl로 관리하기
__journalctl로 모니터링하기
__예제: greeter 스케줄링
리눅스 애플리케이션 공급망
패키지와 패키지 관리자
__RPM 패키지 관리자
__데비안 deb
__프로그래밍 언어별 패키지 관리자
컨테이너
__리눅스 네임스페이스
__리눅스 cgroup
__쓰기 시 복사(CoW) 파일시스템
__도커
__다른 컨테이너 도구
최신 패키지 관리자
정리
7장 네트워킹
기본 개요
TCP/IP 스택
__링크 계층
__인터넷 계층
__전송 계층
__소켓
DNS
__DNS 레코드
__DNS 조회
애플리케이션 계층 네트워킹
__웹
__시큐어 셸(SSH)
__파일 전송
__네트워크 파일 시스템(NFS)
__윈도우와의 공유
고급 네트워크
__whois
__동적 호스트 구성 프로토콜(DHCP)
__네트워크 타임 프로토콜(NTP)
__wireshark와 tshark
__그 밖의 고급 도구
정리
8장 관측가능성
기본 개요
__관측가능성 전략
__용어
__시그널 유형
로깅
__Syslog
__journalctl
모니터링
__디바이스 I/O와 네트워크 인터페이스
__통합 성능 모니터
__계측
고급 관측가능성
__추적과 프로파일링
__프로메테우스와 그라파나
정리
9장 심화 주제
프로세스 간 통신
__시그널
__이름 있는 파이프
__유닉스 도메인 소켓
가상 머신
__커널 기반 가상 머신
__파이어크래커
모던 리눅스 배포판
__레드햇 엔터프라이즈 리눅스 코어OS
__플랫카 컨테이너 리눅스
__보틀로켓
__랜처OS
특별한 보안 도구
__커버로스
__장착형 인증 모듈
그 밖의 유망한 제품군
__닉스OS
__데스크톱 컴퓨터상의 리눅스
__임베디드 시스템상의 리눅스
__클라우드 IDE상의 리눅스
정리
부록 A 리눅스 작업에 유용한 치트시트
부록 B 모던 리눅스 도구
'+ 펴낸 책' 카테고리의 다른 글
디자인, 이것만 알면 쉬워져요 with 63가지 LESSON (2) | 2024.02.21 |
---|---|
OpenAPI와 스웨거를 활용한 실전 API 설계 (3) | 2023.12.13 |
자바 알고리즘 인터뷰 with 코틀린 (10) | 2023.09.12 |
필독! 개발자 온보딩 가이드 (0) | 2023.05.22 |
게임 시스템 디자인 입문 (0) | 2023.03.24 |
댓글