入門 モダン Linux
ニュウモンモダンリナックス
オンプレミスからクラウドまで、幅広い知識を会得する
- 著者:
- Michael Hausenblas / 武内 覚 / 大岩 尚宏(マイケル ハウゼンブラス / タケウチ サトル / オオイワ ナオヒロ)
- 出版社:
- オライリー・ジャパン
- 出版日:
- 2023年04月07日
- ISBN:
- 9784814400218
- 在庫:
- 在庫あり
なぜ注目されているか
書籍紹介
技書の森解説
Docker や Kubernetes の上でサービスを動かしていても、その下の Linux で何が起きているかを説明できる人は多くありません。『入門 モダン Linux』 (Michael Hausenblas 著、武内 覚 / 大岩 尚宏 訳、オライリー・ジャパン発行、オーム社発売、2023 年 4 月刊) は、O'Reilly の "Learning Modern Linux" の邦訳で、副題に「オンプレミスからクラウドまで、幅広い知識を会得する」と掲げるとおり、カーネルの構造から cgroup と namespace によるコンテナ、eBPF、オブザーバビリティまでを 1 冊で見渡す技術書です。書名に「入門」とありますが、版元の案内では普段から Linux を使っていて動向を知りたい、作業を改善したい、知識を体系的に整理したいと考える中上級者向けの内容と位置づけられ、「イマドキの中上級者向けの Linux のリファレンス」として入門書では扱わない内容もカバーすると説明されています。
全 9 章の構成、カーネルとシェルの基本からコンテナと可観測性へ
構成は全 9 章と付録 2 本です。1 章「Linux の入門」で Linux の歴史、ディストリビューション、リソースの可視性、全体像を押さえ、2 章「Linux カーネル」で x86 / ARM / RISC-V の CPU アーキテクチャ、プロセス管理、メモリ管理、システムコールといったカーネルコンポーネントと、モジュールおよび eBPF によるカーネルの拡張を扱います。3 章「シェルとスクリプト」は fish シェルや Z シェル、screen と tmux、移植性の高い bash スクリプトの書き方とスクリプトの lint とテスト、4 章「アクセス制御」はユーザ管理、パーミッション、ケーパビリティ、seccomp プロファイル、ACL、5 章「ファイルシステム」は仮想ファイルシステム、論理ボリュームマネージャ、procfs / sysfs / devfs、コピーオンライトファイルシステムです。6 章「アプリケーション、パッケージ管理、コンテナ」では Linux の起動プロセス、systemd、Linux アプリケーションのサプライチェーン、RPM と Debian deb、namespace と cgroup と Docker を、7 章「ネットワーク」では TCP/IP スタック、DNS、SSH、NFS、DHCP、NTP、wireshark と tshark を、8 章「オブザーバビリティ (可観測性)」では Syslog と journalctl、監視、トレースとプロファイリング、Prometheus と Grafana を取り上げます。9 章「高度なトピック」はプロセス間通信、KVM と Firecracker による仮想マシン、Red Hat Enterprise Linux CoreOS / Flatcar Container Linux / Bottlerocket / RancherOS といったモダンな Linux ディストリビューション、Kerberos と PAM、NixOS、組み込みシステムやクラウド IDE における Linux まで及び、付録 A が便利なコマンド集、付録 B がモダン Linux ツールです。
「モダン」の中身、コンテナと eBPF を支えるカーネル機能
この本が「モダン」と呼ぶものの正体は、新しい OS ではなく、既存のカーネル機能の組み合わせ方の変化です。コンテナは魔法の技術ではなく、namespace と cgroup でプロセスの見える範囲と使えるリソースを区切り、コピーオンライトのファイルシステムでイメージの層を重ねる、という Linux の機能の束であり、Docker はそれを扱いやすく包んだツールにすぎません。eBPF はカーネルを再ビルドせずに、検証済みの小さなプログラムをカーネル内で安全に走らせる仕組みで、ネットワーク処理やセキュリティ、性能計測の手段として広がりました。オブザーバビリティ の章がログ / 監視 / トレースをまとめて扱うのも、クラウド上の多数のインスタンスやコンテナでは、1 台にログインして眺める運用が成り立たなくなったからです。本書はこれらを、ディストリビューションごとの管理コマンドの暗記ではなく、カーネルの機能名と役割の水準で結び直します。管理者としての Linux の知識と、コンテナや可観測性ツールという実務側の道具立てが、1 本の線でつながる読み方ができる本です。
普段から Linux を使う中上級者向け、初学者が読むと合わない点
前提として、シェルでの日常的な操作と、プロセスやファイルシステムといった OS の基本語彙は既知として進みます。書名の「入門」はモダンな話題への入り口という意味であり、Linux そのものの初学者向けの本ではないと読むのが版元案内と整合します。ターミナルの操作をこれから覚える段階なら、Linux の技術書の選び方 で挙げるようなコマンドライン操作の入門書を先に済ませてから戻ってくるほうが、9 章分の密度を無駄にしません。目次には特定のディストリビューションの管理手順や資格試験の出題範囲に沿った章はなく、認定試験の対策書として使う本でもありません。2023 年 4 月刊のため、収録されているツールやディストリビューションの顔ぶれはその時点の状況を前提に読む必要があります。
著者と訳者の経歴、この本で元が取れる読者
書店掲載の書誌 (出版社提供) によると、著者の Michael Hausenblas は刊行時点で Amazon Web Services のオープンソースのオブザーバビリティサービスチームでソリューションエンジニアリングリードを務め、データエンジニアリングと、Mesos から Kubernetes までのコンテナオーケストレーションのバックグラウンドを持ち、それ以前は Red Hat、Mesosphere、MapR で 10 年間応用研究に従事した人物です。訳者の武内覚は 2005 年から 2017 年まで富士通でエンタープライズ向け Linux、とくにカーネルの開発とサポートに従事し、2017 年からサイボウズの技術顧問、2018 年に同社へ入社して cybozu.com の新インフラのストレージ開発に従事し、大岩尚宏はサーバ向けや組み込み向けの Linux でユーザ空間とカーネルを問わず調査や不具合の解析をしている、と紹介されています。読み終えると、コンテナが動いている土台を cgroup や namespace、seccomp といった名前と役割で説明でき、障害時に procfs や journalctl、トレースツールのどこを見るかを自分で判断でき、シェルスクリプトを移植性と lint を意識して書けるようになる、という実務の底上げが期待できます。Docker や Kubernetes を運用しているが下層が見えていないエンジニア、クラウドのインスタンスやコンテナで Linux を触るインフラ開発者、版元が挙げる車載 OS や組み込みで Linux に関わる開発者にとって、断片的な知識を 1 冊で体系に戻せる本書は、投じた時間を早く回収できる選択です。
言及した記事 (38 件)
「入門モダンLinux」を読みました
♡ 34linux, book学習ロードマップ
♡ 9入門, ロードマップ, 未経験エンジニア, 30代【初心者向け】システムパフォーマンス関連まとめ【それぞれ5分で読める】
♡ 6初心者向け, システムパフォーマンス【初心者向け】ディスク I/O の基本概念(コンセプト)【5分で読める】
♡ 5Linux, 初心者向け, ディスク, ディスクIOLinux初学者におすすめの入門書8選
♡ 4Linux情報系専門学校に入学して3年目で得たこと
♡ 4初心者, 振り返りmastodon サーバを v3.3.3 から v4.1.4 までバージョンアップする (Non-Docker)
♡ 4mastodon【初心者向け】メモリのアーキテクチャ【5分で読める】
♡ 2Linux, メモリ, 初心者向けReact+Fastapi+Mariadbで、Dockerを使ったフルスタックアプリを作る
♡ 2mariadb, Docker, React, FastAPI【初心者向け】システムパフォーマンス分析の方法論(メソドロジ)【5分で読める】
♡ 1Linux, 初心者向け, システムパフォーマンス, メソドロジ
この本に興味がある方におすすめ
関連する本
関連記事
障害対応の夜に思い出す、あの本の 1 ページ
本番障害の緊迫した場面で、過去に読んだ技術書の知識が助けてくれることがあります。「いつか役立つ」知識が「今この瞬間」に変わる読書の価値を考えます。
副業エンジニアの武器になる 1 冊の見つけ方
副業で技術力を売るエンジニアが、限られた時間で最大のリターンを得る選書戦略と、本業との差別化に効く本の選び方を解説します。
Linux 本ガイド - コマンドライン / しくみ / 性能の 3 層で選ぶ技術書
Linux を学ぶ技術書の選び方を 3 層 (コマンドラインの操作 → カーネルのしくみ → 性能と運用) で整理。新しい Linux の教科書や [試して理解] Linux のしくみなどの定番書の使い分けと、学ぶ順番を解説します。