「CentOS 徹底入門【第3版】」を買ってみた

DVD付 CentOS徹底入門 第3版

DVD付 CentOS徹底入門 第3版

RHEL のサポート期間が標準で 10 年*1になることから、RHEL クローンである CentOS 5, 6 は長く使われるだろうことが容易に想像できます。これまで「CentOS 徹底入門」の第1版、第2版を持っていなかったので、CentOS 6.2 対応をうたっている「CentOS 徹底入門【第3版】」を買ってみました。

2 日ほどの行き帰りの電車で、ようやく全体に目を通せました。たしかに、本書は帯でうたっているとおりの「サーバ向け Linux ディストリビューションのスタンダード」にふさわしい内容です。本書を片手に作業すれば、サーバ運用の基本的なことから学べそうです。また、普通のサーバ入門書で書いていないような、実用的だけど基本的な設定が具体的に書かれてあり、実践的な書籍とも思いました。

ここでは、「CentOS 徹底入門【第3版】」について、メモったこと、感想などを書きます。

Chapter 2 CentOS のインストール

ISO イメージをダウンロードしたら、ぜひチェックサムや署名を確認しましょう!

p.10「2.1.1 ISO イメージファイルのダウンロード」には、CentOS の ISO イメージファイルのダウンロード方法が記載されています。でも、本当に正しい ISO イメージファイルをダウンロードしたか、できたかという確認の説明がありませんでした。

たとえば、JAISTミラーサイト http://ftp.jaist.ac.jp/pub/Linux/CentOS/ から、CentOS 6.2 x86_64 をダウンロードしてみます。目的の ISO イメージファイルは http://ftp.jaist.ac.jp/pub/Linux/CentOS/6.2/isos/x86_64/ にあります。

$ wget http://ftp.jaist.ac.jp/pub/Linux/CentOS/6.2/isos/x86_64/CentOS-6.2-x86_64-bin-DVD1.iso
$ wget http://ftp.jaist.ac.jp/pub/Linux/CentOS/6.2/isos/x86_64/sha1sum.txt{,.asc}

sha1sum コマンドを利用して、ダウンロードした ISO イメージファイルと sha1sum.txt に格納されたハッシュ値を比べて、ISO イメージファイルに改変がないか検証できます。しかし、sha1sum.txt 自体に改変されていては無意味なので、GnuPG を使用したパッケージ署名の検証をします。

CentOS の公開鍵を取得します。CentOS のサイトからたどってもよいですし、Web サイトの http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6 やミラーの FTP サイト http://ftp.jaist.ac.jp/pub/Linux/CentOS/RPM-GPG-KEY-CentOS-6 から取得してもよいでしょう。

取得した公開鍵を取り込みます。

$ gpg --import RPM-GPG-KEY-CentOS-6
gpg: key C105B9DE: "CentOS-6 Key (CentOS 6 Official Signing Key) <centos-6-key@centos.org>" imported
gpg: Total number processed: 1
gpg:              imported: 1

sha1sum.txt ファイルの署名を検証します*2

$ gpg sha1sum.txt.asc 
File `sha1sum.txt' exists. Overwrite? (y/N) y
gpg: Signature made Sat Dec 17 23:39:50 2011 JST using RSA key ID C105B9DE
gpg: Good signature from "CentOS-6 Key (CentOS 6 Official Signing Key) <centos-6-key@centos.org>"
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: C1DA C52D 1664 E8A4 386D  BA43 0946 FCA2 C105 B9DE

「gpg: Good signature(正しい署名)」って言ってますね!

ダウンロードした ISO イメージファイルが改変されていたり、破損していないか、中途半端にダウンロードされていないかをsha1sum 値から確認します。

$ sha1sum -c sha1sum.txt
CentOS-6.2-x86_64-bin-DVD1.iso: OK
(省略)
USB のインストーラを作ってもいいかもですよ!

本書には、付録として、CentOS 6.2 i386 DVD-ROM が 1 枚付いています。いまどき、DVD-ROM からインストールするのでしょうか。USB に dd コマンドなどでインストーライメージを突っ込んで、USB ブートからインストーラを立ち上げないのでしょうか?ということで、SysLinux から USB インストーラを作りますかね。

でも、一番楽なのは、やっぱり p.33 以降のネットワークインストールですね(笑

Chapter 3 基本操作

基本的なことを懇切丁寧に解説してあるのも、本書の魅力です。

「表3.1:bash の基本操作コマンド」に「[Ctrl] + [f]、→」、「[Ctrl] + [b]、←」もほしぃーの!

表3.1 に「[Ctrl] + [a]」と「[Ctrl] + [e]」があるので、「[Ctrl] + [f]、→」、「[Ctrl] + [b]、←」も載ってほしいです。

ACL の解説が載っている!

「3.3.3 ACL」には、getfacl コマンドと setfacl コマンドの具体的な利用方法が載っています。ACL の解説は、入門であまり見られないと思います。

hoge(N)」⇔「$ man N hoge

「3.5.1 マニュアルの参照」には、man コマンドの使い方が載っています。本書のなかでしばしば「hoge(N)」の表記を目にするのですが、「hoge(N)」が何であるかの説明が見当たりませんでした。本書では、p.73で man コマンドの使い方と man マニュアルの section の説明があり、p.102 でいきなり「日本語の mke2fs(8) は更新が追いついておらず、」と出てきます。

したがいまして、「hoge(N)」の意味を、p.73 に載せてあると、より親切だと思います。

Chapter 4 ファイルシステム

man の原文と日本語訳、それは DocFest に任せろ(笑

翔泳社の中の人に交渉して、本書(のみならず、オープンソースに関係のある IT 系書籍)の白ページのどこかに、ドキュメント、翻訳系のコミュニティの現状や募集中の、広報ページをなんとか載せてもらえないかしらん(笑 先日の DocFest201202 - Doc-ja Archive Project では、JM のもときさんが大活躍だったことだし!*3

/dev/shm と tmpfs

「4.1.8 マウント、アンマウントと fstab」らへんに、「/dev/shm と tmpfs」の解説がコラムぐらいにちょこっと載っていてほしいです。

Chapter 5 ネットワークの基本コマンド

サーバ管理をやる人は ipcalc に頼らないで(笑

p.130 の COLUMN「ipcalc」、脳内変換でヨロー(笑

/etc/sudoers の解説が実践的!

p.163 にコラム「PAM」を設けていたり、root アカウントに関する注意喚起、sudo/su コマンドの使い分け、sudoers の具体的な設定方法など、実践的な解説が載っています。

Chapter 7 パッケージの管理とアップデート

Yum の話を除けば、Vine Linux でもそのまま解説になる章です。p.170 に「Vine Linux」の文字列が載っています。著者の方々に感謝いたします(笑

野良ビルドでも野良パッケージを作ろう!

「7.3 ソースからのインストール」には、"いつもの呪文" を唱えてインストールできるソフトウェアについて、ひとととおり解説されています。

一度は必ずといってよいほど、既存のパッケージや他の野良ビルドとのファイル衝突を起こしてしまいます。やはり、自前で RPM パッケージを作って、インストールし、管理するのがのぞましいと思います。

"いつもの呪文" を唱える程度でインストールできるソフトウェアを RPM パッケージにするのは、そんなに難しくないです。たとえば、第 6 回 Vine Linux ユーザの集い with LILO - RPM パッケージ作成ハンズオン - 。また、RPM パッケージハンズオンをやりたいなー。

Chapter 10 システム管理

root ユーザとしてのログインをできないようにしておくべき!

サーバ用途であれば、なおさらそうすべきだと思います。本書の解説にもある /etc/securetty ファイルを編集することで、コンソールからの root のログインを禁止できます。

さて、$ sudo vipw -s から /etc/shadow の root のパスワードを「*」にするとどうなるでしょうか?grub から single user mode でブートしてみるなど。

Chapter 12 システムリソースの監視とパフォーマンス管理

"いくつか" なのに、1 つ(noatime)しか紹介されていない(笑

「12.2.2 ディスクとファイルシステムのパフォーマンスチューニング」のリードには、「ここでは、ディスクのパフォーマンスを向上させるのに役立つ事項をいくつか紹介します。」と書かれています。ところが、ここには、「noatime オプション」しか、紹介されていません(笑

たぶん、誌面の都合などで、削ったのかもしれないのですが、ほかにどのようなチューニングが紹介されるのか、気になります。

Chapter 14 DNS サーバ

BIND もいいけど、Unbound と NSD もいいよ!

キャッシュサーバ Unbound Unbound とコンテンツサーバ NSD nlnetlabs.nl :: Home :: の解説が載っていたら、嬉しかったなー(笑

chroot

p.324「14.2.1 BIND を動かすための準備」に、「CentOS 6 には、chroot環境で動作する bind-chroot、(中略)が用意されています。chroot 版が用意されているのは、さまざまな攻撃からシステムを守るためです。ここでは、chroot 環境にBINDをセットアップしてみます。」という文章があります。

索引で引っ張っても、「chroot って何?」を説明した箇所がどこにも見当たりませんでした。傍注にでも、chroot の解説がちょこっとあれば、「chroot」を初めて知る人にとって、chroot 環境の理解に手助けできそうです。

Chapter 16 Web サーバ

ここでは、「Apache Web サーバ」を解説されています。nginx news についても、ちょこっと言及してあったらなー。

Chapter 17 SSH

OpenSSH サーバとクライアントの実用的な運用方法が記載されていて、はじめて SSH サーバを立てる方への説明として、コンパクトにまとまっていてオススメです。

Chapter 20 NFS

「20.3 NFS と Kerberos 認証」は、日本語ドキュメントとしてまとまっているものをあまり見かけません。Kerberos 5 のドキュメントは、本家にがっつりとあるけれども、今まで試す機会がなかった。本書を購入したことをきっかけに、近いうちにでも Vine Linux で Kerberos 5 を試してみよう。えっ、CentOS 6 で試さないの!?(笑

その他

Samba や vsftpd が載っているのであれば、Netatalk - Networking Apple Macintosh through Open Source も載っていてほしいわん。たとえば、Netatalk で Time Machine サーバを作るぞとか(おぃ ふつーに AFTPD でいいから(笑

NIS(Network Information Service)は、システム管理のところで載っていてもよさそうですが、全く出てきませんね。索引にすら、ありません。

本書の台割は、16 折 35 台*4と推察できます。奥付の直前に、白が全くないことから、何か内容を大幅に追加するには、8 折か 16 折の台を一つ増やすのでしょうか?いや、増刷でそんなことをしないと思いますよ、はい。

おまけ:「Vine Linux 徹底入門」、あるの?

……、もし出るとしたら、どんな内容がよいかな?

デスクトップとサーバの両方が主要な柱で、TeX, Emacs, そして TeX, ... 話題が尽きそうにない(笑