この文書はどちらかというと、自分のメモ用に作って、CentOS の導入時に頻繁に参照していたものです。
0. CentOS とは
CentOS とは商用OSである RHEL(RedHat Enterprise Linux) との完全互換を目指しているフリーの Linux ディストリビューションです。RHEL に含まれているソフトウェアのうち、商用ライセンス/商用パッケージを含まない形でリビルドされた、いわゆる「RHELクローン」の1つです。CentOS はホームページから誰でも無料でダウンロードして利用することができます。以下、その導入手順を紹介します。
1. 導入メディアの用意
CentOS のページから最新バージョンの最新バージョンの導入メディアの ISO ファイルをダウンロードします。 これから導入するパソコンの CPU が 32bit であれば i386、64bit であれば x86_64と書かれた方を対象にします。以下では CentOS 6.2 の 64bit 版を前提として記載します。
パソコン実機に導入する場合は ISO ファイルを DVD メディアに焼いておく必要があります。 仮想環境など ISO ファイルのままマウントしてアタッチできるような場合は ISO ファイルのままでも構いません。 またパソコンの BIOS 設定を変更して、DVD からのブート優先度を HDD 以上に上げておいてください。
2. CentOS のインストール
1. で用意した導入メディアを DVD にセットした状態でパソコンを起動します。 DVD が読み込まれて、起動オプションの選択画面が表示されますが、 一番上の Install or upgrade an existing system が選択された状態で Enter キーを押します
CentOS をインストールするための DVD が進行します。

まず、これから導入する DVD のメディア検査を行うかどうかを質問されます。 念のため行なってもいいのですが、この検査はかなり時間がかかります。 すでに導入実績がある場合などであれば Skip を選択しても構いません。

メディアの検査が終わって(あるいはスキップして)先に進めるとインストール開始画面が表示されます。 ここでは Next をクリックして先に進みます。

最初にインストールする環境の言語を選択します。ここでは Japanese(日本語) を選択します。

次はキーボードレイアウトの選択です。日本語キーボードを使っている場合は 日本語 を選択します。

インストール先のストレージデバイスの種類を選択します。 一般的なハードディスクにインストールする場合は Basic Storage Devices を選択します。

選択したストレージデバイスの中に現在含まれているデータの扱いについて確認されます。 まっさらの状態で新規に導入するケースであれば中身を消してしまっても構わないので はい。含まれていません。どのようなデータだっても破棄してください。 を選択します。

次にこれから導入する環境のホスト名を入力します。 ここでは仮に testos.testdomain.com と入力していますが、特定のネットワーク内に接続する場合はその環境に 合わせるなどして名前を指定します。

同じ画面内の左下に Configure Network と書かれたボタンがあります。 ここでネットワーク環境についての設定を行うので、クリックしてください。

ネットワーク接続 というダイアログが表示され、有線や無線のネットワーク設定を行います。 ここでは 有線 タブを選択して、有線ネットワークを設定してみます。 System eth0 と書かれた箇所が選択されていることを確認して、編集 ボタンをクリックします。

System eth0 のネットワーク設定画面です。 まず 自動接続する にチェックを入れて、起動と同時に有線ネットワークが有効になるようにしておきます。

続いて IPv4 のセッティング タブを選択して、IPv4 の設定を行います。 方式 と書かれた箇所を環境に合わせて指定します。 DHCP 環境であれば 自動(DHCP) を選択するだけです。

特定の固定アドレスを手動で設定する場合は、方式を 手動 にした上で 追加 ボタンをクリックし、 アドレス、ネットマスク、ゲートウェイ、DNSサーバー、ドメインなどを指定します。

IPv6 のセッティング タブで IPv6 の設定を行うこともできます。 ここでは 無視する を選択して、IPv6 を利用しない設定にしています。必要であれば設定してください。
最後に 適用 ボタンをクリックします。

ネットワーク接続 画面に戻ります。 閉じる ボタンをクリックして、この画面を終了します。

元の画面に戻りました。次へ ボタンをクリックして続きを行います。

タイムゾーンの設定画面です。アジア/東京 が選択されていることを確認します。

また、この画面の左下の システムクロックで UTC を使用 にチェックを入れます。 これでシステムとしては UTC(世界標準時)が使われた上で、画面上では東京のタイムゾーンで表示されるようになります。

管理ユーザーである root のパスワードを指定します。確認のため、同じ内容を2度入力します。

インストール先のパーティショニングの指定をします。 今回は新規にまっさらの状態で導入するので Use All Space を選択して、 ハードディスク全体を使って導入します。

この画面の左下の パーティションのレイアウトをレビューまたは修正する にチェックを入れて、 次の画面でパーティショニングの内容を確認します。

パーティショニングテーブルが表示されている様子です。 この状態では約 10GB のディスクの 2GB をスワップ領域に、残りを1つのパーティションで ext4 フォーマットで / にマウントしています。 必要であればここでパーティショニングを変更してください。 よく分からなければ、このような1パーティショニング構成でもいいと思います。

ディスクのパーティショニング構成やファイルフォーマットに変更が加わる場合、このような警告画面が表示されます。 全くの新規インストールであれば問題ありませんので、フォーマット を選択して先に進みます。

「ディスクに変更を書き加える」という警告メッセージが表示された場合は Write changes to disk を 選択して、ディスクへの書き込みを許可します。

ディスクのパーティショニングとフォーマットが実行されます。ここでしばらく待ちます。

フォーマットが完了すると、ブートローダーのインストール先を指定する画面が表示されます。 通常はデフォルトのまま /dev/vda にインストールする、というチェックを確認して先へ進みます。

CentOS のインストール内容を選択します。 いくつかの選択肢がありますが、今回は 最小限のインストールを基本に、必要なものだけを加える という例を紹介します。 ここでは最小限のインストールを指定する Minimal を選択します。

画面左下の 今すぐカスタマイズ にチェックを入れます。 これでこの後の画面で Minimal インストールをベースに、必要なものだけを追加していくことになります。

カスタマイズの画面になりました。2画面構成になっていて、左側おおまかなカテゴリーが表示され、 右側にそのカテゴリーに含まれる個別アプリケーションが表示され、インストール内容に含めるかどうかをチェックで指定します。
今回のケースでは開発環境を構築する上で最小限必要と思われるアプリケーションだけを導入する目的で選択します (余計なものを導入すると、トラブル時の原因操作がややこしくなく、という事情もあります)。 この内容に従う必要はありませんが、ここで選択しなくても、後から追加で導入も可能です。 とりあえずはこの内容の通りで行なってみてください。
最初は Hight Availability カテゴリーです。今回のインストールでは何も指定せずに進めます。
続いて Load Balancer カテゴリーです。ここも今回のインストールでは何も指定せずに進めます。
次は Resilient Storage カテゴリーです。ここも今回のインストールでは何も指定せずに進めます。
次は Scalable FileSystem カテゴリーです。ここも今回のインストールでは何も指定せずに進めます。
次は Web サービス カテゴリーです。ここも今回のインストールでは何も指定せずに進めます。
次は アプリケーション カテゴリーです。ここも今回のインストールでは何も指定せずに進めます。
次は サーバー カテゴリーです。ここも今回のインストールでは何も指定せずに進めます。
次は システム管理 カテゴリーです。ここも今回のインストールでは何も指定せずに進めます。
次は デスクトップ カテゴリーです。 ここでは X Window System、デスクトップ、 デスクトップのデバッグとパフォーマンスシステムにチェックを入れて先に進めます。
次は データベース カテゴリーです。ここも今回のインストールでは何も指定せずに進めます。
次は ベースシステム カテゴリーです。 ここでは ベースにチェックを入れて先に進めます。
次は 仮想化 カテゴリーです。ここも今回のインストールでは何も指定せずに進めます。
次は 言語 カテゴリーです。 ここでは 日本語のサポートにチェックを入れて先に進めます。
最後は 開発 カテゴリーです。 ここでは 開発ツールにチェックを入れて先に進めます。
全てのオプション設定が完了したら、画面右下の 次 ボタンをクリックして、 実際のインストールを開始します。
インストールが実行されるとこのようなインジケーターが表示され、必要なアプリケーションとその前提ライブラリの確認が行われます。
実際のインストールが始まるとこのような画面になります。 全てのアプリケーション(この例では 762 個)のインストールが完了するまでしばらく時間がかかりますので、ひたすら待ちます。
全てのアプリケーションのインストールが終わったように見えますが、この後何らかの処理が動いているようで、 この状態のまま、更にもうしばらく待つことになります。
最後の最後にブートローダーがインストールされます。
この画面が表示されれば、無事に DVD(ISO) からの CentOS インストールが完了したことになります。 引き続きセットアップを行うので、再起動 ボタンをクリックして、システムを再起動します。
システムを再起動している時の様子です。 ハードディスクからは最初の起動となることもあって、少し長めに時間がかかります。
再起動されると、最初に CentOS のセットアップを行います。 まずは ようこそ 画面が表示されます。
CentOS のライセンス情報が表示されます。内容を確認します。
画面の左下に同意/不同意の選択肢が表示されています。 ライセンス内容に同意する場合は はい、ライセンス同意書に同意します にチェックを入れて先に進みます。
一般ユーザーの作成画面に移ります。 注意点として 一般ユーザーの作成は必須ではありません。 一般ユーザーを作成しなくても(常に root で利用するのであれば)このまま先に進むことができます。
今回の例では tuser というユーザーをここで作ることにして、その際の画面ショットを用意しました(作らなくてもかまいません)。
作成する一般ユーザーのパスワードが、いわゆる「弱いパスワード」の場合は警告メッセージが表示されます。 リスクを承知の上でこのまま指定したパスワードを使っても構いませんし、パスワードを変更することも可能です。
システム時刻の設定画面です。 年月日を指定し、必要であれば ネットワーク上で日付と時刻を同期化します にチェックを入れておきます (そうすると ntp が有効になります)。
Kdump の設定画面に移ります。 が、Kdump を有効にするにはある程度以上の空きメモリが必要です。充分なメモリがない場合は Kdump を有効にすることはできません。 その場合はこのようなダイアログが表示されます。
Kdump の設定画面はこのような内容です。Kdump を有効にする場合は kdump を有効にしますか? にチェックを入れておきます。
最後に 終了 ボタンをクリックして、このセットアップ内容をシステムに反映させます。
改めて GNOME 環境が起動し、ログイン画面が表示されます。
一般ユーザー(tuser)でログインする場合は、画面内の Test User と書かれた箇所をクリックすると パスワードの入力が求められます。
root ユーザーでログインする場合は、画面内の その他 と書かれた箇所をクリックし、 ユーザ名欄に root と入力して Enter キーを押します。
続いてパスワードを入力し、最後に Enter キーを押すか、ログイン ボタンをクリックします。
root ユーザーでログインしようとすると、システムへの変更も含めた影響から確認ダイアログが表示されます。 今後の表示が不要であれば 再度表示しない にチェックを入れ、閉じる ボタンをクリックします。
システムにログインして、GNOME のデスクトップ画面が表示されました。
3. CentOS の設定
3-1. SELinux の無効化
まずは 端末(ターミナル) を起動しましょう。画面左上の アプリケーション と書かれた 箇所をクリックし、システムツール - 端末 を選択します。
端末が起動しました。

以下は SELinux を無効にするための設定です。 有効にしたまま利用する場合、以下の操作は不要です。
まず現在の SELinux 設定状態を確認します。端末から getenforce と入力します。
# getenforce
Enforcing
実行結果の "Enforcing" は SELinux によるアクセス制限を行う設定状態になっていることを意味します。 これを一時的に無効にします。
# setenforce 0
# getenforce
Disabled
実行結果の "Disabled" は SELinux によるアクセス制限を行わない設定状態になっていることを意味します。 とりあえず、これで SELinux は無効になりました。 しかしこの設定は一時的なもので、再起動は再び SELinux が有効になります。 再起動後も SELinux が無効になるようにするには、以下のファイルを編集します。
# vi /etc/selinux/config
(変更内容)SELINUX=disabled
設定後に再起動すると、setenforce コマンドなしに SELinux が無効の状態になります。
# shutdown -r now
3-2. IPv6 の無効化
IPv6 を利用しないのであれば、無効になるよう設定します。 まず 端末(ターミナル) を起動し、以下のファイルを新規に作成します。
# vi /etc/modprobe.d/disable_ipv6.conf
(ファイルの内容)
alias net-pf-10 off
options ipv6 disable=1
設定後に再起動します。
# shutdown -r now
再起動後は IPv6が無効の状態になり、ifconfig コマンドでも表示されなくなります。
# ifconfig | grep "inet6 addr"
#
3-3. 不要なサービス停止
無駄なリソースの消費を抑えるため、不要なサービスを停止します。以下は一例:
# ntsysv --level 345
[ ] NetworkManager (有線/無線のネットワーク設定をGUIで行うサービス)
[*] abrt-ccpp (自動バグ報告ツール)
[*] abrt-oops (不具合を oops トラッカーへ送信するサービス)
[*] abrtd (自動バグ方向ツール)
[ ] acpid (電源管理 ノートPC向け)
[ ] atd (任意コマンドを指定時間に1回実行するサービス)
[*] auditd (監査ログを出力するデーモン)
[ ] avahi-daemon (DNSを使わずにIPマルチキャストで名前やアドレスを参照するサービス)
[ ] cpuspeed (CPUの省電力機能 ノートPC向け)
[*] crond (任意コマンドを指定時間に繰り返し実行するサービス)
[ ] cups (印刷サービス)
[ ] dnsmasq (DNSとDHCPサービスを提供するサービス)
[ ] firstboot (インストール直後の初期セットアップ起動)
[*] haldaemon (ハードウェア情報を収集するサービス)
[ ] ip6tables (IPv6用パケットフィルタ)
[ ] iptables (IPv4用パケットフィルタ)
[*] irqbalane (マルチCPU環境での分散処理)
[ ] kdump (Kernelクラッシュ時のKernelダンプを保存する)
[*] lvm2-monitor (LVM関連サービス)
[*] mdmonitor (ソフトRAID監視サービス)
[*] messagebus (メッセージバスアプリケーション用)
[ ] netconsole (Kernelクラッシュ時のKernelダンプをネットワーク経由で保存する)
[ ] netfs (NFSクライアント)
[*] network (ネットワーク接続に関連するデーモン)
[ ] ntpd (NTPサービス)
[ ] ntpdate (他のサービスが起動前に正確な時刻を必要とするか、/etc/sysconfig/ntpd で -x オプションを指定した場合のみ有効にする)
[ ] portreserve ()
[*] postfix (SMTPサービス)
[ ] psacct (アカウントの利用統計を取得するサービス)
[ ] quota_nid (クォータ値超過が発生した旨のカーネルメッセージを D-BUS に転送する)
[ ] rdisc (ネットワークルータディスカバリーデーモン ルータとして動作させない場合は不要)
[ ] restorecond (SELinux 関連デーモン SELinuxを使わない場合は不要)
[*] rsyslog (システムログデーモン)
[ ] saslauthd (sas認証デーモン)
[*] smartd (HDD故障の予兆を検知するサービス)
[*] spice-vdagentd (デスクトップ仮想化デーモン)
[*] sshd (SSHサービス)
[*] sysstat (システム情報取得ツール)
[ ] udev-post (ハードウェア自動認識デーモン)
[ ] wdaemon (ハードウェア自動認識デーモン)
[ ] wpa_supplicant (無線LANクライアントとして WPA 暗号化をする場合に必要なサービス)
設定後に再起動します。これで不要サービスが停止します。
# shutdown -r now
3-4. パッケージアップデート
パッケージを最新版にアップデートします。
# yum update
更新が可能なパッケージが見つかった場合はインストールするかどうかを聞かれるので "y" を押します。
:
Total download size: 319M
Is this ok [y/N]: y
Downloading packages:
:
yum コマンドを導入後初めて実行する場合は GPG キーのインポートが必要、という警告/確認メッセージが表示されます。
:
警告: rpmts_HdrFromFdno: ヘッダ V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
Importing GPG key 0xC105B9DE:
Userid : CentOS-6 Key (CentOS 6 Official Signing Key) <centos-6-key@centos.org>
Package: centos-release-6-2.el6.centos.7.x86_64 (@anaconda-CentOS-201112091719.x86_64/6.2)
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
Is this ok [y/N]:
インストール直後は RPM パッケージの正当性をチェックする GPG キーがインポートされていないため、 確認メッセージが表示されます。"y" をクリックして更新を継続します。
カーネルアップデートは再起動後に有効になります。
# shutdown -r now
3-5. シェルの初期設定
このまま使い始めてもいいのですが、シェルを便利に使えるように設定します。以下は自分がやっている設定です。まずは /etc/bashrc の最後に1行追加して、vim を vi にエイリアスします:
# vi /etc/bashrc
:
(以下を最後に追加)
alias vi='vim'
次に vim の設定を変更するため /etc/vimrc の最後に数行追加します:
# vi /etc/vimrc
:
(以下を最後に追加)
set nu
set ts=4
autocmd FileType * set formatoptions-=ro
これで vi(vim) が少し使いやすくなりました。後は自分の好きなように。
コメント