Product SiteDocumentation Site

Debian 9

Debian 管理者ハンドブック

Debian Stretch との出会いから習熟まで

エディッション 1

Raphaël Hertzog

法律上の通知

ISBN: 979-10-91414-16-6 (英語ペーパーバック版)
ISBN: 979-10-91414-17-3 (英語電子ブック版)
本書は Debian フリーソフトウェアガイドラインと互換性を持つ 2 種類のライセンスの下で利用できます。
クリエイティブコモンズライセンスの通知
本書はクリエイティブコモンズ表示-継承 3.0 非移植ライセンスの下で許諾されます。
GNU 一般公衆利用許諾の通知
本書は自由な文書です。つまり、あなたはこれを、フリーソフトウェア財団によって発行された GNU 一般公衆利用許諾書 (バージョン 2 か、それ以降のバージョンのうちどれか) が定める条件の下で再頒布または改変することが可能です。
本書は有用であることを願って頒布されますが、「全くの無保証」です。それどころか、商業可能性の保証や特定目的への適合性は、言外に示されたものも含め、全く存在しません。詳しくは GNU 一般公衆利用許諾書をご覧ください。
あなたはこのプログラムとともに、GNU 一般公衆利用許諾書のコピーを 1 部受け取っているはずです。もし受け取っていなければ、http://www.gnu.org/licenses/ をご覧ください。

感謝の気持ちを表すには

われわれ著者は本書が読者の皆様の役に立つことを願っております。そのため、本書は自由なライセンスの下に出版されています。とは言うものの、本書をメンテナンスすることには時間と大きな努力が必要で、われわれ著者はこの点について感謝されることをありがたく思っています。もし本書が有益であると感じたのなら、ペーパーバックを購入したり本書の公式ウェブサイト経由で寄付することで、本書の継続的なメンテナンスに貢献することをご一考ください。

概要

Debian ディストリビューションの新規インストールからサービス設定までを解説した参考書。
序文
前書き
1. 本書の目的とは?
2. 本書の対象者とは?
3. 本書の全体的な方針
4. 本書の構造
5. 謝辞
5.1. 歴史小話
5.2. 貢献者の方々に対する深い感謝
5.3. 翻訳者へのお礼
5.4. Raphaël からの個人的なお礼
5.5. Roland からの個人的なお礼
1. Debian プロジェクト
1.1. Debian とは?
1.1.1. マルチプラットフォームオペレーティングシステム
1.1.2. フリーソフトウェアの品質
1.1.3. 法律的枠組み: 非営利組織
1.2. 基本文書
1.2.1. ユーザに向けた約束
1.2.2. Debian フリーソフトウェアガイドライン
1.3. Debian プロジェクトの内部の仕組み
1.3.1. Debian 開発者
1.3.2. ユーザの積極的役割
1.3.3. チームとサブプロジェクト
1.4. Debian ニュースを追いかける
1.5. ディストリビューションの役割
1.5.1. インストーラ、debian-installer
1.5.2. ソフトウェアライブラリ
1.6. リリースライフサイクル
1.6.1. 実験版状態
1.6.2. 不安定版状態
1.6.3. テスト版への移行
1.6.4. テスト版から安定版への昇格
1.6.5. 旧安定版前旧安定版状態
2. ケーススタディの提示
2.1. 急成長する IT の必要性
2.2. 基本計画
2.3. GNU/Linux ディストリビューションを選ぶ理由とは?
2.4. Debian ディストリビューションを選ぶ理由とは?
2.4.1. 商用とコミュニティ主導のディストリビューション
2.5. Debian Stretch を選ぶ理由とは?
3. 既存環境の解析と移行
3.1. 異機種環境の共存
3.1.1. Windows マシンとの統合
3.1.2. OS X マシンとの統合
3.1.3. 他の Linux/Unix マシンとの統合
3.2. 移行の方法
3.2.1. サービスの調査と確認
3.2.2. 設定のバックアップ
3.2.3. 既存の Debian サーバの引き継ぎ
3.2.4. Debian のインストール
3.2.5. 選ばれたサービスのインストールと設定
4. インストール
4.1. インストール方法
4.1.1. CD-ROM/DVD-ROM からのインストール
4.1.2. USB メモリからの起動
4.1.3. ネットワークブート経由のインストール
4.1.4. その他のインストール方法
4.2. インストール作業の各段階
4.2.1. 起動とインストーラの開始
4.2.2. 言語の選択
4.2.3. 国の選択
4.2.4. キーボードレイアウトの選択
4.2.5. ハードウェアの検出
4.2.6. コンポーネントの読み込み
4.2.7. ネットワークハードウェアの検出
4.2.8. ネットワークの設定
4.2.9. 管理者パスワード
4.2.10. 1 人目のユーザの作成
4.2.11. 時刻の設定
4.2.12. ディスクや他のデバイスの検出
4.2.13. パーティショニングツールの開始
4.2.14. 基本システムのインストール
4.2.15. パッケージマネージャ (apt) の設定
4.2.16. Debian パッケージ人気コンテスト
4.2.17. インストールするパッケージの選択
4.2.18. GRUB ブートローダのインストール
4.2.19. インストールの完了と再起動
4.3. 初回起動の後
4.3.1. 追加ソフトウェアのインストール
4.3.2. システムのアップグレード
5. パッケージシステム、ツールと基本原則
5.1. バイナリパッケージの構造
5.2. パッケージのメタ情報
5.2.1. 説明、control ファイル
5.2.2. 設定スクリプト
5.2.3. チェックサム、設定ファイルのリスト
5.3. ソースパッケージの構造
5.3.1. フォーマット
5.3.2. Debian 内での使われ方
5.4. dpkg を用いたパッケージの操作
5.4.1. パッケージのインストール
5.4.2. パッケージの削除
5.4.3. dpkg のデータベースへの問い合わせと .deb ファイルの調査
5.4.4. dpkg のログファイル
5.4.5. マルチアーキテクチャサポート
5.5. 他のパッケージングシステムとの共存
6. メンテナンスと更新、APT ツール
6.1. sources.list ファイルの内容
6.1.1. 構文
6.1.2. 安定版 ユーザ用リポジトリ
6.1.3. テスト版/不安定版ユーザ向けリポジトリ
6.1.4. 非公式リソース、mentors.debian.net
6.1.5. Debian パッケージのキャッシュプロキシ
6.2. aptitudeapt-getapt コマンド
6.2.1. 初期設定
6.2.2. インストールと削除
6.2.3. システムのアップグレード
6.2.4. 設定オプション
6.2.5. パッケージ優先度の管理
6.2.6. 複数ディストリビューションの利用
6.2.7. 自動的にインストールされたパッケージの追跡
6.3. apt-cache コマンド
6.4. フロントエンド、aptitudesynaptic
6.4.1. aptitude
6.4.2. synaptic
6.5. パッケージ信頼性の確認
6.6. 安定版から次のディストリビューションへのアップグレード
6.6.1. 推奨手順
6.6.2. アップグレードの後から問題を取り扱う
6.7. システムを最新の状態に保つ
6.8. 自動アップグレード
6.8.1. dpkg の設定
6.8.2. APT の設定
6.8.3. debconf の設定
6.8.4. コマンドラインインターフェースの制御
6.8.5. 奇跡の組み合わせ
6.9. パッケージの検索
7. 問題の解決と関連情報の探索
7.1. 情報源となる文書
7.1.1. マニュアルページ
7.1.2. info 文書
7.1.3. 独自の文書
7.1.4. ウェブサイト
7.1.5. チュートリアル (HOWTO)
7.2. 常套手段
7.2.1. プログラムの設定
7.2.2. デーモンの挙動を監視する
7.2.3. メーリングリストで助けを求める
7.2.4. 問題が難しすぎる場合のバグ報告
8. 基本設定、ネットワーク、アカウント、印刷...
8.1. 他の言語用にシステムを設定
8.1.1. デフォルト言語の設定
8.1.2. キーボードの設定
8.1.3. UTF-8 への移行
8.2. ネットワークの設定
8.2.1. イーサネットインターフェース
8.2.2. PSTN モデム経由の PPP 接続
8.2.3. ADSL モデム経由の接続
8.2.4. ローミングユーザ向けの自動ネットワーク設定
8.3. ホスト名と名前解決サービスの設定
8.3.1. 名前解決
8.4. ユーザとグループのデータベース
8.4.1. ユーザリスト、/etc/passwd
8.4.2. 隠された暗号化パスワードファイル、/etc/shadow
8.4.3. 既存のアカウントやパスワードの変更
8.4.4. アカウントの失効
8.4.5. グループリスト、/etc/group
8.5. アカウントの作成
8.6. シェル環境
8.7. プリンタ設定
8.8. ブートローダの設定
8.8.1. ディスクの識別
8.8.2. LILO の設定
8.8.3. GRUB 2 の設定
8.8.4. Macintosh コンピュータ (PowerPC) の場合、Yaboot の設定
8.9. その他の設定: 時刻同期、ログ、共有アクセス…
8.9.1. タイムゾーン
8.9.2. 時刻同期
8.9.3. ログファイルの循環
8.9.4. 管理者権限の共有
8.9.5. マウントポイントのリスト
8.9.6. locateupdatedb
8.10. カーネルのコンパイル
8.10.1. 前置きと前提条件
8.10.2. ソースの取得
8.10.3. カーネルの設定
8.10.4. パッケージのコンパイルとビルド
8.10.5. 外部モジュールのコンパイル
8.10.6. カーネルパッチの適用
8.11. カーネルのインストール
8.11.1. Debian カーネルパッケージの特徴
8.11.2. dpkg を使ったインストール
9. Unix サービス
9.1. システム起動
9.1.1. systemd init システム
9.1.2. System V init システム
9.2. リモートログイン
9.2.1. 安全なリモートログイン、SSH
9.2.2. リモートグラフィカルデスクトップの利用
9.3. 権限の管理
9.4. 管理インターフェース
9.4.1. ウェブインターフェースを使った管理、webmin
9.4.2. パッケージの設定、debconf
9.5. syslog システムイベント
9.5.1. 原理とメカニズム
9.5.2. 設定ファイル
9.6. inetd スーパーサーバ
9.7. cronatd を使ったスケジューリングタスク
9.7.1. crontab ファイルの書式
9.7.2. at コマンドの利用
9.8. 非同期タスクのスケジューリング、anacron
9.9. クォータ
9.10. バックアップ
9.10.1. rsync を使ったバックアップ
9.10.2. バックアップなしのマシンの復元
9.11. ホットプラグ機能、hotplug
9.11.1. 前書き
9.11.2. 命名問題
9.11.3. udev の動作原理
9.11.4. 具体例
9.12. 電源管理、Advanced Configuration and Power Interface (ACPI)
10. ネットワークインフラ
10.1. ゲートウェイ
10.2. 仮想プライベートネットワーク
10.2.1. OpenVPN
10.2.2. SSH を使った仮想プライベートネットワーク
10.2.3. IPsec
10.2.4. PPTP
10.3. Quality of Service
10.3.1. 原理とメカニズム
10.3.2. 設定と実践
10.4. 動的ルーティング
10.5. IPv6
10.5.1. トンネル
10.6. ドメインネームサーバ (DNS)
10.6.1. 原理とメカニズム
10.6.2. 設定
10.7. DHCP
10.7.1. 設定
10.7.2. DHCP と DNS
10.8. ネットワーク診断ツール
10.8.1. ローカルの診断、netstat
10.8.2. リモートの診断、nmap
10.8.3. スニファ、tcpdumpwireshark
11. ネットワークサービス、Postfix、Apache、NFS、Samba、Squid、LDAP、SIP、XMPP、TURN
11.1. メールサーバ
11.1.1. Postfix のインストール
11.1.2. 仮想ドメインの設定
11.1.3. 受信と送信の制限
11.1.4. greylisting の設定
11.1.5. 受信者アドレスに基づくフィルタのカスタマイズ
11.1.6. アンチウイルスの統合
11.1.7. SMTP 認証
11.2. ウェブサーバ (HTTP)
11.2.1. Apache のインストール
11.2.2. 仮想ホストの設定
11.2.3. よく使われる指示文
11.2.4. ログ解析ソフトウェア
11.3. FTP ファイルサーバ
11.4. NFS ファイルサーバ
11.4.1. NFS の安全確保
11.4.2. NFS サーバ
11.4.3. NFS クライアント
11.5. Samba を使った Windows 共有のセットアップ
11.5.1. Samba サーバ
11.5.2. Samba クライアント
11.6. HTTP/FTP プロキシ
11.6.1. インストール
11.6.2. キャッシュの設定
11.6.3. フィルタの設定
11.7. LDAP ディレクトリ
11.7.1. インストール
11.7.2. ディレクトリへの書き込み
11.7.3. LDAP を用いたアカウントの管理
11.8. リアルタイムコミュニケーションサービス
11.8.1. RTC サービス用の DNS 設定
11.8.2. TURN サーバ
11.8.3. SIP プロキシサーバ
11.8.4. XMPP サーバ
11.8.5. ポート 443 番でサービスを実行する
11.8.6. WebRTC の追加
12. 高度な管理
12.1. RAID と LVM
12.1.1. ソフトウェア RAID
12.1.2. LVM
12.1.3. RAID それとも LVM?
12.2. 仮想化
12.2.1. Xen
12.2.2. LXC
12.2.3. KVM を使った仮想化
12.3. 自動インストール
12.3.1. Fully Automatic Installer (FAI)
12.3.2. Debian-Installer の事前設定
12.3.3. Simple-CDD、一体型の解決策
12.4. 監視
12.4.1. Munin のセットアップ
12.4.2. Nagios のセットアップ
13. ワークステーション
13.1. X11 サーバの設定
13.2. グラフィカルインターフェースのカスタマイズ
13.2.1. ディスプレイマネージャの選択
13.2.2. ウィンドウマネージャの選択
13.2.3. メニュー管理
13.3. グラフィカルデスクトップ
13.3.1. GNOME
13.3.2. KDE
13.3.3. Xfce とその他
13.4. 電子メール
13.4.1. Evolution
13.4.2. KMail
13.4.3. Thunderbird と Icedove
13.5. ウェブブラウザ
13.6. 開発
13.6.1. GNOME 上の GTK+ 用ツール
13.6.2. KDE 上の Qt 用ツール
13.7. 共同作業
13.7.1. グループで行う作業、グループウェア
13.7.2. FusionForge を使った共同作業
13.8. オフィススイート
13.9. Windows のエミュレート、Wine
13.10. リアルタイムコミュニケーションソフトウェア
14. セキュリティ
14.1. セキュリティポリシーの定義
14.2. ファイアウォールとパケットフィルタリング
14.2.1. netfilter の挙動
14.2.2. iptablesip6tables の構文
14.2.3. ルールの作成
14.2.4. 起動時にルールを適用する
14.3. 監督、防止、検出、監査
14.3.1. logcheck を使ったログ監視
14.3.2. 監視活動
14.3.3. 変更検出
14.3.4. 侵入検知 (IDS/NIDS)
14.4. AppArmor の紹介
14.4.1. 原理
14.4.2. AppArmor の有効化と AppArmor プロファイルの管理
14.4.3. 新規プロファイルの作成
14.5. SELinux の紹介
14.5.1. 原理
14.5.2. SELinux のセットアップ
14.5.3. SELinux システムの管理
14.5.4. ルールの適用
14.6. セキュリティ関連で他に考慮すべき点
14.6.1. ウェブアプリケーションの持つ潜在的危険性
14.6.2. 予測される結果を知る
14.6.3. 賢い方法でソフトウェアを選ぶ
14.6.4. マシン全体の管理
14.6.5. 内部ユーザからの保護
14.6.6. 物理セキュリティ
14.6.7. 法的責任
14.7. 不正侵入されたマシンの取り扱い
14.7.1. クラッカー不正侵入の検出と観察
14.7.2. サーバをオフラインにする
14.7.3. 証拠として使えるすべての保存
14.7.4. 再インストール
14.7.5. フォレンジック解析
14.7.6. 攻撃シナリオの再構成
15. Debian パッケージの作成
15.1. ソースを使ったパッケージの再ビルド
15.1.1. ソースの取得
15.1.2. 修正を行う
15.1.3. 再ビルドの開始
15.2. 最初のパッケージのビルド
15.2.1. メタパッケージやフェイクパッケージ
15.2.2. 単純なファイルアーカイブ
15.3. APT 用のパッケージリポジトリの作成
15.4. パッケージメンテナになる
15.4.1. パッケージを作るための知識
15.4.2. 受け入れ過程
16. 結論、Debian の未来
16.1. 今後の開発
16.2. Debian の未来
16.3. 本書の将来
A. 派生ディストリビューション
A.1. 派生物調査と協力体制
A.2. Ubuntu
A.3. Linux Mint
A.4. Knoppix
A.5. Aptosid と Siduction
A.6. Grml
A.7. Tails
A.8. Kali Linux
A.9. Devuan
A.10. Tanglu
A.11. DoudouLinux
A.12. Raspbian
A.13. その他
B. 簡単な補習講座
B.1. シェルと基本コマンド
B.1.1. ディレクトリツリーの閲覧とファイル管理
B.1.2. テキストファイルの表示と編集
B.1.3. ファイルとファイル内容の検索
B.1.4. プロセス管理
B.1.5. システム情報、メモリ、ディスク領域、識別情報
B.2. ファイルシステム階層の構成
B.2.1. ルートディレクトリ
B.2.2. ユーザのホームディレクトリ
B.3. コンピュータ内部の仕組み、さまざまな層の関係性
B.3.1. 最下層、ハードウェア
B.3.2. スタート係、BIOS や UEFI
B.3.3. カーネル
B.3.4. ユーザ空間
B.4. カーネルが担当している一部の操作
B.4.1. ハードウェアの操作
B.4.2. ファイルシステム
B.4.3. 機能の共有
B.4.4. プロセス管理
B.4.5. 権限管理
B.5. ユーザ空間
B.5.1. プロセス
B.5.2. デーモン
B.5.3. プロセス間通信
B.5.4. ライブラリ
C. Debian 管理者ハンドブック
D. 本書を入手する
D.1. 日本語ペーパーバック版の購入
D.2. 電子ブック版のダウンロード
D.3. 本書をダウンロードする