基本セットアップ
http://extstrg.asabiya.net/pukiwiki/index.php?%B4%F0%CB%DC%A5%BB%A5%C3%A5%C8%A5%A2%A5%C3%A5%D7Linux導入の基本手引き †
OS導入前の事前事項 †
ハードウェアの対応確認 †
ベンダーがLinux対応可否を記載している根拠はデバイスドライバが提供されているか否かという点に尽きる。
OS標準サポートと記載されている場合はOSのインストール用Kernelにドライバが含まれる、もしくはインストール時に組み込むことが可能な形で提供されている場合に限られる。
これらの記載がない場合はLinuxでは使用不可能と判断してよい。β版・改変版ドライバなどが配布されている可能性もあるが、これらはリスクが伴うため業務用途に使用してはならない。
ハードウェア構成要素ごとのOS対応可否は以下となる。
CPU | 不 | インストールの際には検討は不要。ただし、特殊なファンクション(64bit対応、省電力対応)などはOS側の対応が必要 |
メモリ | 不 | インストールの際には検討は不要。ただし、ハイメモリサポートが無効のカーネルでは4GBまでの使用に制限される |
チップセット | 不 | 通常は動作するが、統合されている一部の機能を使うためには別途ドライバが必要となる場合がある |
HDD | 不 | HDD本体の対応有無はないが、接続インターフェイス(SCSI/SATA/SAS)のサポートが必要。 |
FDD | 不 | HDD本体の対応有無はないが、接続インターフェイス(USB等)のサポートが必要。 |
CD/DVD-ROM | 不 | ドライブ本体の対応有無はないが、接続インターフェイス(SCSI/SATA/USB等)のサポートが必要。 |
グラフィック | 要 | X Window Systemを使用しない場合は特に考慮する必要が無いが、使用するためにはコントローラのチップに対応したドライバが必須となる |
ネットワーク | 要 | 使用するためにはコントローラのチップに対応したドライバが必須となる |
SCSI | 要 | 使用するためにはコントローラのチップに対応したドライバが必須となる |
SATA/SAS | 要 | 使用するためにはコントローラのチップに対応したドライバが必須となる |
RAID | 要 | 使用するためにはコントローラのチップに対応したドライバが必須となる |
Linuxにおけるデバイスドライバの扱い †
Linuxはドライバの扱いに関して二種類の方法がある。
- Kernel Patch方式
これはWindows等のマイクロカーネル方式のOSには無い(どちらかといえば古い)考え方で、デバイスドライバ自体をLinux Kernel内に組み込む方法となる。
この方式の利点は少ないオーバーヘッドでデバイスを駆動できる点にある。
この方式を用いるにKernelにドライバが含まれていることが前提となる。
Kernelに含まれていないドライバを用いるにはKernelのソース自体にパッチを適用して組み込める状態に変える必要がある。ただし、同系統デバイスのパッチを多重適用することでKernelの整合性を破壊される可能性もあるため注意が必要である。
- Loadble Module方式
これはWindows等のマイクロカーネル方式のOSにて採用されている方式で、都度必要となるデバイスドライバを読み込んで使用する方法となる。
この方式の利点はドライバ組み込みが容易であり、ドライバの追加・削除を動的に行うことができる点である。
また、この方式にはビルド済みのドライバを組み込む方法とドライバをビルドして組み込む方法がある。
ビルド済みのドライバの場合、OSのインストール段階から組み込むことができるが、特定バージョンのKernelでしか駆動しないというデメリットがある。
ドライバをビルドする場合、使用しているKernelのバージョンに合わせてビルドされるためKernelのバージョンに縛られることはないが、OSのインストール段階から組み込むことが難しいというデメリットがある。
OSの基本セットアップ †
OS導入のパターン †
OSインストールの際のインストール元は以下の方法で提供される。
- メディアからインストール
CD-ROM、DVD-ROMなどからのインストール方法
パッケージ販売されているメディアを使用する方法とオンラインで取得できるISOイメージを使用する方法がある - NFSサーバからインストール
インストールパッケージが保管されているNFSサーバを使用する方法
パッケージが保管されたNFSサーバが必須となるため、通常は使用されない - FTPサーバからインストール
インストールパッケージが保管されているFTPサーバを使用する方法
FTPサーバへの接続速度がインストール所要時間に反映されるため、通常は使用されない - ISOイメージからインストール
仮想マシンへのインストールなどで使用する方法。
通常のハードウェアに対するインストールではこの方法は取ることができない
無償利用可能なOSのイメージは一時配布元の他にミラーサーバから入手が可能。
Redhat Enterprise Linuxはユーザ登録者向けのサイト(https://www.redhat.com/wapps/sso/rhn/login.html)から入手可能。
OSインストール †
以下にて説明する手順はRHEL ESv4をCD-ROMからインストールを行う場合のものである。
また、インストール時に追加ドライバが不要な環境でのインストールを前提としている。
追加ドライバが必要な場合はドライバのドキュメントを参照して導入すること。
- 1. OSインストールCDからのブート
- 2. 表示言語・入力デバイスの選択
- 3. パーティションの作成
/boot 500MB〜1GB
swap 物理メモリの2倍
/ 残り全て
- 4. セキュリティ設定
SE Linux無効 Firewall(iptables)無効
- 5. ネットワーク設定
- 6. タイムゾーン
- 7. rootパスワード
- 8. パッケージ選択
X Window System GNOMEデスクトップ
>Firefox
テキストベースインターネット
>lynx/elinks
開発環境 サーバ
>FTPサーバ(vsftpd)
- 9. インストール
- 10. インストール後の初期設定
ネットワークの設定 †
アップデートの適用 †
RHELはサブスクリプションを購入することによりアップデートを使用することが可能となる。サブスクリプションの期間は1年/3年/5年となっており、専用の会員サイトにて有効期限とシステムとの紐付けを管理することができる。
- up2dateによるアップデートは以下のコマンドを実行する(導入済みパッケージのアップデート)
up2date -u
追加パッケージの導入 †
up2dateはアップデート以外にパッケージのインストールを行うこともできる。
以下のパッケージはインストール段階で組み込まれないため、手動でインストールを行う。
up2date --install ntp up2date --install net-snmp up2date --install net-snmp-utils up2date --install nmap
ntp | 時刻合わせようコマンド一式(ntpdateなど) |
net-snmp | システム管理サービス用デーモン(snmpd) |
net-snmp | システム管理サービス用コマンド(snmpwalkなど) |
nmap | ポートスキャナ |
ネットワーク †
- IPアドレス,NetMaskなどの設定
[root@centos4 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
- レゾルバ設定ファイル
nslookupで引けないときにまず参照。[root@centos4 ~]# cat /etc/resolv.conf
- ネットワーク再起動
/etc/init.d/network restart
- Gatewayの設定
1./etc/sysconfig/network 2./etc/sysconfig/network-scripts/ifcfg-eth0 3./etc/sysconfig/network-scripts/ifcfg-eth1
以下3つのファイルにGatewayの設定は可能だが、1が優先される。
ネットワークインタフェースが2つ存在する場合は、1には書かず2or3に記述する。
SSHのアクセス制限 †
SSH接続の制限は、hosts.denyとhosts.allowを使用して行う。
全てをdenyしておき、許可するものだけhosts.allowで設定する。
- hosts.deny(アクセス不可条件を設定するファイル )
# # hosts.deny This file describes the names of the hosts which are # *not* allowed to use the local INET services, as decided # by the '/usr/sbin/tcpd' server. # # The portmap line is redundant, but it is left to remind you that # the new secure portmap uses hosts.deny and hosts.allow. In particular # you should know that NFS uses portmap! ALL : ALL
- hosts.allow(アクセス許可条件を設定するファイル)
preview環境からのみssh接続を許可するようにする。# # hosts.allow This file describes the names of the hosts which are # allowed to use the local INET services, as decided # by the '/usr/sbin/tcpd' server. # ALL : 192.168.100.0/255.255.255.0 ## SSH sshd : 222.230.141.164
- sshでのrootログインを許可しない
[root@centos4 ssh]# vi /etc/ssh/sshd_config (変更前)#PermitRootLogin yes ↓ (変更後)PermitRootLogin no
[root@centos4 ssh]# /etc/init.d/sshd restart sshd を停止中: [ OK ] sshd を起動中: [ OK ]
ホスト名の設定 †
hostnameコマンドで書き換えるとリブートした場合、もとの設定に戻ってしまう。
設定ファイルを書き換えることによってリブート後も設定は戻らない。
[root@centos4 apache]# vi /etc/sysconfig/network NETWORKING=yes HOSTNAME=hogehoge.com
リブート後、hostnameコマンドで代ったことを確認する。
[root@centos4 apache]# hostname hogehoge.com