入門 モダンLinux

―オンプレミスからクラウドまで、幅広い知識を会得する

[cover photo]
TOPICS
Linux
発行年月日
PRINT LENGTH
248
ISBN
978-4-8144-0021-8
原書
Learning Modern Linux
FORMAT
Print PDF EPUB
Ebook
3,080円
Ebookを購入する
Print
3,080円

Linuxはサーバ、組み込み機器、スーパーコンピュータなどにおいて存在感を示してきました。近年では、オンプレミスのシステムだけではなく、クラウドサービスでも広く使われています。本書は、前半でLinuxを使いこなす上で必要な基本知識を、後半で最新情報をまとめています。Linuxの知識を体系的に整理したい、最新動向が知りたい、運用を改善したい、効率的に開発を行いたい、といった要望をかなえる内容となっています。時代の変化に柔軟に対応できるLinux技術者を目指すなら必読の一冊です。

目次

訳者まえがき
はじめに

1章 Linuxの入門
    1.1 モダンな環境とは何か?
    1.2 これまでのLinuxの歴史
    1.3 なぜオペレーティングシステムなのか?
    1.4 Linuxディストリビューション
    1.5 リソースの可視性
    1.6 Linuxの全体像
    1.7 まとめ

2章 Linuxカーネル
    2.1 Linuxアーキテクチャ
    2.2 CPUアーキテクチャ
        2.2.1 x86アーキテクチャ
        2.2.2 ARMアーキテクチャ
        2.2.3 RISC-Vアーキテクチャ
    2.3 カーネルコンポーネント
        2.3.1 プロセス管理
        2.3.2 メモリ管理
        2.3.3 ネットワーク
        2.3.4 ファイルシステム
        2.3.5 デバイスドライバ
        2.3.6 システムコール
    2.4 カーネルの拡張
        2.4.1 モジュール
        2.4.2 モダンなカーネル拡張:eBPF
    2.5 まとめ

3章 シェルとスクリプト
    3.1 基本用語
        3.1.1 ターミナル
        3.1.2 シェル
        3.1.3 モダンなコマンド
        3.1.4 一般的なタスク
    3.2 使いやすいシェル
        3.2.1 fishシェル
        3.2.2 Zシェル
        3.2.3 他のモダンなシェル
        3.2.4 どのシェルを使うべきか?
    3.3 ターミナルマルチプレクサ
        3.3.1 screen
        3.3.2 tmux
        3.3.3 他のマルチプレクサ
        3.3.4 どのマルチプレクサを使うべきか?
    3.4 スクリプト
        3.4.1 スクリプトの基本
        3.4.2 移植性の高いbashスクリプトの書き方
        3.4.3 スクリプトのlintとテスト
        3.4.4 GitHubのユーザ情報スクリプト
    3.5 まとめ

4章 アクセス制御
    4.1 基本
        4.1.1 リソースと所有権
        4.1.2 サンドボックス化
        4.1.3 アクセス制御の種類
    4.2 ユーザ
        4.2.1 ローカルでのユーザ管理
        4.2.2 ユーザの一元管理
    4.3 パーミッション
        4.3.1 ファイルのパーミッション
        4.3.2 プロセスの権限
    4.4 高度な権限管理
        4.4.1 ケーパビリティ
        4.4.2 seccompプロファイル
        4.4.3 ACL
    4.5 アクセス制御のよい実践方法
    4.6 まとめ

5章 ファイルシステム
    5.1 基本
    5.2 仮想ファイルシステム
        5.2.1 論理ボリュームマネージャ
        5.2.2 ファイルシステムの操作
        5.2.3 一般的なファイルシステムレイアウト
    5.3 擬似ファイルシステム
        5.3.1 procfs
        5.3.2 sysfs
        5.3.3 devfs
    5.4 通常のファイル
        5.4.1 一般的なファイルシステム
        5.4.2 インメモリファイルシステム
        5.4.3 コピーオンライトファイルシステム
    5.5 まとめ

6章 アプリケーション、パッケージ管理、コンテナ
    6.1 基本
    6.2 Linuxの起動プロセス
    6.3 systemd
        6.3.1 ユニット
        6.3.2 systemctlによる管理
        6.3.3 journalctlによる監視
        6.3.4 greeterのスケジューリング例
    6.4 Linuxアプリケーションのサプライチェーン
    6.5 パッケージとパッケージマネージャ
        6.5.1 RPMパッケージマネージャ
        6.5.2 Debian deb
        6.5.3 言語固有のパッケージマネージャ
    6.6 コンテナ
        6.6.1 namespace
        6.6.2 cgroup
        6.6.3 コピーオンライトファイルシステム
        6.6.4 Docker
        6.6.5 他のコンテナ関連のツール
    6.7 モダンなパッケージマネージャ
    6.8 まとめ

7章 ネットワーク
    7.1 基本
    7.2 TCP/IPスタック
        7.2.1 リンク層
        7.2.2 インターネット層
        7.2.3 トランスポート層
        7.2.4 ソケット
    7.3 DNS
        7.3.1 DNSレコード
        7.3.2 DNSルックアップ
    7.4 アプリケーション層ネットワーク
        7.4.1 ウェブ
        7.4.2 SSH
        7.4.3 ファイル転送
        7.4.4 NFS
        7.4.5 Windowsとのファイル共有
    7.5 ネットワークの高度なトピック
        7.5.1 whois
        7.5.2 DHCP
        7.5.3 NTP
        7.5.4 wiresharkとtshark
        7.5.5 他の高度なツール
    7.6 まとめ

8章 オブザーバビリティ(可観測性)
    8.1 基本
        8.1.1 オブザーバビリティの戦略
        8.1.2 用語
        8.1.3 シグナルの種類
    8.2 ログ
        8.2.1 Syslog
        8.2.2 journalctl
    8.3 監視
        8.3.1 I/Oデバイスとネットワークインタフェース
        8.3.2 統合パフォーマンス監視
        8.3.3 インスツルメンテーション
    8.4 高度なオブザーバビリティ
        8.4.1 トレースとプロファイリング
        8.4.2 PrometheusとGrafana
    8.5 まとめ

9章 高度なトピック
    9.1 プロセス間通信
        9.1.1 シグナル
        9.1.2 名前付きパイプ
        9.1.3 UNIXドメインソケット
    9.2 仮想マシン
        9.2.1 KVM
        9.2.2 Firecracker
    9.3 モダンなLinuxディストリビューション
        9.3.1 Red Hat Enterprise Linux CoreOS
        9.3.2 Flatcar Container Linux
        9.3.3 Bottlerocket
        9.3.4 RancherOS
    9.4 セキュリティに関するトピック
        9.4.1 Kerberos
        9.4.2 PAM
    9.5 その他のモダンLinuxの話、あるいは将来の話
        9.5.1 NixOS
        9.5.2 デスクトップ版Linux
        9.5.3 組み込みシステムにおけるLinux
        9.5.4 クラウドIDEにおけるLinux
    9.6 まとめ

付録A 便利なコマンド集
    A.1 システム情報
    A.2 ユーザとプロセス
    A.3 ファイル情報
    A.4 ファイルとディレクトリ
    A.5 リダイレクトとパイプ
    A.6 時刻と日付
    A.7 Git
    A.8 システムパフォーマンス

付録B モダンLinuxツール

索 引