

<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>“南船北馬” &#187; Linux</title>
	<atom:link href="http://aoshiman.net/weblog/category/linux/feed/" rel="self" type="application/rss+xml" />
	<link>http://aoshiman.net/weblog</link>
	<description>不定期更新且つ、最新情報に対して常に周回遅れ気味に追っかけているブログです</description>
	<lastBuildDate>Tue, 20 Oct 2009 11:07:15 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>[Python]ハードディスクの温度を定期的にTwitterにポストする</title>
		<link>http://aoshiman.net/weblog/2009/09/04/python_hdtemp/</link>
		<comments>http://aoshiman.net/weblog/2009/09/04/python_hdtemp/#comments</comments>
		<pubDate>Fri, 04 Sep 2009 11:00:59 +0000</pubDate>
		<dc:creator>aoshiman</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://aoshiman.net/weblog/?p=444</guid>
		<description><![CDATA[				自宅サーバ（CentOS5.3）は極端に熱のこもる場所に設置してあるわけではないので、廃熱に関してはそこそこ大丈夫だと思っているのだけど、それでもハードディスクとかの温度は心配。そこで会社にいても状況を把握出来るように、4時間おきにハードディスクの温度をTwtterにポストしている。以下備忘録的にまとめてみた。
				hddtempのインストール
				まずはハードディスクの温度を計測する為にhddtempをインストールする。CentOSの場合はyumでインストール可能。
				# yum -y install hddtemp
使用する時は、hddtemp disk名をタイプして実行する
# hddtemp /dev/sda
/dev/sda: WDC WD10EADS-00L5B1: 39°C

				hddtempの値を取得してTwitterにポストする
				以下ソースコード（Pythonなのに全くインデントしてない>]]></description>
			<content:encoded><![CDATA[				<p>自宅サーバ（CentOS5.3）は極端に熱のこもる場所に設置してあるわけではないので、廃熱に関してはそこそこ大丈夫だと思っているのだけど、それでもハードディスクとかの温度は心配。そこで会社にいても状況を把握出来るように、4時間おきにハードディスクの温度をTwtterにポストしている。以下備忘録的にまとめてみた。</p>
				<h3>hddtempのインストール</h3>
				<p>まずはハードディスクの温度を計測する為にhddtempをインストールする。CentOSの場合はyumでインストール可能。</p>
				<pre class="brush: bash;"># yum -y install hddtemp</pre>
<p>使用する時は、hddtemp disk名をタイプして実行する</p>
<pre class="brush: bash;"># hddtemp /dev/sda
/dev/sda: WDC WD10EADS-00L5B1: 39°C
</pre>
				<h3>hddtempの値を取得してTwitterにポストする</h3>
				<p>以下ソースコード（Pythonなのに全くインデントしてない><）</p>
				<pre class="brush: python;">
#!/usr/bin/env python
# coding: utf-8

import sys
import twitter
from datetime import *

USERNAME = &quot;TWITTER_ACCOUNT&quot;
PASSWORD = &quot;ACCOUNT_PASSWORD&quot;

DATETIME = datetime.now()
TIME_STR = DATETIME.strftime(&quot;%I:%M %p&quot;)
api = twitter.Api(USERNAME, PASSWORD)

t = sys.stdin.readline()
info = t.rstrip() + &quot; &quot; + &quot;at&quot; + &quot; &quot; +TIME_STR

post = u&quot;%s&quot; % (info)
api.PostUpdate(post)
# print post
</pre>
				<p>Twitterへポストするモジュールは<a href="http://code.google.com/p/python-twitter/">python-twitter</a>を使用。<br />
				注意した点は２つあって、１つは受け取った標準出力に改行がついてきて、そのままではTwitterにうまくポスト出来ないのでrstripしていること。もうひとつは、ポストする内容にその時刻を追加したこと（取得した温度だけをポストする場合、温度が毎回同じだとポストする内容が一緒になってしまい、Twiiter仕様上無効ポストになってしまう）</p>
				<h3>シェルスクリプトの作成</h3>
				<pre class="brush: bash;">
#!/bin/sh
export LANG=ja_JP.utf-8
/usr/sbin/hddtemp /dev/sda | /usr/local/bin/python /usr/local/bin/hdd_info.py
exit
</pre>
				<p>ここでは、/dev/sdaの温度を取得し、先ほどのスクリプト（hdd_info.py）へパイプで繋いでいる。ディスク名は環境によって違うと思うので置き換えて下さい。最初どうしても°CがTwitterにポストされず困っていたのだけど、export LANG=ja_JP.utf-8を記述することでポスト出来るようになった（<a href="http://twitter.com/katsu2000x">katsu2000x</a>さんthanks！）<br />
				このシェルスクリプトをCronで定時実行させるとこのようになる。Twitterアカウントは本人のアカウントを使用するとTLを汚すような気がして、それ用のアカウントを作った。</p>
				<p><a class="" rel="" title="20090904_01" href="http://www.flickr.com/photos/aoshiman/3886938526/"><img src="http://static.flickr.com/3516/3886938526_57daec1c6c.jpg" alt="20090904_01"></a></p>
				<p>
				[2009年9月13日追記]<br />
				twitterでフォローしているmagicalhatさんが、perlでさくっと書いてくれてトラバ貰いました。勉強になります！<br />
				[追記ここまで]</p>
]]></content:encoded>
			<wfw:commentRss>http://aoshiman.net/weblog/2009/09/04/python_hdtemp/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>CORESERVERのShell</title>
		<link>http://aoshiman.net/weblog/2008/08/09/default_shell/</link>
		<comments>http://aoshiman.net/weblog/2008/08/09/default_shell/#comments</comments>
		<pubDate>Sat, 09 Aug 2008 12:47:26 +0000</pubDate>
		<dc:creator>aoshiman</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[CORESERVER]]></category>

		<guid isPermaLink="false">http://aoshiman.net/weblog/?p=12</guid>
		<description><![CDATA[				このblogはCORESERVERで動かしているのですが、一番最初にsshログインして操作しようとした時、
				

~> ls
-rbash: /bin/ls: restricted: cannot specify `/' in command names


				というメッセージが出て訳がわからず焦りました。とりあえずメッセージ内容をgoogle先生に聞いたところ、CORESERVERのShellはデフォルトでrbashという制限付きbashとなっているとのこと。従ってchshコマンドを使用し、デフォルトShellをbashに変更しました。
				

~> chsh
Changing login shell for hogehoge.
Password:
Enter the new value, or press return for the default.
        Login Shell [/bin/rbash]: /bin/bash
Shell changed.


				これで普通に ls とか cd コマンドが使用出来るようになりました。ふう〜。
]]></description>
			<content:encoded><![CDATA[				<p>このblogは<a href="http://www.coreserver.jp/">CORESERVER</a>で動かしているのですが、一番最初にsshログインして操作しようとした時、</p>
				<pre>

~> ls
-rbash: /bin/ls: restricted: cannot specify `/' in command names
</br>
</pre>
				<p>というメッセージが出て訳がわからず焦りました。とりあえずメッセージ内容をgoogle先生に聞いたところ、CORESERVERのShellはデフォルトでrbashという制限付きbashとなっているとのこと。従ってchshコマンドを使用し、デフォルトShellをbashに変更しました。</p>
				<pre>

~> chsh
Changing login shell for hogehoge.
Password:
Enter the new value, or press return for the default.
        Login Shell [/bin/rbash]: /bin/bash
Shell changed.
</br>
</pre>
				<p>これで普通に ls とか cd コマンドが使用出来るようになりました。ふう〜。</p>
]]></content:encoded>
			<wfw:commentRss>http://aoshiman.net/weblog/2008/08/09/default_shell/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>kickstartを使ったインストールの自動化</title>
		<link>http://aoshiman.net/weblog/2008/08/05/kickstart_centos/</link>
		<comments>http://aoshiman.net/weblog/2008/08/05/kickstart_centos/#comments</comments>
		<pubDate>Tue, 05 Aug 2008 13:28:14 +0000</pubDate>
		<dc:creator>aoshiman</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[CentOS]]></category>
		<category><![CDATA[kickstart]]></category>

		<guid isPermaLink="false">http://aoshiman.net/weblog/?p=11</guid>
		<description><![CDATA[				さて、前回の続きですが、RedHat系Linuxではkickstartという仕組みを利用してOSインストールの自動化を行うことが出来ます。kickstartの詳しい内容につきましてはこちらにある公式ドキュメントをご参照願います。下記参考サイトにも挙げてあります。
				参考にしたサイト
				
				chibilog++：kickstart で CentOS 5 を自動インストールする
				ウノウラボ：Linuxをネットワーク経由で自動インストールする方法（後編）
				Red Hat Enterprise Linux インスト-ルガイド：28.1.キックスタートインストールとは
				検閲Tech：Kickstart中のパスワードの暗号化
				
				前回同様大変参考になりました。
				kickstartファイルの作り方
				kickstartファイルは公式マニュアルを参照して作成したり、Web上にあるなんらかのサンプルを利用することも出来ますが、今回はPXEサーバにあるanaconda-ks.cfgを流用します。
				RedHat系Linuxをインストールすると /root にanaconda-ks.cfg というファイルが作成されます。前回使用したPXEサーバのanaconda-ks.cfgは次のようになっています。
				
# Kickstart file automatically generated by anaconda.

install
cdrom
lang ja_JP.UTF-8
keyboard jp106
network --device eth0 --bootproto static --ip 192.168.11.5 --netmask 255.255.255.0 --gateway 192.168.11.1 --nameserver 192.168.11.1 --hostname hoge.centos.com
rootpw --iscrypted *****************************
firewall --enabled --port=22:tcp
authconfig --enableshadow --enablemd5
selinux --enforcing
timezone Asia/Tokyo
bootloader --location=mbr --driveorder=sda
# The following is the partition information you requested
# Note that any [...]]]></description>
			<content:encoded><![CDATA[				<p>さて、前回の続きですが、RedHat系Linuxではkickstartという仕組みを利用してOSインストールの自動化を行うことが出来ます。kickstartの詳しい内容につきましては<a href="http://www.redhat.com/docs/manuals/enterprise/RHEL-5-manual/ja-JP/Installation_Guide/s1-kickstart2-whatis.html">こちら</a>にある公式ドキュメントをご参照願います。下記参考サイトにも挙げてあります。</p>
				<h2>参考にしたサイト</h2>
				<ul>
				<li><a href="http://aroe.name/chibi/052">chibilog++：kickstart で CentOS 5 を自動インストールする</a></li>
				<li><a href="http://labs.unoh.net/2007/12/linux_2.html">ウノウラボ：Linuxをネットワーク経由で自動インストールする方法（後編）</a></li>
				<li><a href="http://www.redhat.com/docs/manuals/enterprise/RHEL-5-manual/ja-JP/Installation_Guide/s1-kickstart2-whatis.html">Red Hat Enterprise Linux インスト-ルガイド：28.1.キックスタートインストールとは</a></li>
				<li><a href="http://ken-etsu-tech.blogspot.com/2008/01/kickstart.html">検閲Tech：Kickstart中のパスワードの暗号化</a></li>
				</ul>
				<p>前回同様大変参考になりました。</p>
				<h2>kickstartファイルの作り方</h2>
				<p>kickstartファイルは公式マニュアルを参照して作成したり、Web上にあるなんらかのサンプルを利用することも出来ますが、今回はPXEサーバにあるanaconda-ks.cfgを流用します。<br />
				RedHat系Linuxをインストールすると /root にanaconda-ks.cfg というファイルが作成されます。前回使用したPXEサーバのanaconda-ks.cfgは次のようになっています。</p>
				<pre><code>
# Kickstart file automatically generated by anaconda.

install
cdrom
lang ja_JP.UTF-8
keyboard jp106
network --device eth0 --bootproto static --ip 192.168.11.5 --netmask 255.255.255.0 --gateway 192.168.11.1 --nameserver 192.168.11.1 --hostname hoge.centos.com
rootpw --iscrypted *****************************
firewall --enabled --port=22:tcp
authconfig --enableshadow --enablemd5
selinux --enforcing
timezone Asia/Tokyo
bootloader --location=mbr --driveorder=sda
# The following is the partition information you requested
# Note that any partitions you deleted are not expressed
# here so unless you clear all partitions first, this is
# not guaranteed to work
#clearpart --all --drives=sda
#part /boot --fstype ext3 --size=100 --ondisk=sda
#part pv.2 --size=0 --grow --ondisk=sda
#volgroup VolGroup00 --pesize=32768 pv.2
#logvol / --fstype ext3 --name=LogVol00 --vgname=VolGroup00 --size=1024 --grow
#logvol swap --fstype swap --name=LogVol01 --vgname=VolGroup00 --size=512 --grow --maxsize=1024

%packages
@japanese-support
@core
@base
@printing
@development-tools
device-mapper-multipath
imake
-sysreport
</code></pre>
				<h2>anaconda-ks.cfgの修正</h2>
				<p>まず、anaconda-ks.cfgを /var/ftp にコピーし、kickstart-centos.cfgという名前に変更します。所有者、パーミッションは環境に合わせ変更して下さい。</p>
				<pre>

# cp /root/anaconda-ks.cfg /var/ftp/kickstart-centos.cfg

</pre>
				<p>次にkickstart-centos.cfgを今回セッティングするサーバ用に数ヶ所修正します。私は主に次の３箇所を修正します。<br />
				まずインストールメディアの指定を変更します。２行目の「cdrom」を下記のように変更します。</p>
				<pre>

url --url ftp://192.168.11.5//centos

</pre>
				<p>今回は前回のPXEサーバのネットワーク環境をそのまま流用しますので、FTPでインストールメディアを提供します。</p>
				<p>次に５行目のネットワークの設定を行います。これはセッティングするサーバに与えるIPアドレス等、各々の環境に合わせて設定します。<br />
				次に６行目のrootパスワード（rootpw）を設定します。rootpwで設定するパスワードは平文でも記述出来ますが、暗号化したパスワードを記述することも可能です。暗号化したパスワードはiscryptedオプションを付与することによって有効になります。<br />
				パスワードの暗号化ですが、anaconda-ks.cfgを参照しているサーバと同じパスワードを使用するならば、同じもので構いませんが、違うパスワードを使用したい場合はパスワードを暗号化する必要があります。パスワードの作成はこちらの<a href="http://ken-etsu-tech.blogspot.com/2008/01/kickstart.html">サイト</a>を参考にさせて頂きました。</p>
				<pre>

# openssl passwd -1
Password:
Verifying - Password:
$1$V.6Zs850$zNvg6orrkhnJ00Nmt5xQd0

</pre>
				<p>&#8220;$1$&#8221;で始まる文字列が暗号化されたパスワードになります。作成されたパスワードをコピー・ペーストして下さい。</p>
				<h2>kickstartファイルの設置</h2>
				<p>このようにして作成したkickstartファイルは、前回使用した /tftpboot/pxelinux.cfg/defaultファイルに指定します。前回作成したdefaultファイルを下記の様に修正します。</p>
				<pre><code>

default centos

label centos
kernel vmlinuz
append load initrd=initrd.img ksdevice=eth0 ks=ftp://192.168.11.5/kickstart-centos.cfg devfs=nomount

</code></pre>
				<p>ここまで出来れば、あとは前回同様にPXEサーバの必要なサービスの起動、DVDイメージのマウントを行い、クライアントPCを起動させて下さい。うまくいけばインストールがスタートし、RESTARTのメッセージが表示されるところまで自動的に進むと思います。<br />
				また、kickstartでは、%postという指定でインストール後にユーザー追加などのコマンドを記述することが出来ます。今回は取り急ぎセットアップしただけですが、時間があればもう少し調べてみたいと思います。</p>
]]></content:encoded>
			<wfw:commentRss>http://aoshiman.net/weblog/2008/08/05/kickstart_centos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CentOSをネットワークインストールする</title>
		<link>http://aoshiman.net/weblog/2008/08/02/centos_install/</link>
		<comments>http://aoshiman.net/weblog/2008/08/02/centos_install/#comments</comments>
		<pubDate>Sat, 02 Aug 2008 12:04:20 +0000</pubDate>
		<dc:creator>aoshiman</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[CentOS]]></category>
		<category><![CDATA[PXE]]></category>

		<guid isPermaLink="false">http://aoshiman.net/weblog/?p=9</guid>
		<description><![CDATA[				ある事情により、自宅のiTunesサーバ（兼ファイルサーバ）として使用していたノートPCを人に譲ることになり、他のノートPCを代替サーバに仕立てようとCentOSのインストールを試みたのですが、DVD-ROMドライブが壊れているようでインストールが出来ない〜＞＜。
				そこで以前より気になっていたPXEを利用したネットワークインストールに挑戦してみました。
				参考にしたサイト
				
				PXEサーバ経由で CentOS 5 をインストール
				kickstart で CentOS 5 を自動インストールする
				Linuxをネットワーク経由で自動インストールする方法（前編）
				Linuxをネットワーク経由で自動インストールする方法（後編）
				Fedora 9をPXEブートでインストールする
				
				上記サイトを主に参考にさせて頂きました。大変助かりました。この場を借りてお礼申し上げます。
				PXEサーバの構築
				ノートPCにネットワーク経由でCentOSをインストールする為には、ノートPCをPXEBOOTさせ、且つ取得させるOSイメージをセットするサーバが必要になります。既存サーバに後述する必要な環境をセッティングすることもアリなのですが、自宅にサーバが無いので、今回はMacBookのVMwareFusion上にあるCentOS5.1をサーバとして使用します。
				イメージファイルのダウンロード
				まず、CentOSのDVDイメージファイルをサイトからダウンロードします。今回はバージョン5.1を使います。
				イメージファイルは今回構築するPXEサーバ上でダウンロードしてもかまいませんが、私はMacBookにBitTorrent
				クライアントがあったので、BitTorrent経由でダウンロード、その後samba経由でPXEサーバに移動させました。　
				DVDイメージは /home/hoge/images に移動します。このファイルは後で使用します。
				vsftpdのインストールと設定
				PXEブートしたクライアントが取得するイメージファイルの提供方法は、VFS、HTTP、FTP等があるようです。
				今回参考にさせていただいたサイトでも、HTTP、FTPのいづれかを使用していました。今回はvsftpd（FTP）を使用してイメージファイルを配布しようと思います。vsftpdはyumでインストールします。
				

# yum -y install vsftpd


				vsftpdを起動します。vsftpdはデフォルトでanonymousログインが許可されています。
				

# /etc/rc.d/init.d/vsftpd start


				tftp-serverのインストールと設定
				tftpと後述するdhcpはクライントPCをPXEBOOTさせる為に必要。tftpがインストールされていない場合はyumでインストールします。
				

# yum -y install tftp-server


				インストール後にconfigファイルを設定します。disableのyesをnoに変更します。
				
# vi /etc/xinetd.d/tftp

service tftp
{

中略

        disable                 = no  #yesをnoに変更

中略

}
				次に、tftp-serverのインストール時に作成された /tftpboot にcentosというフォルダを作成し、PXE用ブートローダをコピーします。このフォルダにはあと２つのファイルをコピーします（後述）。
				

# mkdir [...]]]></description>
			<content:encoded><![CDATA[				<p>ある事情により、自宅のiTunesサーバ（兼ファイルサーバ）として使用していたノートPCを人に譲ることになり、他のノートPCを代替サーバに仕立てようとCentOSのインストールを試みたのですが、DVD-ROMドライブが壊れているようでインストールが出来ない〜＞＜。<br />
				そこで以前より気になっていたPXEを利用したネットワークインストールに挑戦してみました。<span id="more-9"></span></p>
				<h2>参考にしたサイト</h2>
				<ul>
				<li><a href="http://aroe.name/chibi/051">PXEサーバ経由で CentOS 5 をインストール</a></li>
				<li><a href="http://aroe.name/chibi/052">kickstart で CentOS 5 を自動インストールする</a></li>
				<li><a href="http://labs.unoh.net/2007/12/linux_2.html">Linuxをネットワーク経由で自動インストールする方法（前編）</a></li>
				<li><a href="http://labs.unoh.net/2007/12/linux_2.html">Linuxをネットワーク経由で自動インストールする方法（後編）</a></li>
				<li><a href="http://amecoro.seesaa.net/article/103612243.html">Fedora 9をPXEブートでインストールする</a></li>
				</ul>
				<p>上記サイトを主に参考にさせて頂きました。大変助かりました。この場を借りてお礼申し上げます。</p>
				<h1>PXEサーバの構築</h1>
				<p>ノートPCにネットワーク経由でCentOSをインストールする為には、ノートPCをPXEBOOTさせ、且つ取得させるOSイメージをセットするサーバが必要になります。既存サーバに後述する必要な環境をセッティングすることもアリなのですが、自宅にサーバが無いので、今回はMacBookのVMwareFusion上にあるCentOS5.1をサーバとして使用します。</p>
				<h2>イメージファイルのダウンロード</h2>
				<p>まず、CentOSのDVDイメージファイルをサイトからダウンロードします。今回はバージョン5.1を使います。<br />
				イメージファイルは今回構築するPXEサーバ上でダウンロードしてもかまいませんが、私はMacBookにBitTorrent<br />
				クライアントがあったので、BitTorrent経由でダウンロード、その後samba経由でPXEサーバに移動させました。　<br />
				DVDイメージは /home/hoge/images に移動します。このファイルは後で使用します。</p>
				<h2>vsftpdのインストールと設定</h2>
				<p>PXEブートしたクライアントが取得するイメージファイルの提供方法は、VFS、HTTP、FTP等があるようです。<br />
				今回参考にさせていただいたサイトでも、HTTP、FTPのいづれかを使用していました。今回はvsftpd（FTP）を使用してイメージファイルを配布しようと思います。vsftpdはyumでインストールします。</p>
				<pre>

# yum -y install vsftpd
</br>
</pre>
				<p>vsftpdを起動します。vsftpdはデフォルトでanonymousログインが許可されています。</p>
				<pre>

# /etc/rc.d/init.d/vsftpd start
</br>
</pre>
				<h2>tftp-serverのインストールと設定</h2>
				<p>tftpと後述するdhcpはクライントPCをPXEBOOTさせる為に必要。tftpがインストールされていない場合はyumでインストールします。</p>
				<pre>

# yum -y install tftp-server
</br>
</pre>
				<p>インストール後にconfigファイルを設定します。disableのyesをnoに変更します。</p>
				<pre>
# vi /etc/xinetd.d/tftp

service tftp
{

中略

        disable                 = no  #yesをnoに変更

中略

}</pre>
				<p>次に、tftp-serverのインストール時に作成された /tftpboot にcentosというフォルダを作成し、PXE用ブートローダをコピーします。このフォルダにはあと２つのファイルをコピーします（後述）。</p>
				<pre>

# mkdir /tftpboot/centos
# cp /usr/lib/syslinux/pxelinux.0 /tftpboot/centos/
</br>
</pre>
				<p>次に、/tftpboot/centos/にpxelinux.cfgという名前でフォルダを作成し、defaultというファイル名で起動用設定ファイルを記述します。</p>
				<pre>

# mkdir /tftpboot/centos/pxelinux.cfg

# vi /tftpboot/centos/pxelinux.cfg/default

default centos

label centos
kernel vmlinuz
append load initrd=initrd.img devfs=nomount
</br>
</pre>
				<h2>DVDイメージのマウント</h2>
				<p>予めダウンロードしたDVDイメージファイルを、クライアントがFTP接続した際のディレクトリ（/var/ftp）内にフォルダを作成し、マウントさせます。マウントポイントは /var/ftp/centos になります。</p>
				<pre>

# mkdir /var/ftp/centos
# mount -t iso9660 -o loop /home/hoge/images/CentOS-5.1-i386-bin-DVD.iso /var/ftp/centos
</br>
</pre>
				<p>イメージファイルをマウントさせた後、その中にある起動イメージファイルを /tftpboot/centos にコピーします。</p>
				<pre>

# cp /var/ftp/centos/images/pxeboot/initrd.img /tftpboot/centos/
# cp /var/ftp/centos/images/pxeboot/vmlinuz /tftpboot/centos/
</br>
</pre>
				<p>ここで先程のtftpを起動させます。</p>
				<pre>

# /etc/rc.d/init.d/xinetd start
</br>
</pre>
				<h2>dhcpのインストールと設定</h2>
				<p>あと一息です！dhcpはクライアントPCにIPアドレスを与え、クライアントPCにPXEサーバの場所を教えます。dhcpが入っていない場合はyumでインストールします。</p>
				<pre>

# yum -y install dhcp
</br>
</pre>
				<p>dhcpのconfigファイルを設定します。/etc/dhcpd.confに下記のような記述をします。私の環境では設定値は下表のようになりました。</p>
				<table border="1" cellspacing="0">
				<tbody>
				<tr>
				<td>Network(192.168.11.0/24)</td>
				<td>192.168.11.0</td>
				<td>subnet</td>
				</tr>
				<tr>
				<td>Subnetmask</td>
				<td>255.255.255.0</td>
				<td>netmask</td>
				</tr>
				<tr>
				<td>DefaultGateway</td>
				<td>192.168.11.1</td>
				<td>option routers</td>
				</tr>
				<tr>
				<td>DNSServer</td>
				<td>192.168.11.1</td>
				<td>option domain-name-servers</td>
				</tr>
				<tr>
				<td>DHCPで割当可能範囲</td>
				<td>192.168.11.70 〜 192.168.11.80</td>
				<td> </td>
				</tr>
				<tr>
				<td>PXEサーバのIPアドレス</td>
				<td>192.168.11.5</td>
				<td>next-server※</td>
				</tr>
				</tbody>
				</table>
				<pre>
ddns-update-style interim;
ignore client-updates;

subnet 192.168.11.0 netmask 255.255.255.0 {

# --- default gateway
        option routers                  192.168.11.1;
        option subnet-mask              255.255.255.0;

        option domain-name              "Centos.hogehoge.com";
        option domain-name-servers      192.168.11.1;
        range dynamic-bootp 192.168.11.70 192.168.11.80;
#      next-server 192.168.11.5;
        filename "/centos/pxelinux.0";
}</pre>
				<p>filenameの箇所はtftpbootにあるpxelinux.0の場所になります。またnext-serverはPXEサーバのIPアドレスを指定してあるのですが、記述しなくてもクライアントはPXEサーバを見つけてくれました。もしうまく行かない場合は記述してみて下さい。</p>
				<p>記述が終了したら、dhcpを起動させるのですが、ルータのDHCP機能を使用している場合はいったんDHCP機能を切ります。複数のDHCPを共存させながらPXEBOOTさせる方法もあると思うのですが、追々調べていきます。<br />
				いったんルータのDHCP機能を切った後、dhcpを起動させます。<br />
				又、PXEサーバにFirewallサービスが動作している場合はこれも休止させます（必要なPORTを空けて使用するのでも勿論構いません）。</p>
				<h2>PXEブートの実施</h2>
				<p>あとはLANケーブルをつないだクライアントPCの電源投入し、BIOS設定でネットワーク起動を有効、起動の順序を変更して再度起動させます。<br />
				問題がなければ、テキストインストール画面が出現します。いくつかの設定後、インストール方法の選択でFTPを選択して、FTPサーバのIPアドレスとイメージファイルの場所を入力します。<br />
				インストール完了後は、クライアント側はBIOS設定をリセットすること、PXEサーバ側はumount等をして下さい。</p>
				<h2>まとめ</h2>
				<p>これで、DVD-ROMドライブが壊れたPCにCentOSをインストールすることが出来ました。今回はVMware上にPXEサーバを作成した為、このVMサーバがあれば、いつでも起動させてネットワークインストール環境が手に入ります。ただインストーラーを呼び出してからのセッティングはメディアを使ったインストールと変わらず面倒なので、今度はkickstartを利用したインストールの自動化をやってみたいと思います。続く。</p>
]]></content:encoded>
			<wfw:commentRss>http://aoshiman.net/weblog/2008/08/02/centos_install/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
