<?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/"
	>

<channel>
	<title>下手な鉄砲も･･･</title>
	<atom:link href="http://ulc.jp/wp/feed" rel="self" type="application/rss+xml" />
	<link>http://ulc.jp/wp</link>
	<description>Linux（CentOS）、Ruby、Rmagick、などなど色々挑戦してみます。</description>
	<pubDate>Mon, 04 May 2009 02:40:47 +0000</pubDate>
	<generator>http://wordpress.org/?v=abc</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>CentOS5.2にRuby on Rails を導入</title>
		<link>http://ulc.jp/wp/archives/599</link>
		<comments>http://ulc.jp/wp/archives/599#comments</comments>
		<pubDate>Mon, 04 May 2009 02:04:49 +0000</pubDate>
		<dc:creator>okada</dc:creator>
		
		<category><![CDATA[Centos5]]></category>

		<category><![CDATA[Ruby]]></category>

		<category><![CDATA[Ruby on Rails]]></category>

		<guid isPermaLink="false">http://ulc.jp/wp/?p=599</guid>
		<description><![CDATA[



サーバ管理ツール作成用にRuby on Railsに挑戦してみることにする。
先ずは、導入から。


Rubyは導入済みなので、先ずは最新化

# yum update ruby
Loading &#8220;fastestmirror&#8221; plugin
Loading mirror speeds from cached hostfile
 * extras: www.ftp.ne.jp
 * updates: www.ftp.ne.jp
 * base: www.ftp.ne.jp
 * addons: www.ftp.ne.jp
 * adobe-linux-i386: linuxdownload.adobe.com
Setting up Update Process
Resolving Dependencies
&#8211;> Running transaction check
&#8212;> Package ruby.i386 0:1.8.5-5.el5_2.6 set to be updated
　　　：
Updated: ruby.i386 0:1.8.5-5.el5_2.6 ruby-libs.i386 0:1.8.5-5.el5_2.6
Dependency Updated: ruby-devel.i386 0:1.8.5-5.el5_2.6 ruby-irb.i386 0:1.8.5-5.el5_2.6 ruby-rdoc.i386 0:1.8.5-5.el5_2.6
Complete!


インストール済みパッケージを確認

# gem list
*** [...]]]></description>
			<content:encoded><![CDATA[<table>
<tr>
<td><a href="http://rubyonrails.org/"><img src="http://ulc.jp/wp/wp-content/uploads/2009/05/rails.png" alt="rails" title="rails" width="87" height="111" class="alignnone size-full wp-image-600" /></a></td>
<td>
サーバ管理ツール作成用にRuby on Railsに挑戦してみることにする。<br />
先ずは、導入から。</td>
</tr>
</table>
<p>Rubyは導入済みなので、先ずは最新化</p>
<blockquote><p>
# yum update ruby</p>
<p>Loading &#8220;fastestmirror&#8221; plugin<br />
Loading mirror speeds from cached hostfile<br />
 * extras: www.ftp.ne.jp<br />
 * updates: www.ftp.ne.jp<br />
 * base: www.ftp.ne.jp<br />
 * addons: www.ftp.ne.jp<br />
 * adobe-linux-i386: linuxdownload.adobe.com<br />
Setting up Update Process<br />
Resolving Dependencies<br />
&#8211;> Running transaction check<br />
&#8212;> Package ruby.i386 0:1.8.5-5.el5_2.6 set to be updated<br />
　　　：<br />
Updated: ruby.i386 0:1.8.5-5.el5_2.6 ruby-libs.i386 0:1.8.5-5.el5_2.6<br />
Dependency Updated: ruby-devel.i386 0:1.8.5-5.el5_2.6 ruby-irb.i386 0:1.8.5-5.el5_2.6 ruby-rdoc.i386 0:1.8.5-5.el5_2.6<br />
Complete!
</p></blockquote>
<p><span id="more-599"></span><br />
インストール済みパッケージを確認</p>
<blockquote><p>
# gem list</p>
<p>*** LOCAL GEMS ***</p>
<p>rmagick (2.7.0)<br />
    Ruby binding to ImageMagick</p>
<p>sources (0.0.1)<br />
    This package provides download sources for remote gem installation
</p></blockquote>
<p>Railsをインストール</p>
<blockquote><p>
# gem install rails &#8211;include-dependencies<br />
Successfully installed rails-2.3.2<br />
Successfully installed rake-0.8.4<br />
Successfully installed activesupport-2.3.2<br />
Successfully installed activerecord-2.3.2<br />
Successfully installed actionpack-2.3.2<br />
Successfully installed actionmailer-2.3.2<br />
Successfully installed activeresource-2.3.2<br />
Installing ri documentation for rake-0.8.4&#8230;<br />
Installing ri documentation for activesupport-2.3.2&#8230;<br />
　　：<br />
Installing RDoc documentation for actionmailer-2.3.2&#8230;<br />
Installing RDoc documentation for activeresource-2.3.2&#8230;
</p></blockquote>
<p>SQLite3を導入</p>
<blockquote><p>
# gem install sqlite3-ruby<br />
Select which gem to install for your platform (i386-linux)<br />
 1. sqlite3-ruby 1.2.4 (ruby)<br />
 2. sqlite3-ruby 1.2.3 (x86-mingw32)<br />
 3. sqlite3-ruby 1.2.3 (mswin32)<br />
 4. sqlite3-ruby 1.2.3 (ruby)<br />
 5. Skip this gem<br />
 6. Cancel installation<br />
> 1<br />
Building native extensions.  This could take a while&#8230;<br />
Successfully installed sqlite3-ruby-1.2.4<br />
Installing ri documentation for sqlite3-ruby-1.2.4&#8230;<br />
Installing RDoc documentation for sqlite3-ruby-1.2.4&#8230;
</p></blockquote>
<p>テスト</p>
<blockquote><p>
$ mkdir ror<br />
$ cd ror<br />
$ rails myapp<br />
      create<br />
      create  app/controllers<br />
      create  app/helpers<br />
      create  app/models<br />
      create  app/views/layouts<br />
      create  config/environments<br />
      create  config/initializers<br />
      create  config/locales<br />
      create  db<br />
     :<br />
      create  log/server.log<br />
      create  log/production.log<br />
      create  log/development.log<br />
      create  log/test.log<br />
$ cd myapp<br />
$ script/server<br />
Rails requires RubyGems >= 1.3.1 (you have 0.9.4). Please `gem update &#8211;system` and try again.
</p></blockquote>
<p>RubyGems が古いといわれたので、更新</p>
<blockquote><p>
# gem update &#8211;system<br />
Updating RubyGems&#8230;<br />
Attempting remote update of rubygems-update<br />
Successfully installed rubygems-update-1.3.2<br />
Updating version of RubyGems to 1.3.2<br />
Installing RubyGems 1.3.2<br />
　　：<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p>RubyGems installed the following executables:<br />
        /usr/bin/gem</p>
<p>RubyGems system software updated
</p></blockquote>
<p>再度起動してみる</p>
<blockquote><p>
$ ./script/server<br />
=> Booting WEBrick<br />
=> Rails 2.3.2 application starting on http://0.0.0.0:3000<br />
=> Call with -d to detach<br />
=> Ctrl-C to shutdown server<br />
[2009-05-04 10:40:42] INFO  WEBrick 1.3.1<br />
[2009-05-04 10:40:42] INFO  ruby 1.8.5 (2006-08-25) [i386-linux]<br />
[2009-05-04 10:40:42] INFO  WEBrick::HTTPServer#start: pid=26566 port=3000
</p></blockquote>
<p>今度は正常に起動したので、WEBブラウザから接続してみる。</p>
<blockquote><p>
http://192.168.xxx.xxx:3000/
</p></blockquote>
<p><a href="http://ulc.jp/wp/wp-content/uploads/2009/05/ws0000021.jpg"><img src="http://ulc.jp/wp/wp-content/uploads/2009/05/ws0000021-512x383.jpg" alt="ws0000021" title="RailesのWelcomeページ" width="512" height="383" class="alignnone size-large wp-image-608" /></a><br />
以上で、セットアップは完了。<br />
後は、実際のアプリケーションを作ってみよう。</p>
]]></content:encoded>
			<wfw:commentRss>http://ulc.jp/wp/archives/599/feed</wfw:commentRss>
		</item>
		<item>
		<title>Wordpressにアクセス解析プラグインCounterize IIを導入</title>
		<link>http://ulc.jp/wp/archives/586</link>
		<comments>http://ulc.jp/wp/archives/586#comments</comments>
		<pubDate>Sun, 03 May 2009 23:02:07 +0000</pubDate>
		<dc:creator>okada</dc:creator>
		
		<category><![CDATA[Centos5]]></category>

		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://ulc.jp/wp/?p=586</guid>
		<description><![CDATA[


こちらの記事を参考に、Counterize IIを導入してみた。
実際には、Wordpress2.7の管理画面から直接プラグインを導入。
その後、上記サイトを参考に言語設定と、表示設定を行った。
なお、この設定を行 [...]]]></description>
			<content:encoded><![CDATA[<table>
<tr>
<td><img src="http://ulc.jp/wp/wp-content/uploads/2009/01/wordpress-icon.jpg" alt="wordpress-icon" title="wordpress-icon" width="141" height="141" class="alignnone size-full wp-image-483" /></td>
<td><a href="http://oboegaki.net/wordpress/plugin/counterize-ii.html">こちら</a>の記事を参考に、Counterize IIを導入してみた。<br />
実際には、Wordpress2.7の管理画面から直接プラグインを導入。<br />
その後、上記サイトを参考に言語設定と、表示設定を行った。<br />
なお、この設定を行ったのはこのBlogではありません。</td>
</tr>
</table>
<p>管理画面の「外観」の「編集」から「サイドバー」を選んで、最後のほうに以下のコード（11行目まで）を追加した。</p>
<pre name="code" class="php">

		&lt;dt&gt;Counter&lt;/dt&gt;
		&lt;dd&gt;
			&lt;ul class=&quot;counter&quot;&gt;
				&lt;li&gt;ヒット数&lt;/li&gt;
　　今　日 : &lt;?php echo counterize_gethitstoday();?&gt;&lt;br&gt;
　　１週間 : &lt;?php echo counterize_getlatest7days();?&gt;&lt;br&gt;
　　累　計 : &lt;?php echo counterize_getamount(); ?&gt;&lt;br&gt;
				&lt;li&gt;ユニークIP&lt;/li&gt;
　　１週間 : &lt;?php echo counterize_getuniquelatest7days(); ?&gt;&lt;br&gt;
				&lt;/ul&gt;
		&lt;/dd&gt;
&lt;?php	endif; ?&gt;
	&lt;/dl&gt;&lt;!--end others--&gt;
&lt;/div&gt;&lt;!--end utilities--&gt;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://ulc.jp/wp/archives/586/feed</wfw:commentRss>
		</item>
		<item>
		<title>AmazonEC2応用編-自作のCentOS5のOSイメージをS3にバックアップする。</title>
		<link>http://ulc.jp/wp/archives/537</link>
		<comments>http://ulc.jp/wp/archives/537#comments</comments>
		<pubDate>Sun, 15 Mar 2009 13:27:15 +0000</pubDate>
		<dc:creator>okada</dc:creator>
		
		<category><![CDATA[Amazon Web Services]]></category>

		<category><![CDATA[Centos5]]></category>

		<category><![CDATA[EC2]]></category>

		<guid isPermaLink="false">http://ulc.jp/wp/?p=537</guid>
		<description><![CDATA[


EC2では、マシンをシャットダウンしてしまうと、OS環境も失ってしまう。
だから、OSイメージをバックアップすることが特に重要。いかに、手順をメモしておく。


　
１．ローカルマシンから、証明書と秘密キーファイルを送信

$ scp -i ~/.ssh/id_rsa.xxxxxxxxxx $EC2_PRIVATE_KEY $EC2_CERT root@xxx.xxx.com:/mnt/.ec2/
pk-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.pem                                                 [...]]]></description>
			<content:encoded><![CDATA[<table>
<tr>
<td><img src="http://ulc.jp/wp/wp-content/uploads/2009/01/logo_aws.gif" alt="logo_aws" title="logo_aws" width="164" height="60" class="alignnone size-full wp-image-495" /></td>
<td>EC2では、マシンをシャットダウンしてしまうと、OS環境も失ってしまう。<br />
だから、OSイメージをバックアップすることが特に重要。いかに、手順をメモしておく。</td>
</tr>
</table>
<p>　</p>
<h3>１．ローカルマシンから、証明書と秘密キーファイルを送信</h3>
<pre><code>
$ scp -i ~/.ssh/id_rsa.xxxxxxxxxx $EC2_PRIVATE_KEY $EC2_CERT root@xxx.xxx.com:/mnt/.ec2/
pk-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.pem                                                                                             100%  926     0.9KB/s   00:00
cert-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.pem
</code></pre>
<h3>２．EC2のインスタンスにログイン</h3>
<pre><code>
$ ssh -i ~/.ssh/id_rsa.xxxxxxxxxx -l root
</code></pre>
<p><span id="more-537"></span></p>
<h3>３．ツール類のセットアップ</h3>
<p>（１）unzipの導入（未導入の場合）</p>
<pre><code># yum -y install unzip</code></pre>
<p>（２）以前の記事で記載した「<a href="http://ulc.jp/wp/archives/349">１．AWSのアカウントを取得して、ツールのセットアップを行う</a>」の<br />
　　「（３）Amazon EC2 API Toolsをセットアップ」と「（４）Amazon EC2 AMI Toolsをセットアップ」を実施。</p>
<h3>４．カーネルモジュールの追加と反映</h3>
<pre><code>
# cd /tmp
# wget http://s3.amazonaws.com/ec2-downloads/modules-2.6.16-ec2.tgz
# tar xzvf modules-2.6.16-ec2.tgz
# cp -rp lib/* /lib/
# depmod -a
</code></pre>
<h3>５．イメージ格納ディレクトリ作成</h3>
<pre><code># mkdir /mnt/img</code></pre>
<h3>６．不整合が心配なサービスがあれば、必要に応じてを落としておく<\h3></p>
<h3>７．AMI作成</h3>
<pre><code>time ec2-bundle-vol -d /mnt/img -r i386 -k /mnt/.ec2/pk-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.pem -c /mnt/.ec2/cert-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.pem -u NNNNNNNNNNNN
Please specify a value for arch [i386]:
Copying / into the image file /mnt/img/image...
Excluding:
         /sys
         /proc
         /dev/pts
         /proc/sys/fs/binfmt_misc
         /dev
         /media
         /mnt
         /proc
         /sys
         /mnt/img/image
         /mnt/img-mnt
1+0 records in
1+0 records out
1048576 bytes (1.0 MB) copied, 0.003038 seconds, 345 MB/s
mke2fs 1.39 (29-May-2006)
Bundling image file...
Splitting /mnt/img/image.tar.gz.enc...
Created image.part.000
Created image.part.001
Created image.part.002
Created image.part.003
　　　　　：
Created image.part.125
Created image.part.126
Created image.part.127
Created image.part.128
Created image.part.129
Created image.part.130
Generating digests for each part...
Digests generated.
Unable to read instance meta-data for ancestor-ami-ids
Unable to read instance meta-data for kernel-id
Unable to read instance meta-data for ramdisk-id
Unable to read instance meta-data for product-codes
Creating bundle manifest...
ec2-bundle-vol complete.

real    20m8.138s
user    3m51.990s
sys     1m13.610s
※データ量によるのか、1時間近くかかったこともある。
</code></pre>
<h3>８．作成したAMIをS3へアップ</h3>
<pre><code>
# time ec2-upload-bundle -b <任意のbucket名> -m /mnt/img/image.manifest.xml -a <アクセスキー> -s <秘密アクセスキー>
Uploading bundled image parts to the S3 bucket <指定したbucket名> ...
Uploaded image.part.000
Uploaded image.part.001
Uploaded image.part.002
Uploaded image.part.003
　　　　　　　　：
Uploaded image.part.128
Uploaded image.part.129
Uploaded image.part.130
Uploading manifest ...
Uploaded manifest.
Bundle upload completed.

real    7m18.363s
user    0m17.300s
sys     0m8.130s
</code></pre>
<h3>９．イメージの登録</h3>
<pre><code>
# ec2-register <指定したbucket名>/image.manifest.xml
IMAGE   ami-ｘｘｘｘｘｘｘｘ
</code></pre>
<h3>１０．登録済みイメージの確認</h3>
<pre><code>
# ec2-describe-images -o self
IMAGE   ami-ｘｘｘｘｘｘｘｘ    <指定したbucket名>/image.manifest.xml        938654150775    available       private         i386    machine
</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://ulc.jp/wp/archives/537/feed</wfw:commentRss>
		</item>
		<item>
		<title>sambaクライアントの設定</title>
		<link>http://ulc.jp/wp/archives/515</link>
		<comments>http://ulc.jp/wp/archives/515#comments</comments>
		<pubDate>Wed, 11 Feb 2009 04:08:21 +0000</pubDate>
		<dc:creator>okada</dc:creator>
		
		<category><![CDATA[Centos5]]></category>

		<category><![CDATA[Samba]]></category>

		<category><![CDATA[ストレージ関係]]></category>

		<guid isPermaLink="false">http://ulc.jp/wp/?p=515</guid>
		<description><![CDATA[


こちらでセットアップした、sambaサーバ（外付けのUSBディスクが共有されている）をバックアップ用にCentos5にマウントする。



samba-clientパッケージを導入
# yum -y install [...]]]></description>
			<content:encoded><![CDATA[<table>
<tr>
<td><img src="http://ulc.jp/wp/wp-content/uploads/2008/11/logo-samba-300x145.jpg" alt="logo-samba" title="logo-samba" width="150" height="72" class="alignnone size-medium wp-image-489" /></td>
<td><a title="sambaサーバの構築" href="http://ulc.jp/wp/archives/45" target="_blank">こちらでセットアップ</a>した、sambaサーバ（外付けのUSBディスクが共有されている）をバックアップ用にCentos5にマウントする。</td>
</tr>
</table>
<p></p>
<h4>samba-clientパッケージを導入</h4>
<p><code># yum -y install samba-client<br />
</code><br />
<span id="more-515"></span></p>
<h4>mountポイントを作成</h4>
<p><code># mkdir /backup<br />
</code></p>
<h4>マウントテスト</h4>
<p><code># mount -t cifs -o username=samba_user_name //192.168.1.100/share/backup /backup<br />
</code></p>
<h4>マウントされたことを確認</h4>
<p><code># mount<br />
/dev/mapper/VolGroup00-LogVol00 on / type ext3 (rw)<br />
proc on /proc type proc (rw)<br />
    :<br />
//192.168.xxx.xxx/share on /backup type cifs (rw,mand)<br />
</code></p>
<h4>マウント先に、ファイルの読み書きが出来ることを確認</h4>
<h4>アンマウント</h4>
<p><code># umount /backup<br />
</code></p>
<h4>fstabの最終行にエントリーを追加</h4>
<p>  折り返して記述されているが、1行で記述する。<br />
<code># vi /etc/fstab<br />
      :<br />
//192.168.xxx.xxx/share/backup  /backup cifs  rw,codepage=cp932,iocharset=utf8,credentials=/etc/smbpass 0   0<br />
</code></p>
<h4>credentialファイル作成</h4>
<p>  認証情報を記述したファイルを用意する。<br />
<code># vi /etc/smbpass<br />
username=samba_user_name<br />
password=samba_user_password<br />
</code></p>
<h4>マウントされることを確認</h4>
<p><code># mount /backup<br />
# mount<br />
/dev/mapper/VolGroup00-LogVol00 on / type ext3 (rw)<br />
proc on /proc type proc (rw)<br />
    :<br />
//192.168.xxx.xxx/share on /backup type cifs (rw,mand)<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://ulc.jp/wp/archives/515/feed</wfw:commentRss>
		</item>
		<item>
		<title>SP3の適用に失敗したXPマシンを診る</title>
		<link>http://ulc.jp/wp/archives/453</link>
		<comments>http://ulc.jp/wp/archives/453#comments</comments>
		<pubDate>Tue, 10 Feb 2009 22:37:30 +0000</pubDate>
		<dc:creator>okada</dc:creator>
		
		<category><![CDATA[Windows XP]]></category>

		<category><![CDATA[WindowsUpdate]]></category>

		<category><![CDATA[WindowsXP SP3]]></category>

		<guid isPermaLink="false">http://ulc.jp/wp/?p=453</guid>
		<description><![CDATA[WindowsUpdateで、WindowsXP SP3の適用に失敗したPC（NEC LaVie M LM500/7D）を修復する。
「SFC /SCANNOW」に救われた。
]]></description>
			<content:encoded><![CDATA[<table>
<tr>
<td><img src="http://ulc.jp/wp/wp-content/uploads/2009/02/e79785e999a2.gif" alt="病院" title="病院" width="100" height="100" class="alignnone size-full wp-image-463" /></td>
<td>知人から、PCの様子がおかしいとの相談を受けた。<br />
WindowsXPだが、IE7にアップデートしたらおかしくなったとの事。<br />
PCショップへの相談を提案したが、「相談はしてみたが、なんとなく信じられない」ということで、ためしに預かってみることにした。
</td>
</tr>
</table>
<p>機種は、NEC LaVie M LM500/7D という、5年ほど前のマシン。メモリ256MBというのが泣けてくる。<br />
<a href="http://121ware.com/e-manual/m/nx/lv/200309/html/lm5007d.html">マニュアルもあった</a>ので、これも確認しながらやってみる。<br />
<span id="more-453"></span></p>
<h3>当初の状態</h3>
<p>（１）Windowsは起動するが、OS起動時にエラーが報告される。<br />
　ex.「････kbd106.dllは正しいWindowsイメージではありません。」</p>
<p>（２）OSの起動が進むと、ctfmon.exeからも類似したメッセージが繰り返し発生。<br />
　うるさいので、ひとまず<a href="http://www.atmarkit.co.jp/fwin2k/win2ktips/630ctfmon/ctfmon.html">こちらの方法</a>で停止。</p>
<p>（３）Webブラウザ（IE7,Firefox）でインターネットに接続しようとすると、ホストに接続できないとのエラー。</p>
<p>（４）メーラを起動してもサーバに接続できない。</p>
<p>（５）nslookupコマンドによる名前解決は成功⇒ネットワークは生きている。</p>
<p>（６）NortonInternetSecurityを無効化しても症状改善せず。</p>
<p>（７）NortonInternetSecurityのオプション設定を確認しようとすると「････jscript.dllは正しいWindowsイメージではありません。」</p>
<p>（８）Windowsのシステム復元ツールで復旧を試みたところ、類似したエラーメッセージ（････は正しいWindowsイメージではありません系）が表示され、起動不可。</p>
<p>　この時点で、オーナとも連絡を取り、初期化することになるかもしれないことを伝える。</p>
<h3>バックアップ</h3>
<p>（１）初期化用DVD作成<br />
　試行錯誤過程で、マシンが起動しなくなってからでは大変なので、先ずは、プレインストール状態に戻すためのDVD2枚及びソフトウエアDVD1枚を作成。</p>
<p>（２）データバックアップ<br />
　・regedit.exeで、レジストリ全体のバックアップを取得<br />
　・Document and Settings配下をDVDにバックアップ<br />
　・その他、必要と思われるデータをバックアップ</p>
<h3>対処</h3>
<p>（１）SFCコマンド<br />
　初期化の前に改めて、対処についてgoogleで調査。「SFCコマンド」に関する記述を発見。<br />
　SFC /SCANNOW<br />
　を実行し、システムを再起動<br />
　⇒OS起動時やアプリ起動時のエラーメッセージが出なくなった。やった！<br />
　　「システム復元ツール」が起動できるようになった。<br />
　　但し、ブラウザ（IE7,Firefox）からのインターネット接続は依然できない。</p>
<p>（２）システム復元ツールによる復元<br />
　・システム復元ツールで調べたところ、2月1日が最も古い復元ポイントで、この日に多数のFIXが適用されていることが判明。<br />
　・2月1日への復元を実行<br />
　⇒復元は成功。ブラウザやメーラによるインターネット接続も回復した。</p>
<p>（３）Windows Update実行⇒失敗<br />
　・Windowsの最新化を図るため、Windows Updateを実行。<br />
　⇒1つ目の更新は成功、2つ目の更新「WindowsXP SP3」の適用で失敗。<br />
　　ntldrがコピーできないというエラー。<br />
　　「再実行」が選べたので、実行したけどダメ。<br />
　　アップデートを中断しようとすると、「起動しなくなるかもしれない」との警告。<br />
　　そのまま継続できる様子なので、継続しようとしても、「起動しなくなるかもしれない」と警告。<br />
　　ひどすぎる。ユーザをこんな窮地に立たせるなんて。<br />
　　仕方なく、起動できなくなることを覚悟して、アップデートをそのまま継続。最後に、SP3の適用が不完全に終わった旨のメッセージが出た。<br />
　　※googleで調べると、Nortonが有効な状態であったことが原因らしい。（Nortonを生かしたままSP3当てるなんて非常識だ！って言い回しで書かれてる。そんな警告は、無かった気がするが。）</p>
<p>　・マシンを再起動したところ、何とかエラーメッセージ無しに起動した。もちろんブラウザも、メーラも使える！</p>
<h3>持ち越し</h3>
<p>　Nortonを停止して、再度SP3の適用を試みるべきところだが、PCのオーナへの返却期限となったので、ひとまず、WindowsUpdateを無効化。一旦、オーナに返して、後日SP3の適用を行うことにする。</p>
<h3>SP3の適用再挑戦</h3>
<p>  「システムの復元」機能を使って、再度2月1日の状態に戻し、今度はNortonを停止して、SP3の適用をWindowsUpdateで再実行。<br />
  ところがやはりntldrをコピーできないと言う。困った。<br />
　　　　　　　　　　:<br />
  さらに粘って試行錯誤の末、ようやく解決した。<br />
  対応方法は以下のとおり。</p>
<p>　「ntldrをコピーできません」といわれた時に、Cドライブ直下のntldrを改名（ntldr⇒ntldr.1）して、再試行したら、素直に進んだ。<br />
　上書きは出来ないけど改名はOKということらしい。</p>
<p>  メッセージでは、コピー元に問題があるかのような内容が表示されたが、原因は、コピー先にあったという結果だ。</p>
<h3>後処理作業</h3>
<p>・「システムの復元」の際に生成された、c:\Windows\system32配下の多数のバックアップファイル「ｘｘｘｘｘｘ(2).dll」を削除。<br />
・ディスクのクリーンアップで、不要なファイルを削除<br />
・c:\Windows直下のWindowsUpdateの古いバックアップファイルを削除<br />
・停止していたWindowsUpdateを有効化<br />
・オーナから高すぎる謝礼をいただいたので、Amazonで購入した512MのSO-DIM×2に換装し、メモリを従来の4倍の1GBに拡張。</p>
<p>以上で概ね快適なPC環境になった。</p>
]]></content:encoded>
			<wfw:commentRss>http://ulc.jp/wp/archives/453/feed</wfw:commentRss>
		</item>
		<item>
		<title>自宅サーバへのアタックの実情</title>
		<link>http://ulc.jp/wp/archives/430</link>
		<comments>http://ulc.jp/wp/archives/430#comments</comments>
		<pubDate>Sun, 25 Jan 2009 11:34:48 +0000</pubDate>
		<dc:creator>okada</dc:creator>
		
		<category><![CDATA[Centos5]]></category>

		<category><![CDATA[Firewall]]></category>

		<category><![CDATA[iptables]]></category>

		<category><![CDATA[アタック]]></category>

		<guid isPermaLink="false">http://ulc.jp/wp/?p=430</guid>
		<description><![CDATA[


2つのドメインを割り当てていることも関係あるかもしれないが、自宅サーバは結構な頻度でアタックを受けている。
昨日は、ポートスキャンもあった。
出来ればルータでポートを絞っておきたいところだが、構成上やりにくいので、サーバ側のF/Wでフィルタリングしている。
F/W設定をしてなかったら、これらの攻撃が直接各サービスに到達してしまうと思うと、怖いですね。


&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; iptables firewall Begin &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;
 Logged 402 packets on interface eth0
  From 58.241.193.61 - 1 packet to udp(1434)
  From 59.81.64.229 - 1 packet to udp(1434)
  From 60.15.177.163 - 3 packets to udp(1026,1027)
  From 60.15.177.164 - 1 packet to udp(1027)
  From 60.190.216.113 - 2 packets to tcp(5900)
  From 60.222.224.130 - [...]]]></description>
			<content:encoded><![CDATA[<table>
<tr>
<td><img src="http://ulc.jp/wp/wp-content/uploads/2009/01/warning-shield-150x150.png" alt="warning-shield" title="warning-shield" width="150" height="150" class="alignnone size-thumbnail wp-image-481" /></td>
<td>2つのドメインを割り当てていることも関係あるかもしれないが、自宅サーバは結構な頻度でアタックを受けている。</p>
<p>昨日は、ポートスキャンもあった。<br />
出来ればルータでポートを絞っておきたいところだが、構成上やりにくいので、サーバ側のF/Wでフィルタリングしている。<br />
F/W設定をしてなかったら、これらの攻撃が直接各サービスに到達してしまうと思うと、怖いですね。</td>
</tr>
</table>
<blockquote><p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; iptables firewall Begin &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
 Logged 402 packets on interface eth0<br />
  From 58.241.193.61 - 1 packet to udp(1434)<br />
  From 59.81.64.229 - 1 packet to udp(1434)<br />
  From 60.15.177.163 - 3 packets to udp(1026,1027)<br />
  From 60.15.177.164 - 1 packet to udp(1027)<br />
  From 60.190.216.113 - 2 packets to tcp(5900)<br />
  From 60.222.224.130 - 2 packets to udp(1026)<br />
  From 60.222.224.131 - 3 packets to udp(1026,1027)<br />
  From 60.222.224.132 - 3 packets to udp(1026,1027)<br />
  From 61.153.58.189 - 1 packet to udp(1434)<br />
  From 66.96.134.31 - 1 packet to tcp(1024)<br />
  From 70.110.161.139 - 1 packet to tcp(1080)<br />
  From 72.21.40.11 - 5 packets to tcp(53054)<br />
  From 122.96.147.82 - 1 packet to tcp(1433)<br />
  From 122.193.4.5 - 1 packet to tcp(22)<br />
  From 125.252.227.184 - 3 packets to tcp(2743)<br />
  From 189.35.223.185 - 1 packet to tcp(4899)<br />
  From 195.64.178.23 - 2 packets to tcp(21)<br />
  From 202.97.238.227 - 2 packets to udp(1026)<br />
  From 202.97.238.229 - 2 packets to udp(1026,1027)<br />
  From 202.99.11.99 - 1 packet to udp(1434)<br />
  From 202.105.13.204 - 1 packet to tcp(1433)<br />
  From 202.225.94.247 - 170 packets to udp(1156,1367,1415,1851,1977,2192,2354,2508,2801,3306,3311,3319,3496,4481,5200,6698,6957,7288,7337,8868,9246,9711,10362,11279,11837,11873,12594,13213,13590,14122,14301,14999,15099,15253,15438,15899,17375,17385,17792,18110,18169,18269,18271,18961,20897,20966,21726,21740,22004,22669,22997,23068,23763,24090,24450,24490,24588,25396,25760,25976,26398,26944,26958,27154,27492,28031,28784,29079,29546,29859,30470,31049,31055,31427,31963,32210,32393,32429,32951,32990,33121,35338,36033,36586,36672,36795,37621,37642,38377,38603,39156,39196,39253,39364,39657,39771,40134,40191,40670,40841,40881,41321,41705,41833,42353,42791,42942,43330,43631,43657,44498,45742,46278,46374,46458,47256,47384,47663,48242,48337,49400,49638,49960,50303,51236,51447,51520,51671,52286,52345,52598,52714,52722,53152,53433,53990,54245,55479,55703,55728,56323,56333,56555,57141,57265,57299,57595,57801,57942,58221,58879,59782,59849,59906,60436,60517,60812,61078,61081,61152,61795,61<br />
 822,61892,62235,63048,64083,64428,64446,64582)<br />
  From 210.75.11.86 - 1 packet to tcp(1433)<br />
  From 210.147.240.193 - 191 packets to udp(1129,1138,1494,1528,1932,2024,2050,2158,2284,2742,3064,3765,4417,5490,6151,6683,7209,7744,8003,8173,8694,8814,9844,9929,10188,10289,10399,10471,10953,12112,13724,14115,14255,14570,15016,15109,15500,15583,15664,15808,16008,16135,17029,17917,18884,19255,19445,19755,19871,21926,22314,22351,22479,23376,23428,23915,23933,24126,24768,24995,25141,25340,25449,25460,25528,25774,25817,25959,26013,26028,26156,26335,27546,27644,27769,28008,28359,29300,29376,29493,29999,30327,30745,31123,32287,32342,32881,32903,33219,33268,33451,33595,34095,34141,34265,34352,34962,35340,35504,35531,35556,36329,36407,36519,37492,37616,37675,38318,38864,39258,39433,39662,39906,40511,40815,41301,41305,41393,42138,42141,42348,43548,43581,43941,44627,46212,46247,46596,46768,46826,47371,47422,47608,47727,49154,49319,49697,49896,50412,50442,50456,50797,51183,51360,52163,52489,52490,52699,52726,52801,52866,53409,53419,53658,53701,53744,53995,54579,55837,56444,56751,575<br />
 77,57579,57734,57796,57993,58092,58111,58143,58323,58419,59402,59882,60248,60570,60632,60691,60711,61207,61315,62484,62560,63014,63240,64066,64104,64208,64411,64983,65256,65504)<br />
  From 211.94.188.34 - 1 packet to tcp(21607)<br />
  From 222.73.49.83 - 1 packet to tcp(22)<br />
 &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- iptables firewall End &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://ulc.jp/wp/archives/430/feed</wfw:commentRss>
		</item>
		<item>
		<title>syntaxhighlighterで、&#038;がamp;に置き換えられる問題</title>
		<link>http://ulc.jp/wp/archives/426</link>
		<comments>http://ulc.jp/wp/archives/426#comments</comments>
		<pubDate>Mon, 19 Jan 2009 11:45:10 +0000</pubDate>
		<dc:creator>okada</dc:creator>
		
		<category><![CDATA[Wordpress]]></category>

		<category><![CDATA[syntaxhighlighter]]></category>

		<guid isPermaLink="false">http://ulc.jp/wp/?p=426</guid>
		<description><![CDATA[


しかも、編集するたびに、amp;が増えてゆくから、困ってた。
以下の記事を参考に、syntaxhighlighter.phpに修正を行って、解決した。
wordpressのsyntaxhighlighterを使うと [...]]]></description>
			<content:encoded><![CDATA[<table>
<tr>
<td><img src="http://ulc.jp/wp/wp-content/uploads/2009/01/wordpress-icon.jpg" alt="wordpress-icon" title="wordpress-icon" width="141" height="141" class="alignnone size-full wp-image-483" /></td>
<td>しかも、編集するたびに、amp;が増えてゆくから、困ってた。</p>
<p>以下の記事を参考に、syntaxhighlighter.phpに修正を行って、解決した。<br />
<a href="http://blog.aulta.net/2008/08/12/wordpressのsyntaxhighlighterを使うと無茶苦茶になるよ/">wordpressのsyntaxhighlighterを使うと無茶苦茶になるよ</a></td>
</tr>
</table>
<p>リンク先がなくなると悲しいので、修正部分のソースを載せておく。<br />
修正ファイル：/wp-content/plugins/syntaxhighlighter/syntaxhighlighter.php</p>
<pre name="code" class="php">

//  Loop through each match and encode the code
//  foreach ( (array) $matches as $match ) {
//    $code = htmlspecialchars( $match[$this-&gt;match_code] );
//    $code = str_replace( &#039;&amp;&#039;, &#039;&amp;amp;&#039;, $code );
//    $code = str_replace( &#039;&amp;lt;&#039;, &#039;&amp;amp;lt;&#039;, $code );
//    $code = str_replace( &#039;&amp;gt;&#039;, &#039;&amp;amp;gt;&#039;, $code );

//    $content = str_replace( $match[$this-&gt;match_code], $code, $content );
//  }
</pre>
<p>同じサイトで紹介されていた、「開始行番号を指定する」もやってみたんだけど、こちらはうまく動作しなかった。これは不具合じゃないので、ま、いいか。<br />
<a href="http://blog.aulta.net/2008/08/12/wordpressのsyntaxhighlighterで開始行番号を指定する/">wordpressのsyntaxhighlighterで開始行番号を指定する</a></p>
]]></content:encoded>
			<wfw:commentRss>http://ulc.jp/wp/archives/426/feed</wfw:commentRss>
		</item>
		<item>
		<title>Amazon EC2用Centos5イメージを作って、EC2上で動作させてみる（５）</title>
		<link>http://ulc.jp/wp/archives/368</link>
		<comments>http://ulc.jp/wp/archives/368#comments</comments>
		<pubDate>Sun, 18 Jan 2009 07:31:33 +0000</pubDate>
		<dc:creator>okada</dc:creator>
		
		<category><![CDATA[Amazon Web Services]]></category>

		<category><![CDATA[Centos5]]></category>

		<category><![CDATA[EC2]]></category>

		<guid isPermaLink="false">http://ulc.jp/wp/?p=368</guid>
		<description><![CDATA[


マシンイメージの実行、停止、マシンイメージの廃棄
さて、いよいよ前回までに作成・登録したAMIを使って、インスタンスを起動してみる。また用済み後の停止、マシンイメージの削除手順も記載しておく。


５．イメージ実行準備
（１）秘密鍵の生成

$ ec2-add-keypair centos5&#124; sed -e "1d" > ~/.ssh/id_rsa-centos5
$ chmod 400 ~/.ssh/id_rsa-centos5

$ ec2-describe-keypairs
KEYPAIR centos5 xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx


（２）F/W設定
以下では、ssh,http,httpsについて、xxx.xxx.xxx.xxx/32 と yyy.yyy.yyy.yyy/29 からの接続を許可する。

$ ec2-authorize default -p 22 -s xxx.xxx.xxx.xxx/32 -s yyy.yyy.yyy.yyy/29
GROUP           default
PERMISSION              default ALLOWS  tcp   [...]]]></description>
			<content:encoded><![CDATA[<table>
<tr>
<td><img src="http://ulc.jp/wp/wp-content/uploads/2009/01/logo_aws.gif" alt="logo_aws" title="logo_aws" width="164" height="60" class="alignnone size-full wp-image-495" /></td>
<td>マシンイメージの実行、停止、マシンイメージの廃棄</p>
<p>さて、いよいよ<a href="http://ulc.jp/wp/archives/366">前回までに作成・登録したAMI</a>を使って、インスタンスを起動してみる。また用済み後の停止、マシンイメージの削除手順も記載しておく。</td>
</tr>
</table>
<h2>５．イメージ実行準備</h2>
<h3>（１）秘密鍵の生成</h3>
<pre><code>
$ ec2-add-keypair centos5| sed -e "1d" > ~/.ssh/id_rsa-centos5
$ chmod 400 ~/.ssh/id_rsa-centos5

$ ec2-describe-keypairs
KEYPAIR centos5 xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx
</code></pre>
<p><span id="more-368"></span></p>
<h3>（２）F/W設定</h3>
<p>以下では、ssh,http,httpsについて、xxx.xxx.xxx.xxx/32 と yyy.yyy.yyy.yyy/29 からの接続を許可する。</p>
<pre><code>
$ ec2-authorize default -p 22 -s xxx.xxx.xxx.xxx/32 -s yyy.yyy.yyy.yyy/29
GROUP           default
PERMISSION              default ALLOWS  tcp     22      22      FROM    CIDR    xxx.xxx.xxx.xxx/32
PERMISSION              default ALLOWS  tcp     22      22      FROM    CIDR    yyy.yyy.yyy.yyy/29

$ ec2-authorize default -p 80 -s xxx.xxx.xxx.xxx/32 -s yyy.yyy.yyy.yyy/29
PERMISSION              default ALLOWS  tcp     80      80      FROM    CIDR    xxx.xxx.xxx.xxx/32
PERMISSION              default ALLOWS  tcp     80      80      FROM    CIDR    yyy.yyy.yyy.yyy/29

$ ec2-authorize default -p 443 -s xxx.xxx.xxx.xxx/32 -s yyy.yyy.yyy.yyy/29
PERMISSION              default ALLOWS  tcp     443     443     FROM    CIDR    xxx.xxx.xxx.xxx/32
PERMISSION              default ALLOWS  tcp     443     443     FROM    CIDR    yyy.yyy.yyy.yyy/29
</code></pre>
<h2>６．イメージ実行</h2>
<h3>（１）インスタンスの起動</h3>
<h4>登録済みイメージのリスト</h4>
<pre><code>
$ ec2-describe-images -o self
IMAGE   ami-xxxxxxxx    my-private-bucket/centos5.img.manifest.xml     938654150775    available       private         i386    machine
</code></pre>
<h4>イメージの実行</h4>
<pre><code>
$ ec2-run-instances ami-xxxxxxxx -k centos5
RESERVATION     r-xxxxxxxx      938654150775    default
INSTANCE        i-xxxxxxxx      ami-xxxxxxxx                    pending centos5 0               m1.small        2009-01-15T02:50:31+0000        us-east-1a
</code></pre>
<h4>イメージの実行状態の確認</h4>
<p>しばらくすると、ホスト名が設定される</p>
<pre><code>
$ ec2-describe-instances
RESERVATION     r-xxxxxxxx      938654150775    default
INSTANCE        i-xxxxxxxx      ami-xxxx    ec2-xxx－xxx－xxx－xxx.compute-1.amazonaws.com       domU-xx-xx-xx-xx-xx-xx.compute-1.internal       running centos5 0               m1.small        2009-01-15T09:29:39+0000        us-east-1a
</code></pre>
<h3>（２）インスタンスへの接続</h3>
<h4>ssh接続</h4>
<pre><code>
$ ssh -l root -i ~/.ssh/id_rsa-centos5 ec2-xxx－xxx－xxx－xxx.compute-1.amazonaws.com
[root@domU-xx-xx-xx-xx-xx-xx ~]#
</code></pre>
<h4>マウント確認</h4>
<p>/dev/sda2には、ちゃんと150GBのHDDがマウントされている。</p>
<pre><code>
[root@domU-xx-xx-xx-xx-xx-xx ~]# df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda1              4128448    904192   3014544  24% /
none                    870472         0    870472   0% /dev/shm
/dev/sda2            153899044    192072 145889348   1% /mnt
</code></pre>
<h2>７．インスタンスの終了とイメージの廃棄</h2>
<h3>（１）インスタンスの終了</h3>
<h4>実行中インスタンスをリスト</h4>
<pre><code>
$ ec2-describe-instances
</code></pre>
<h4>インスタンスを終了</h4>
<pre><code>
$ ec2-terminate-instances i-xxxxxxxx
INSTANCE        i-xxxxxxxx      running shutting-down
</code></pre>
<h3>（２）AMIの廃棄</h3>
<p>不要になったマシンイメージは、紛らわしいので、登録解除しておく。</p>
<h4>amiの登録解除</h4>
<pre><code>
$ ec2-deregister ami-xxxxxxxx
</code></pre>
<h4>S3からの削除</h4>
<p>不要になったマシンイメージは、ストレージ費用節約のために削除しておく。<br />
0.1$/GB･月だから、余り神経質に消さなくても大丈夫だけどね。</p>
<pre><code>
$ ec2-delete-bundle -b my-private-bucket -p centos5.img \
-a aaaaaaaaaaaaaaaaaaaa -s ssssssssssssssssssssssssssssssssssssssss
Deleting files:
   - centos5.img.manifest.xml
   - centos5.img.part.00
   - centos5.img.part.01
   - centos5.img.part.02
   - centos5.img.part.03
   - centos5.img.part.04
   - centos5.img.part.05
   - centos5.img.part.06
   - centos5.img.part.07
   - centos5.img.part.08
   - centos5.img.part.09
   - centos5.img.part.10
   - centos5.img.part.11
   - centos5.img.part.12
   - centos5.img.part.13
   - centos5.img.part.14
   - centos5.img.part.15
   - centos5.img.part.16
   - centos5.img.part.17
   - centos5.img.part.18
   - centos5.img.part.19
   - centos5.img.part.20
   - centos5.img.part.21
   - centos5.img.part.22
   - centos5.img.part.23
   - centos5.img.part.24
   - centos5.img.part.25
   - centos5.img.part.26
   - centos5.img.part.27
Continue [y/N]: y
Deleted centos5.img.manifest.xml
Deleted centos5.img.part.00
Deleted centos5.img.part.01
Deleted centos5.img.part.02
Deleted centos5.img.part.03
Deleted centos5.img.part.04
Deleted centos5.img.part.05
Deleted centos5.img.part.06
Deleted centos5.img.part.07
Deleted centos5.img.part.08
Deleted centos5.img.part.09
Deleted centos5.img.part.10
Deleted centos5.img.part.11
Deleted centos5.img.part.12
Deleted centos5.img.part.13
Deleted centos5.img.part.14
Deleted centos5.img.part.15
Deleted centos5.img.part.16
Deleted centos5.img.part.17
Deleted centos5.img.part.18
Deleted centos5.img.part.19
Deleted centos5.img.part.20
Deleted centos5.img.part.21
Deleted centos5.img.part.22
Deleted centos5.img.part.23
Deleted centos5.img.part.24
Deleted centos5.img.part.25
Deleted centos5.img.part.26
Deleted centos5.img.part.27
ec2-delete-bundle complete.
</code></pre>
<p>以上で作業は終了。</p>
<h2>８．費用の確認</h2>
<p>ここまでに要した費用は、おおむね2ドルくらいだった。<br />
費用は、<br />
<a href="https://aws-portal.amazon.com/gp/aws/developer/account/index.html?ie=UTF8&#038;action=activity-summary">Account Activity</a><br />
で、また、費用の内訳は、<br />
<a href="https://aws-portal.amazon.com/gp/aws/developer/account/index.html?ie=UTF8&#038;action=usage-report">Usage Reports</a><br />
で確認できる。</p>
<hr />
<a href="http://ulc.jp/wp/archives/349">１．AWSのアカウントを取得して、ツールのセットアップを行う</a>　<br />
<a href="http://ulc.jp/wp/archives/362">２．Centos5のディスクイメージを作成する。</a><br />
<a href="http://ulc.jp/wp/archives/364">３．Centos5のイメージを、EC2向けにカスタマイズする。</a><br />
<a href="http://ulc.jp/wp/archives/366">４．作成したOSイメージを加工して、S3にアップし、EC2のマシンイメージとして登録する。</a><br />
<a href="http://ulc.jp/wp/archives/368">５．マシンイメージの実行、停止、マシンイメージの廃棄。</a></p>
]]></content:encoded>
			<wfw:commentRss>http://ulc.jp/wp/archives/368/feed</wfw:commentRss>
		</item>
		<item>
		<title>Amazon EC2用Centos5イメージを作って、EC2上で動作させてみる（４）</title>
		<link>http://ulc.jp/wp/archives/366</link>
		<comments>http://ulc.jp/wp/archives/366#comments</comments>
		<pubDate>Sun, 18 Jan 2009 07:31:13 +0000</pubDate>
		<dc:creator>okada</dc:creator>
		
		<category><![CDATA[Amazon Web Services]]></category>

		<category><![CDATA[Centos5]]></category>

		<category><![CDATA[EC2]]></category>

		<guid isPermaLink="false">http://ulc.jp/wp/?p=366</guid>
		<description><![CDATA[


前回までに作成したOSイメージを加工して、S3にアップし、EC2のマシンイメージとして登録する。



４．EC2向けのイメージ加工とアップロード
（１）EC2登録用バンドルイメージの作成
この処理は5分余りで終了。

【ec2-bundle-imageコマンドのオプション】
-i イメージ名：
　イメージファイルの名称
-k 秘密鍵ファイル名
-c 証明書ファイル名
-u アカウント番号
  awsのユーザページなどにアクセスすると、
右上に表示される「Account Number」の数値部分（12桁）

$ cd /work/ec2
$ ec2-bundle-image -i centos5.img \
-k ~/.ec2/pk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.pem \
-c ~/.ec2/cert-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.pem -u NNNNNNNNNNNN

前述の環境変数が設定されている場合は、以下のように、環境変数で指定してもOK

$ time ec2-bundle-image -i centos5.img -k $EC2_PRIVATE_KEY -c $EC2_CERT -u NNNNNNNNNNNN
Please specify a value for arch [i386]:
Bundling image file...
Splitting /tmp/centos5.img.tar.gz.enc...
Created centos5.img.part.00
Created centos5.img.part.01
Created centos5.img.part.02
Created centos5.img.part.03
Created centos5.img.part.04
Created centos5.img.part.05
Created centos5.img.part.06
Created centos5.img.part.07
Created centos5.img.part.08
Created centos5.img.part.09
Created centos5.img.part.10
Created centos5.img.part.11
Created centos5.img.part.12
Created centos5.img.part.13
Created centos5.img.part.14
Created centos5.img.part.15
Created centos5.img.part.16
Created [...]]]></description>
			<content:encoded><![CDATA[<table>
<tr>
<td><img src="http://ulc.jp/wp/wp-content/uploads/2009/01/logo_aws.gif" alt="logo_aws" title="logo_aws" width="164" height="60" class="alignnone size-full wp-image-495" /></td>
<td><a href="http://ulc.jp/wp/archives/364">前回までに作成したOSイメージ</a>を加工して、S3にアップし、EC2のマシンイメージとして登録する。</td>
</tr>
</table>
<p></p>
<h2>４．EC2向けのイメージ加工とアップロード</h2>
<h3>（１）EC2登録用バンドルイメージの作成</h3>
<p>この処理は5分余りで終了。<br />
<span id="more-366"></span></p>
<h4>【ec2-bundle-imageコマンドのオプション】</h4>
<h4>-i イメージ名：</h4>
<p>　イメージファイルの名称</p>
<h4>-k 秘密鍵ファイル名</h4>
<h4>-c 証明書ファイル名</h4>
<h4>-u アカウント番号</h4>
<p>  <a href="https://aws-portal.amazon.com/gp/aws/developer/account/index.html?ie=UTF8&amp;action=activity-summary">awsのユーザページ</a>などにアクセスすると、<br />
右上に表示される「Account Number」の数値部分（12桁）</p>
<pre><code>
$ cd /work/ec2
$ ec2-bundle-image -i centos5.img \
-k ~/.ec2/pk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.pem \
-c ~/.ec2/cert-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.pem -u NNNNNNNNNNNN
</code></pre>
<p>前述の環境変数が設定されている場合は、以下のように、環境変数で指定してもOK</p>
<pre><code>
$ time ec2-bundle-image -i centos5.img -k $EC2_PRIVATE_KEY -c $EC2_CERT -u NNNNNNNNNNNN
Please specify a value for arch [i386]:
Bundling image file...
Splitting /tmp/centos5.img.tar.gz.enc...
Created centos5.img.part.00
Created centos5.img.part.01
Created centos5.img.part.02
Created centos5.img.part.03
Created centos5.img.part.04
Created centos5.img.part.05
Created centos5.img.part.06
Created centos5.img.part.07
Created centos5.img.part.08
Created centos5.img.part.09
Created centos5.img.part.10
Created centos5.img.part.11
Created centos5.img.part.12
Created centos5.img.part.13
Created centos5.img.part.14
Created centos5.img.part.15
Created centos5.img.part.16
Created centos5.img.part.17
Created centos5.img.part.18
Created centos5.img.part.19
Created centos5.img.part.20
Created centos5.img.part.21
Created centos5.img.part.22
Created centos5.img.part.23
Created centos5.img.part.24
Created centos5.img.part.25
Created centos5.img.part.26
Created centos5.img.part.27
Created centos5.img.part.28
Created centos5.img.part.29
Created centos5.img.part.30
Created centos5.img.part.31
Created centos5.img.part.32
Generating digests for each part...
Digests generated.
Creating bundle manifest...
ec2-bundle-image complete.

real    5m6.823s
user    3m23.681s
sys     0m29.098s</code></pre>
<p><!--more--></p>
<h3>（２）バンドルイメージのアップロード</h3>
<p>この処理には30分以上かかった。光回線なのに、意外に時間がかる。</p>
<h4>【ec2-upload-bundleコマンドのオプション】</h4>
<h4>-b バケット名：</h4>
<p>　バケット名は、3文字以上63文字以下<br />
　英小文字、数字、&#8221;.&#8221;、&#8221;-&#8221;のみ<br />
　最初と最後の文字には&#8221;.&#8221;は不可<br />
　&#8221;-&#8221;の前後に&#8221;.&#8221;は不可<br />
　詳しくは以下「Best Practices for Using Amazon S3」の「<a href="http://developer.amazonwebservices.com/connect/entry.jspa?externalID=1904&#038;categoryID=55">Naming Buckets and Keys</a>」</p>
<h4>-m ec2-bundle-imageコマンドで生成されたマニュフェストファイル名</h4>
<h4>-a AmazonシークレットキーID</h4>
<h4>-s Amazonシークレットキー</h4>
<pre><code>
$ time ec2-upload-bundle -b my-private-bucket -m centos5.img.manifest.xml \
-a aaaaaaaaaaaaaaaaaaaa -s ssssssssssssssssssssssssssssssssssssssss
Creating bucket...
Uploading bundled image parts to the S3 bucket va-private ...
Uploaded centos5.img.part.00
Uploaded centos5.img.part.01
Uploaded centos5.img.part.02
Uploaded centos5.img.part.03
Uploaded centos5.img.part.04
Uploaded centos5.img.part.05
Uploaded centos5.img.part.06
Uploaded centos5.img.part.07
Uploaded centos5.img.part.08
Uploaded centos5.img.part.09
Uploaded centos5.img.part.10
Uploaded centos5.img.part.11
Uploaded centos5.img.part.12
Uploaded centos5.img.part.13
Uploaded centos5.img.part.14
Uploaded centos5.img.part.15
Uploaded centos5.img.part.16
Uploaded centos5.img.part.17
Uploaded centos5.img.part.18
Uploaded centos5.img.part.19
Uploaded centos5.img.part.20
Uploaded centos5.img.part.21
Uploaded centos5.img.part.22
Uploaded centos5.img.part.23
Uploaded centos5.img.part.24
Uploaded centos5.img.part.25
Uploaded centos5.img.part.26
Uploaded centos5.img.part.27
Uploaded centos5.img.part.28
Uploaded centos5.img.part.29
Uploaded centos5.img.part.30
Uploaded centos5.img.part.31
Uploaded centos5.img.part.32
Uploading manifest ...
Uploaded manifest.
Bundle upload completed.

real    32m13.755s
user    0m3.960s
sys     0m1.872s
</code></pre>
<p>イメージの登録</p>
<pre><code>
$ ec2-register my-private-bucket/centos5.img.manifest.xml
IMAGE   ami-xxxxxxxx
</code></pre>
<p>登録済みイメージのリスト確認</p>
<pre><code>
$ ec2-describe-images -o self
IMAGE   ami-xxxxxxxx    my-private-bucket/centos5.img.manifest.xml     938654150775    available       private         i386    machine
</code></pre>
<p>さて、<a href="http://ulc.jp/wp/archives/368">次はいよいよマシンイメージを実行する</a></p>
<hr />
<a href="http://ulc.jp/wp/archives/349">１．AWSのアカウントを取得して、ツールのセットアップを行う</a>　<br />
<a href="http://ulc.jp/wp/archives/362">２．Centos5のディスクイメージを作成する。</a><br />
<a href="http://ulc.jp/wp/archives/364">３．Centos5のイメージを、EC2向けにカスタマイズする。</a><br />
<a href="http://ulc.jp/wp/archives/366">４．作成したOSイメージを加工して、S3にアップし、EC2のマシンイメージとして登録する。</a><br />
<a href="http://ulc.jp/wp/archives/368">５．マシンイメージの実行、停止、マシンイメージの廃棄。</a></p>
]]></content:encoded>
			<wfw:commentRss>http://ulc.jp/wp/archives/366/feed</wfw:commentRss>
		</item>
		<item>
		<title>Amazon EC2用Centos5イメージを作って、EC2上で動作させてみる（３）</title>
		<link>http://ulc.jp/wp/archives/364</link>
		<comments>http://ulc.jp/wp/archives/364#comments</comments>
		<pubDate>Sun, 18 Jan 2009 07:30:37 +0000</pubDate>
		<dc:creator>okada</dc:creator>
		
		<category><![CDATA[Amazon Web Services]]></category>

		<category><![CDATA[Centos5]]></category>

		<category><![CDATA[EC2]]></category>

		<guid isPermaLink="false">http://ulc.jp/wp/?p=364</guid>
		<description><![CDATA[


前回の記事で作成したCentos5のイメージを、EC2向けにカスタマイズする。



３．EC2向けのカスタマイズ
（１）EC2上でマウントされる追加のディスクエントリをfstabに追記
# vi /mnt/ec2-fs/etc/fstab

/dev/sda2  /mnt      ext3    defaults        0 0
/dev/sda3  swap      swap    defaults        0 0


（２）起動時に「ec2-add-keypair で作った公開鍵」を受け取るためのスクリプトを用意
# vi /mnt/ec2-fs/usr/local/sbin/get-credentials.sh

#!/bin/bash

# Retreive the credentials from relevant sources.

# Fetch [...]]]></description>
			<content:encoded><![CDATA[<table>
<tr>
<td><img src="http://ulc.jp/wp/wp-content/uploads/2009/01/logo_aws.gif" alt="logo_aws" title="logo_aws" width="164" height="60" class="alignnone size-full wp-image-495" /></td>
<td><a href="http://ulc.jp/wp/archives/362">前回の記事</a>で作成したCentos5のイメージを、EC2向けにカスタマイズする。</td>
</tr>
</table>
<p></p>
<h2>３．EC2向けのカスタマイズ</h2>
<h3>（１）EC2上でマウントされる追加のディスクエントリをfstabに追記</h3>
<p><code># vi /mnt/ec2-fs/etc/fstab</code></p>
<pre name="code" class="css">
/dev/sda2  /mnt      ext3    defaults        0 0
/dev/sda3  swap      swap    defaults        0 0
</pre>
<p><span id="more-364"></span></p>
<h3>（２）起動時に「ec2-add-keypair で作った公開鍵」を受け取るためのスクリプトを用意</h3>
<p><code># vi /mnt/ec2-fs/usr/local/sbin/get-credentials.sh</code></p>
<pre name="code" class="php">
#!/bin/bash

# Retreive the credentials from relevant sources.

# Fetch any credentials presented at launch time and add them to
# root&#039;s public keys

PUB_KEY_URI=http://169.254.169.254/1.0/meta-data/public-keys/0/openssh-key
PUB_KEY_FROM_HTTP=/tmp/openssh_id.pub
PUB_KEY_FROM_EPHEMERAL=/mnt/openssh_id.pub
ROOT_AUTHORIZED_KEYS=/root/.ssh/authorized_keys

# We need somewhere to put the keys.
if [ ! -d /root/.ssh ] ; then
        mkdir -p /root/.ssh
        chmod 700 /root/.ssh
fi

# Fetch credentials...

# First try http
curl --retry 3 --retry-delay 0 --silent --fail -o $PUB_KEY_FROM_HTTP $PUB_KEY_URI
if [ $? -eq 0 -a -e $PUB_KEY_FROM_HTTP ] ; then
    if ! grep -q -f $PUB_KEY_FROM_HTTP $ROOT_AUTHORIZED_KEYS
    then
            cat $PUB_KEY_FROM_HTTP &gt;&gt; $ROOT_AUTHORIZED_KEYS
            echo &quot;New key added to authrozied keys file from parameters&quot;|logger -t &quot;ec2&quot;
    fi
    chmod 600 $ROOT_AUTHORIZED_KEYS
    rm -f $PUB_KEY_FROM_HTTP

elif [ -e $PUB_KEY_FROM_EPHEMERAL ] ; then
    # Try back to ephemeral store if http failed.
    # NOTE: This usage is deprecated and will be removed in the future
    if ! grep -q -f $PUB_KEY_FROM_EPHEMERAL $ROOT_AUTHORIZED_KEYS
    then
            cat $PUB_KEY_FROM_EPHEMERAL &gt;&gt; $ROOT_AUTHORIZED_KEYS
            echo &quot;New key added to authrozied keys file from ephemeral store&quot;|logger -t &quot;ec2&quot;

    fi
    chmod 600 $ROOT_AUTHORIZED_KEYS
    chmod 600 $PUB_KEY_FROM_EPHEMERAL

fi

if [ -e /mnt/openssh_id.pub ] ; then
        if ! grep -q -f /mnt/openssh_id.pub /root/.ssh/authorized_keys
        then
                cat /mnt/openssh_id.pub &gt;&gt; /root/.ssh/authorized_keys
                echo &quot;New key added to authrozied keys file from ephemeral store&quot;|logger -t &quot;ec2&quot;

        fi
        chmod 600 /root/.ssh/authorized_keys
fi
</pre>
<h3>（３）スクリプトに実行権限付与</h3>
<p><code># chmod +x /mnt/ec2-fs/usr/local/sbin/get-credentials.sh</code></p>
<h3>（４）OS起動時に上記スクリプトが呼び出されるように起動スクリプトに追記</h3>
<p><code># vi /mnt/ec2-fs/etc/rc.d/rc.local</code></p>
<pre name="code" class="php">
#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don&#039;t
# want to do the full Sys V style init stuff.

touch /var/lock/subsys/local
/usr/local/sbin/get-credentials.sh
</pre>
<h3>（５）イメージファイルをアンマウント</h3>
<p><code># umount /mnt/ec2-fs/proc<br />
# umount -d /mnt/ec2-fs</code></p>
<p>次は、<a href="http://ulc.jp/wp/archives/366">作成したOSイメージを加工して、S3にアップし、EC2のマシンイメージとして登録する。</a></p>
<hr />
<a href="http://ulc.jp/wp/archives/349">１．AWSのアカウントを取得して、ツールのセットアップを行う</a>　<br />
<a href="http://ulc.jp/wp/archives/362">２．Centos5のディスクイメージを作成する。</a><br />
<a href="http://ulc.jp/wp/archives/364">３．Centos5のイメージを、EC2向けにカスタマイズする。</a><br />
<a href="http://ulc.jp/wp/archives/366">４．作成したOSイメージを加工して、S3にアップし、EC2のマシンイメージとして登録する。</a><br />
<a href="http://ulc.jp/wp/archives/368">５．マシンイメージの実行、停止、マシンイメージの廃棄。</a></p>
]]></content:encoded>
			<wfw:commentRss>http://ulc.jp/wp/archives/364/feed</wfw:commentRss>
		</item>
	</channel>
</rss>
