Linuxをマスターしたい人のための実践Ubuntu (単行本)
Linuxディストリビューションで最も人気のUbuntuの解説書です。Linuxの基礎知識からUbuntuの導入、システム管理・運用まで体系的に学べます。ローカルPCへの導入だけではなく、クラウドやコンテナへの導入と運用、Windows(WSL2)での活用など、さまざまな環境に対応しています。コマンドライン操作、シェルスクリプトの活用もしっかり解説しています。巻末には、コマンドカタログやなどの資料も収録しています。
第1章 Ubuntuを始めよう
1.01 Linuxとは
01.01.01 OSとは
01.01.02 Linuxとは
1.02 Ubuntuとは
01.02.01 Linuxディストリビューションとは
01.02.02 Ubuntuの歴史
01.02.03 Ubuntuを使うメリット
1.03 Ubuntuコミュニティとは
01.03.01 UbuntuコミュニティとCanonical
第2章 Ubuntuデスクトップを始めよう
2.01 Ubuntuデスクトップのインストール
02.01.01 デスクトップとサーバーについて
02.01.02 実マシンと仮想マシン
02.01.03 VirtualBoxのインストールと仮想マシンの作成
02.01.04 インストールメディアの作成
02.01.05 Ubuntuのインストール
2.02 Ubuntuデスクトップの利用
02.02.01 Ubuntuへのログイン
02.02.02 Ubuntuの初期設定
02.02.03 Ubuntuデスクトップの構成
02.02.04 アプリケーションの起動方法
02.02.05 デフォルトのアプリケーションを使う
02.02.06 Ubuntuのディレクトリツリーとファイルの管理
02.02.07 日本語入力の方法
02.02.08 ウィンドウの操作
02.02.09 ワークスペースの操作
02.02.10 Ubuntuの終了方法
2.03 Ubuntuデスクトップの設定と応用
02.03.01 Ubuntuの設定
02.03.02 Ubuntuのショートカットキー
02.03.03 GNOME Tweaksによるカスタマイズ
02.03.04 リムーバブルメディアの利用
02.03.05 アプリケーションのインストールとアンインストール方法
02.03.06 Ubuntuのアップデート
02.03.07 X.OrgとWayland
第3章 コマンドライン操作を習得しよう
3.01 コマンド入門
03.01.01 コマンドラインとは
03.01.02 コマンドの実行方法
03.01.03 引数とオプション
03.01.04 コマンドのマニュアルを読む方法
03.01.05 カレントディレクトリ
03.01.06 絶対パスと相対パス
03.01.07 コマンドライン上のテキストエディタ
3.02 シェルの活用
03.02.01 シェルとは
03.02.02 コマンドの連続実行
03.02.03 複雑なコマンドの記述方法
03.02.04 コマンドの終了コード
03.02.05 シェルのキーバインド
03.02.06 コマンドの強制終了
03.02.07 コマンド名や引数を効率よく入力するには
03.02.08 コマンド履歴
03.02.09 シェル変数と環境変数
03.02.10 特殊な変数
03.02.11 変数展開演算子
03.02.12 特殊な文字のクォート
03.02.13 コマンドサーチパス
03.02.14 エイリアス
03.02.15 シェル関数
03.02.16 標準入力と標準出力
03.02.17 シェル展開
03.02.18 sudoとroot権限
03.02.19 シェルのカスタマイズ
3.03 Gitの活用
03.03.01 Gitの基礎知識
03.03.02 Gitの導入と設定
03.03.03 Gitでバージョン管理を始める
03.03.04 Gitの基本的な使い方
3.04 PowerShellの活用
03.04.01 PowerShellとは
03.04.02 PowerShellを使ってみる
第4章 Ubuntuを管理しよう
4.01 ユーザーとグループ
04.01.01 ユーザーの管理
04.01.02 グループの管理
4.02 パーミッションによるファイルの保護
04.02.01 所有者と所有グループ
04.02.02 パーミッション
4.03 プロセスとジョブの管理
04.03.01 プロセス
04.03.02 ジョブ
4.04 ストレージの管理
04.04.01 ストレージの追加
04.04.02 ストレージのマウント
4.05 ソフトウェア管理
04.05.01 APTによるパッケージ管理
04.05.02 PPAの活用
04.05.03 Snapパッケージシステム
04.05.04 Ubuntuのアップグレード
4.06 アーカイブファイルの管理
04.06.01 tarを用いた圧縮アーカイブファイルの管理
04.06.02 zipを用いた圧縮アーカイブファイルの管理
4.07 設定ファイルの管理
04.07.01 etckeeperを用いた設定ファイルのバージョン管理
第5章 Ubuntuをサーバーとして使おう
5.01 Ubuntuサーバーのインストールとログイン
05.01.01 Ubuntuサーバーのインストール
05.01.02 Ubuntuサーバーへのログイン
05.01.03 サーバーの再起動とシャットダウン
5.02 VPSでUbuntuを使う
05.02.01 VPSとは
05.02.02 VPSを使うメリット
05.02.03 ConoHaでUbuntuサーバーを使う
05.02.04 Amazon LightsailでUbuntuサーバーを使う
5.03 クラウドでUbuntuを使う
05.03.01 クラウドとは
05.03.02 Amazon EC2でUbuntuサーバーを使う
05.03.03 GCEでUbuntuサーバーを使う
第6章 Ubuntuサーバーの管理
6.01 ネットワークの管理
06.01.01 ネットワークの確認
06.01.02 固定IPアドレスを設定する
06.01.03 ネットワーク関連コマンド
6.02 サービスの管理
06.02.01 Ubuntuサーバーにおけるサービス
06.02.02 systemctlによるサービスの制御
06.02.03 journalctlによるログの確認
6.03 サーバーへのリモートログイン
06.03.01 OpenSSHの活用
06.03.02 OpenSSHのセキュリティ
6.04 ネットワークのセキュリティ
06.04.01 Ubuntuサーバーのファイアウォール
6.05 サーバーのメンテナンス
06.05.01 サーバーの状態を確認する
06.05.02 サーバーのバックアップ
06.05.03 コマンドを定期的に実行する
第7章 サーバーアプリケーションを動かそう
7.01 送信専用メールサーバーの構築
07.01.01 昨今のメールサーバー事情
07.01.02 GmailへリレーするPostfixの構築
7.02 Nextcloudサーバーの構築
07.02.01 Nextcloudとは
07.02.02 Snapを使うメリット
07.02.03 Nextcloudサーバーの構築
07.02.04 NextcloudのHTTPS化
07.02.05 Nextcloudクライアントのインストール
第8章 コンテナでUbuntuを使おう
8.01 DockerでUbuntuを使う
08.01.01 コンテナとは
08.01.02 Dockerとは
08.01.03 コンテナの実行
08.01.04 独自のコンテナイメージを作成する
8.02 LXDでUbuntuを使う
08.02.01 LXDとは
08.02.02 LXDのセットアップ
08.02.03 Ubuntuコンテナの起動
08.02.04 コンテナの操作
08.02.05 コンテナ内でのコマンドの実行
08.02.06 コンテナをネットワーク上に公開する
第9章 Windows上でUbuntuを使おう
9.01 WSLでUbuntuを使う
09.01.01 WSLとは
09.01.02 WSLのセットアップ
09.01.03 日本語ロケールの設定
09.01.04 WSLのディレクトリツリーについて
09.01.05 ターミナルアプリケーションのセットアップ
9.02 GUIアプリケーションの実行
09.02.01 WSLgとは
09.02.02 GUIアプリケーションのインストールと実行
09.02.03 日本語フォントの追加
09.02.04 日本語入力の設定
9.03 その他のWSLディストリビューション
09.03.01 異なるバージョンのUbuntuのインストール
09.03.02 Ubuntu以外のディストリビューションのインストール
第10章 Ubuntuでスクリプティング
10.01 シェルスクリプト
10.01.01 シェルスクリプトの基礎知識
10.01.02 シェルスクリプトの書き方
10.01.03 シェルスクリプトのデバッグ
10.02 PowerShell
10.02.01 PowerShellのスクリプト
10.03 Python
10.03.01 Pythonとは
10.03.02 Python開発環境の構築
資料
A.01 コマンドカタログ
A.02 デスクトップアプリカタログ
A.03 オンラインリソース
1.01 Linuxとは
01.01.01 OSとは
01.01.02 Linuxとは
1.02 Ubuntuとは
01.02.01 Linuxディストリビューションとは
01.02.02 Ubuntuの歴史
01.02.03 Ubuntuを使うメリット
1.03 Ubuntuコミュニティとは
01.03.01 UbuntuコミュニティとCanonical
第2章 Ubuntuデスクトップを始めよう
2.01 Ubuntuデスクトップのインストール
02.01.01 デスクトップとサーバーについて
02.01.02 実マシンと仮想マシン
02.01.03 VirtualBoxのインストールと仮想マシンの作成
02.01.04 インストールメディアの作成
02.01.05 Ubuntuのインストール
2.02 Ubuntuデスクトップの利用
02.02.01 Ubuntuへのログイン
02.02.02 Ubuntuの初期設定
02.02.03 Ubuntuデスクトップの構成
02.02.04 アプリケーションの起動方法
02.02.05 デフォルトのアプリケーションを使う
02.02.06 Ubuntuのディレクトリツリーとファイルの管理
02.02.07 日本語入力の方法
02.02.08 ウィンドウの操作
02.02.09 ワークスペースの操作
02.02.10 Ubuntuの終了方法
2.03 Ubuntuデスクトップの設定と応用
02.03.01 Ubuntuの設定
02.03.02 Ubuntuのショートカットキー
02.03.03 GNOME Tweaksによるカスタマイズ
02.03.04 リムーバブルメディアの利用
02.03.05 アプリケーションのインストールとアンインストール方法
02.03.06 Ubuntuのアップデート
02.03.07 X.OrgとWayland
第3章 コマンドライン操作を習得しよう
3.01 コマンド入門
03.01.01 コマンドラインとは
03.01.02 コマンドの実行方法
03.01.03 引数とオプション
03.01.04 コマンドのマニュアルを読む方法
03.01.05 カレントディレクトリ
03.01.06 絶対パスと相対パス
03.01.07 コマンドライン上のテキストエディタ
3.02 シェルの活用
03.02.01 シェルとは
03.02.02 コマンドの連続実行
03.02.03 複雑なコマンドの記述方法
03.02.04 コマンドの終了コード
03.02.05 シェルのキーバインド
03.02.06 コマンドの強制終了
03.02.07 コマンド名や引数を効率よく入力するには
03.02.08 コマンド履歴
03.02.09 シェル変数と環境変数
03.02.10 特殊な変数
03.02.11 変数展開演算子
03.02.12 特殊な文字のクォート
03.02.13 コマンドサーチパス
03.02.14 エイリアス
03.02.15 シェル関数
03.02.16 標準入力と標準出力
03.02.17 シェル展開
03.02.18 sudoとroot権限
03.02.19 シェルのカスタマイズ
3.03 Gitの活用
03.03.01 Gitの基礎知識
03.03.02 Gitの導入と設定
03.03.03 Gitでバージョン管理を始める
03.03.04 Gitの基本的な使い方
3.04 PowerShellの活用
03.04.01 PowerShellとは
03.04.02 PowerShellを使ってみる
第4章 Ubuntuを管理しよう
4.01 ユーザーとグループ
04.01.01 ユーザーの管理
04.01.02 グループの管理
4.02 パーミッションによるファイルの保護
04.02.01 所有者と所有グループ
04.02.02 パーミッション
4.03 プロセスとジョブの管理
04.03.01 プロセス
04.03.02 ジョブ
4.04 ストレージの管理
04.04.01 ストレージの追加
04.04.02 ストレージのマウント
4.05 ソフトウェア管理
04.05.01 APTによるパッケージ管理
04.05.02 PPAの活用
04.05.03 Snapパッケージシステム
04.05.04 Ubuntuのアップグレード
4.06 アーカイブファイルの管理
04.06.01 tarを用いた圧縮アーカイブファイルの管理
04.06.02 zipを用いた圧縮アーカイブファイルの管理
4.07 設定ファイルの管理
04.07.01 etckeeperを用いた設定ファイルのバージョン管理
第5章 Ubuntuをサーバーとして使おう
5.01 Ubuntuサーバーのインストールとログイン
05.01.01 Ubuntuサーバーのインストール
05.01.02 Ubuntuサーバーへのログイン
05.01.03 サーバーの再起動とシャットダウン
5.02 VPSでUbuntuを使う
05.02.01 VPSとは
05.02.02 VPSを使うメリット
05.02.03 ConoHaでUbuntuサーバーを使う
05.02.04 Amazon LightsailでUbuntuサーバーを使う
5.03 クラウドでUbuntuを使う
05.03.01 クラウドとは
05.03.02 Amazon EC2でUbuntuサーバーを使う
05.03.03 GCEでUbuntuサーバーを使う
第6章 Ubuntuサーバーの管理
6.01 ネットワークの管理
06.01.01 ネットワークの確認
06.01.02 固定IPアドレスを設定する
06.01.03 ネットワーク関連コマンド
6.02 サービスの管理
06.02.01 Ubuntuサーバーにおけるサービス
06.02.02 systemctlによるサービスの制御
06.02.03 journalctlによるログの確認
6.03 サーバーへのリモートログイン
06.03.01 OpenSSHの活用
06.03.02 OpenSSHのセキュリティ
6.04 ネットワークのセキュリティ
06.04.01 Ubuntuサーバーのファイアウォール
6.05 サーバーのメンテナンス
06.05.01 サーバーの状態を確認する
06.05.02 サーバーのバックアップ
06.05.03 コマンドを定期的に実行する
第7章 サーバーアプリケーションを動かそう
7.01 送信専用メールサーバーの構築
07.01.01 昨今のメールサーバー事情
07.01.02 GmailへリレーするPostfixの構築
7.02 Nextcloudサーバーの構築
07.02.01 Nextcloudとは
07.02.02 Snapを使うメリット
07.02.03 Nextcloudサーバーの構築
07.02.04 NextcloudのHTTPS化
07.02.05 Nextcloudクライアントのインストール
第8章 コンテナでUbuntuを使おう
8.01 DockerでUbuntuを使う
08.01.01 コンテナとは
08.01.02 Dockerとは
08.01.03 コンテナの実行
08.01.04 独自のコンテナイメージを作成する
8.02 LXDでUbuntuを使う
08.02.01 LXDとは
08.02.02 LXDのセットアップ
08.02.03 Ubuntuコンテナの起動
08.02.04 コンテナの操作
08.02.05 コンテナ内でのコマンドの実行
08.02.06 コンテナをネットワーク上に公開する
第9章 Windows上でUbuntuを使おう
9.01 WSLでUbuntuを使う
09.01.01 WSLとは
09.01.02 WSLのセットアップ
09.01.03 日本語ロケールの設定
09.01.04 WSLのディレクトリツリーについて
09.01.05 ターミナルアプリケーションのセットアップ
9.02 GUIアプリケーションの実行
09.02.01 WSLgとは
09.02.02 GUIアプリケーションのインストールと実行
09.02.03 日本語フォントの追加
09.02.04 日本語入力の設定
9.03 その他のWSLディストリビューション
09.03.01 異なるバージョンのUbuntuのインストール
09.03.02 Ubuntu以外のディストリビューションのインストール
第10章 Ubuntuでスクリプティング
10.01 シェルスクリプト
10.01.01 シェルスクリプトの基礎知識
10.01.02 シェルスクリプトの書き方
10.01.03 シェルスクリプトのデバッグ
10.02 PowerShell
10.02.01 PowerShellのスクリプト
10.03 Python
10.03.01 Pythonとは
10.03.02 Python開発環境の構築
資料
A.01 コマンドカタログ
A.02 デスクトップアプリカタログ
A.03 オンラインリソース