関連サイト
本書の関連ページが用意されています。
内容紹介
Linuxの動作・構成・設定とその関係が理解できる! 各テーマについて背景・理論・実例を解説。
<英語版はのべ5万部超のベストセラー! Linuxで実践したいことができるように内部動作を把握しよう>
取り上げる主なテーマは、システムの全体像、コマンドとディレクトリ、ディスクとファイルシステム、デバイス、カーネルやシステムの起動、プロセスと資源、ネットワークと設定、ファイル転送と共有、ユーザー環境、開発ツール・コンパイル、仮想化など。
【本書「まえがき」より】
この本の章を三つの基本部分にグループ分けすると、最初は入門であり、Linuxシステムの全体像を示して、Linuxを使っていく上で必要なツールを用いたハンズオン(具体的手法)を提供しています。次に、デバイス管理からネットワーク設定、そして、システム起動時の一般的な順序といったシステムの各部分の詳細を説明します。最後に、動作中のシステムを見て、基本的なスキルを学び、さらに、プログラマが使うツールについて学びます。
【推薦の言葉】Linuxに興味があるのなら必読の書籍です――『LinuxInsider』。
Linuxアーキテクチャのあらゆる角度から多くの情報を提供しています――『Everyday Linux User』。
詳細に深入りせずに、内部で何が行われるかについて必要な理解を得られます。この本は、Linuxの書籍の中でもとても新鮮で、全面的に推薦します――Phil Bull、『Ubuntu Made Easy』の共著者、Ubuntuドキュメンテーションチーム。
Linuxに基づくオペレーティングシステムの透明な深みへ飛び込んで、すべてがどのようにつなぎ合わされているのかを示しています――『DistroWatch』。
必要不可欠な書籍として書棚に置かれることでしょう――『MagPiマガジン』
書誌情報
- 著者: Brian Ward(著), 柴田 芳樹(訳)
- 発行日: 2022-03-08 (紙書籍版発行日: 2022-03-08)
- 最終更新日: 2022-03-08
- バージョン: 1.0.0
- ページ数: 496ページ(PDF版換算)
- 対応フォーマット: PDF, EPUB
- 出版社: インプレス
対象読者
◎Linuxの知識/技術をレベルアップしたい方 ◎Linuxコマンドの基本を知っているが、システムの内部はあまり詳しくない方
著者について
Brian Ward
1993年から仕事上でLinuxに携わっている。著書に『The Linux Kernel HOWTO』、『The Book of VMware』、『The Linux Problem Solver』(以上、No Starch Press)などがある。
柴田 芳樹
1959年生まれ。九州工業大学情報工学科で情報工学を学び、1984年同大学大学院で情報工学修士課程を修了。パロアルト研究所を含む米国ゼロックス社での5年間のソフトウェア開発も含め、Unix(Solaris/Linux)、C、Mesa、C++、Java、Goなどを用いたさまざまなソフトウェア開発に従事してきた。現在もソフトウェア開発に従事し、個人的な活動として技術教育やコンサルテーションなどを行っている。2000年以降、私的な時間に技術書の翻訳や講演なども多く行っている。
目次
推薦の言葉
著者・テクニカルレビューアー紹介
日本語版によせて
目次
- 謝辞
まえがき
第1章 Linuxシステムの全体像
- 1.1 Linuxシステムにおける抽象化のレベルとレイヤ
- 1.2 ハードウェア:メインメモリの理解
- 1.3 カーネル
- 1.4 ユーザー空間
- 1.5 ユーザー
- 1.6 今後の展望
第2章 基本コマンドとディレクトリ階層/2.1 ボーンシェル(Bourne Shell):/bin/s
- 2.2 シェルを使う
- 2.3 基本レベルのコマンド
- 2.4 ディレクトリ操作
- 2.5 中級レベルのコマンド
- 2.6 パスワードとシェルの変更/2.7 ドットファイル
- 2.8 環境変数とシェル変数
- 2.9 コマンドパス/2.10 特殊文字
- 2.11 コマンドラインの編集
- 2.12 テキストエディタ
- 2.13 オンラインヘルプ
- 2.14 シェルの入出力
- 2.15 エラーメッセージの理解
- 2.16 プロセスの一覧表示と操作
- 2.17 ファイルのモードとパーミッション
- 2.18 ファイルのアーカイブと圧縮
- 2.19 Linuxディレクトリ階層の概要
- 2.20 スーパーユーザーとしてコマンドを実行
- 2.21 今後の展望
第3章 デバイス/3.1 デバイスファイル
- 3.2 sysfsデバイスパス
- 3.3 ddとデバイス
- 3.4 デバイス名の概要
- 3.5 udev
- 3.6 詳細:SCSIとLinuxカーネル
第4章 ディスクとファイルシステム
- 4.1 ディスクデバイスの分割
- 4.2 ファイルシステム
- 4.3 スワップ領域
- 4.4 論理ボリュームマネージャ
- 4.5 今後の展望:ディスクとユーザー空間
- 4.6 従来のファイルシステムの内部
第5章 Linux カーネルの起動の仕組み/5.1 起動メッセージ
- 5.2 カーネルの初期化と起動オプション
- 5.3 カーネルのパラメータ
- 5.4 ブートローダ
- 5.5 GRUBの紹介
- 5.6 UEFI セキュアブートの問題
- 5.7 他のオペレーティングシステムのチェインロード
- 5.8 ブートローダの詳細
第6章 ユーザー空間の開始の仕組み/6.1 initの概要
- 6.2 initの特定
- 6.3 system
- 6.4 System Vのランレベル
- 6.5 System V init
- 6.6 システムのシャットダウン
- 6.7 初期RAM ファイルシステム
- 6.8 緊急起動とシングルユーザーモード
- 6.9 今後の展望
第7章 システム設定:ロギング、システム時間、バッチジョブ、ユーザー/7.1 システムロギング
- 7.2 /etcの構造/7.3 ユーザー管理ファイル
- 7.4 gettyとlogin
- 7.5 時刻の設定
- 7.6 cronとタイマーユニットによる繰り返しタスクのスケジューリング
- 7.7 atでスケジューリングしたタスクを一度だけ実行
- 7.8 通常ユーザーとして動作するタイマーユニット
- 7.9 ユーザーアクセスの話題
- 7.10 プラグイン可能認証モジュール
- 7.11 今後の展望
第8章 プロセスと資源利用の詳細/8.1 プロセスの追跡
- 8.2 lsofで開いているファイルの検索
- 8.3 プログラム実行とシステムコールのトレース
- 8.4 スレッド
- 8.5 資源監視の概要
- 8.6 コントロールグループ(cgroup
- 8.7 その他の話題
第9章 ネットワークとその設定の理解/9.1 ネットワークの基礎
- 9.2 パケット/9.3 ネットワークレイヤ
- 9.4 インターネットレイヤ
- 9.5 ルートとカーネルのルーティングテーブル
- 9.6 デフォルトゲートウェイ
- 9.7 IPv6アドレスとネットワーク
- 9.8 ICMPとDNSの基本ツール
- 9.9 物理レイヤとイーサネット
- 9.10 カーネル・ネットワーク・インタフェースの理解
- 9.11 ネットワークインタフェースの設定方法
- 9.12 自動起動ネットワーク設定
- 9.13 手作業と自動起動ネットワーク設定の問題点
- 9.14 ネットワーク設定マネージャ
- 9.15 ホスト名の解決
- 9.16 localhost
- 9.17 トランスポートレイヤ:TCP、UDP、サービス
- 9.18 再訪:簡単なローカルネットワーク
- 9.19 DHCPの理解
- 9.20 IPv6ネットワークの自動設定
- 9.21 ルーターとしてのLinuxの設定
- 9.22 プライベートネットワーク(IPv4)
- 9.23 ネットワークアドレス変換(IPマスカレード)
- 9.24 ルーターとLinux
- 9.25 ファイアウォール
- 9.26 イーサネット、IP、ARP、NDP
- 9.27 無線イーサネット
- 9.28 まとめ
第10章 ネットワークのアプリケーションとサービス/10.1 サービスの基本
- 10.2 詳しく調べる
- 10.3 ネットワークサーバ
- 10.4 systemd以前のネットワーク接続サーバ:inetd/xinetd
- 10.5 診断ツール
- 10.6 リモート・プロシージャ・コール/10.7 ネットワークセキュリティ
- 10.8 今後の展望
- 10.9 ネットワークソケット
- 10.10 Unixドメインソケット
第11章 シェルスクリプトの概要/11.1 シェルスクリプトの基本
- 11.2 クォートとリテラル
- 11.3 特殊変数
- 11.4 終了コード
- 11.5 条件文
- 11.6 ループ
- 11.7 コマンド置換
- 11.8 一時的なファイルの管理
- 11.9 ヒアドキュメント/11.10 重要なシェルスクリプトのユーティリティ
- 11.11 サブシェル
- 11.12 スクリプトに他のファイルを取り込む/11.13 ユーザー入力の読み込み
- 11.14 シェルスクリプトを使うとき(使わないとき)
第12章 ネットワークでのファイル転送と共有/12.1 素早いコピー
- 12.2 rsync
- 12.3 ファイル共有の概要
- 12.4 Samba によるファイル共有
- 12.5 SSHFS
- 12.6 NFS
- 12.7 クラウドストレージ/12.8 ネットワークファイル共有の現状
第13章 ユーザー環境/13.1 スタートアップファイルの作成ガイドライン
- 13.2 スタートアップファイルを変更するとき/13.3 シェルのスタートアップファイルの要素
- 13.4 スタートアップファイルの順序と例
- 13.5 デフォルトのユーザー設定
- 13.6 スタートアップファイルの落とし穴/13.7 さらなるスタートアップの話題
第14章 Linuxデスクトップと印刷の概要/14.1 デスクトップのコンポーネント
- 14.2 WaylandとXのどちらを使っているのか
- 14.3 Waylandを知る
- 14.4 Xウィンドウシステムを知る
- 14.5 D-Bus
- 14.6 印刷
- 14.7 その他のデスクトップに関する話題
第15章 開発ツール/15.1 C コンパイラ
- 15.2 make
- 15.3 LexとYacc/15.4 スクリプト言語
- 15.5 Java
- 15.6 今後の展望:パッケージのコンパイル
第16章 Cソースコードからのソフトウェアのコンパイル
- 16.1 ソフトウェアのビルドシステム/16.2 Cソースパッケージの展開
- 16.3 GNU autoconf
- 16.4 インストールの実践
- 16.5 パッチを適用
- 16.6 コンパイルとインストールのトラブル解決
- 16.7 今後の展望
第17章 仮想化技術/17.1 仮想マシン
- 17.2 コンテナ
- 17.3 ランタイムに基づく仮想化