<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-202273930353606472</id><updated>2012-02-19T11:41:12.947+09:00</updated><category term='Windows XP'/><category term='sl6'/><category term='netatalk'/><category term='keepalived'/><category term='chkconfig'/><category term='html5'/><category term='ScanSnap'/><category term='dd'/><category term='Q-Oper8'/><category term='wolframalpha'/><category term='maven'/><category term='struts2'/><category term='Windows'/><category term='lvm'/><category term='VIP'/><category term='本'/><category term='InternetExplorer'/><category term='mybatis'/><category term='binary'/><category term='firefox'/><category term='spring3'/><category term='yum'/><category term='css'/><category term='git'/><category term='nginx'/><category term='slirp'/><category term='scp'/><category term='eclipse'/><category term='vim'/><category term='Apache'/><category term='raid'/><category term='scanner'/><category term='Time Machine'/><category term='i18n'/><category term='Lion'/><category term='MySQL'/><category term='java'/><category term='Subversion'/><category term='PDF'/><category term='vmware'/><category term='CentOS'/><category term='Rails'/><category term='Wireshark'/><category term='ssh-agent'/><category term='putty'/><category term='screensaver'/><category term='Linux-VServer'/><category term='Perl'/><category term='OSX'/><category term='ime'/><category term='oracle'/><category term='Haskell'/><category term='webworker'/><category term='iPhone'/><category term='PostgreSQL'/><category term='ImageMagick'/><category term='dns'/><category term='ProLiant'/><category term='tap'/><category term='HTML'/><category term='network'/><category term='nslookup'/><category term='ubuntu'/><category term='EPEL'/><category term='imageFORMULA'/><category term='mail-server'/><category term='json'/><category term='node.js'/><category term='NTFS'/><category term='teraterm'/><category term='checkstyle'/><category term='javascript'/><category term='Xcode'/><category term='OpenVZ'/><category term='permission'/><category term='svnsync'/><category term='syntax highlight'/><category term='tomcat'/><category term='rpmforge'/><category term='curl'/><category term='port-forwarding'/><category term='UL80AG'/><category term='keychain'/><category term='serial-console'/><category term='Doma'/><category term='heartbeat'/><category term='gimp'/><category term='ext4'/><category term='XHTML'/><category term='load-balancer'/><category term='kvm'/><category term='csv'/><category term='Android'/><category term='virt-clone'/><category term='coLinux'/><category term='libvirt'/><category term='Windows 7'/><category term='screen'/><category term='arping'/><category term='plink'/><category term='ant'/><category term='cygwin'/><category term='Debian'/><category term='jsonic'/><category term='ssh'/><category term='docomo'/><category term='ASUS'/><category term='font'/><category term='vnc'/><category term='nat'/><category term='PHP'/><category term='7zip'/><category term='haskcell'/><category term='Ruby'/><category term='ultravnc'/><category term='Linux'/><category term='sastruts'/><category term='iptables'/><category term='BootCamp'/><title type='text'>hnakamur’s blog</title><subtitle type='html'>ものすごい勢いで忘れる私のために未整理でもいいからとりあえずメモ</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default?start-index=101&amp;max-results=100'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>161</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-579885021339509472</id><published>2012-01-22T23:27:00.000+09:00</published><updated>2012-01-22T23:27:19.477+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Subversion'/><title type='text'>Subversionでファイル名に濁点などを含む場合にコミット不許可にするフックスクリプト</title><content type='html'>Subversionでファイル名に濁点などを含む場合にコミット不許可にするフックスクリプトを作りました。&lt;br /&gt;
参考&lt;br /&gt;
&lt;ul&gt;  &lt;li&gt;&lt;a href="http://svn.apache.org/repos/asf/subversion/trunk/notes/unicode-composition-for-filenames"&gt;svn.apache.org/repos/asf/subversion/trunk/notes/unicode-composition-for-filenames&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="http://subversion.tigris.org/issues/show_bug.cgi?id=2464"&gt;subversion: 課題 2464&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
このスクリプトは&lt;a href="http://d.hatena.ne.jp/sfujiwara/20071122/1195740325"&gt;Subversion で ASCII 以外のファイル名を追加させない方法 - 酒日記 はてな支店&lt;/a&gt;を参考にさせて頂きました。ありがとうございます。&lt;br /&gt;
&lt;br /&gt;
検証環境は、Scientific Linux 6.1, Subversion 1.7.2 (ソースからビルド)です。&lt;br /&gt;
&lt;br /&gt;
以下のファイルをレポジトリのhooksディレクトリにpre-commitというファイル名で配置して実行パーミションをつけます。&lt;br /&gt;
&lt;pre&gt;#!/usr/bin/env perl
use strict;
use utf8;
use open ":utf8";
use Encode;
use Unicode::Normalize;

$ENV{LANG} = 'ja_JP.utf8';
my $SVNLOOK='/usr/bin/svnlook';

sub main {
  my ($repos, $txn) = @_;
  my @cmd = ($SVNLOOK, 'changed', "-t$txn", $repos);
  open my $pipe, '-|', @cmd or die $!;
  my $error = 0;
  while (my $line = &amp;lt;$pipe&gt;) {
    chomp $line;
    if ($line =~ /^A\s+(.*)$/) {
      my $path = $1;
      if (contains_composition_characters($path)) {
        warn "Cannot use filename containing composition characters (ex. dakuten): $path\n";
        $error = 1;
      }
    }
  }
  close $pipe;
  exit $error;
}

sub contains_composition_characters {
  my $path = shift;
  return NFC($path) ne $path || NFD($path) ne $path;
}

if (@ARGV != 2) {
  die "Usage: $0 REPOS TXN\n";
}

main(@ARGV);&lt;/pre&gt;&lt;br /&gt;
上記のスクリプト利用時にはApache実行時のLANGをja_JP.utf8にする必要があります。Scientific Linux 6.1の場合は、/etc/sysconfig/httpdにて以下のように設定します。&lt;br /&gt;
&lt;pre&gt;HTTPD_LANG=ja_JP.utf8&lt;/pre&gt;&lt;br /&gt;
LANGがデフォルトのCだとコミット時にエラーメッセージが表示できず、以下のようになってしまいます。&lt;br /&gt;
&lt;pre&gt;$ svn ci -m ''
Adding         d4です.txt
Transmitting file data .svn: Commit failed (details follow):
svn: Commit blocked by pre-commit hook (exit code 1) with output:
[Error output could not be translated from the native locale to UTF-8.]&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-579885021339509472?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/579885021339509472/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=579885021339509472' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/579885021339509472'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/579885021339509472'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2012/01/subversion.html' title='Subversionでファイル名に濁点などを含む場合にコミット不許可にするフックスクリプト'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-5693791303196149148</id><published>2011-12-06T23:49:00.001+09:00</published><updated>2011-12-06T23:59:48.246+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OSX'/><category scheme='http://www.blogger.com/atom/ns#' term='ime'/><title type='text'>Mac OS X 10.5以降でIMEを切り替えるコマンドラインツールを作りました</title><content type='html'>&lt;a href="https://github.com/hnakamur/inputsource"&gt;hnakamur/inputsource - GitHub&lt;/a&gt;に置いてあります。ライセンスはMITです。&lt;br /&gt;
&lt;br /&gt;
バイナリだけ欲しい方は&lt;a href="https://github.com/hnakamur/inputsource/blob/master/inputsource?raw=true"&gt;Lionでビルドした64bit実行形式のバイナリ&lt;/a&gt;をどうぞ。保存ダイアログが開いたときに拡張子に.txtが追加されて"inputsource.txt"と表示されてしまいますが、保存後"inputsource"とリネームしてお使いください。&lt;br /&gt;
&lt;br /&gt;
引数無しで実行すると、現在選ばれている入力ソースのIDを表示します。&lt;br /&gt;
&lt;br /&gt;
入力ソースIDを引数に指定して実行すると、その入力ソースを選択状態にします。&lt;br /&gt;
&lt;br /&gt;
入力ソースIDの例：&lt;br /&gt;
- com.apple.inputmethod.Kotoeri.Roman:    Kotoeri ASCII&lt;br /&gt;
- com.apple.inputmethod.Kotoeri.Japanese: Kotoeri Hiragana&lt;br /&gt;
- com.google.inputmethod.Japanese.Roman:  Google Japanese Input ASCII&lt;br /&gt;
- com.google.inputmethod.Japanese.base:   Google Japanese Input Hiragana&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-5693791303196149148?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/5693791303196149148/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=5693791303196149148' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/5693791303196149148'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/5693791303196149148'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2011/12/mac-os-x-105ime.html' title='Mac OS X 10.5以降でIMEを切り替えるコマンドラインツールを作りました'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-6478812452991406715</id><published>2011-12-03T11:29:00.001+09:00</published><updated>2011-12-03T12:25:19.369+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='syntax highlight'/><title type='text'>google-code-prettifyの設置</title><content type='html'>&lt;a href="http://www.1stwebdesigner.com/css/16-free-javascript-code-syntax-highlighters-for-better-programming/"&gt;16 Free Javascript Code Syntax Highlighters For Better Programming&lt;/a&gt;で見つけた&lt;a href="http://code.google.com/p/google-code-prettify/"&gt;google-code-prettify - syntax highlighting of code snippets in a web page - Google Project Hosting&lt;/a&gt;を設置してみました。これを選択した理由は単に正規表現でキーワードをマッチさせる方式より高度な判定を行っているからです。&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://google-code-prettify.googlecode.com/svn/trunk/README.html"&gt;Javascript code prettifier&lt;/a&gt;を参考に設定します。&lt;br /&gt;
htmlの&lt;code class="prettyprint"&gt;&amp;lt;/head&gt;&lt;/code&gt;の前に以下の2行を追加します。&lt;br /&gt;
&lt;pre class="prettyprint"&gt;&lt;code class="language-html"&gt;&amp;lt;link href="http://google-code-prettify.googlecode.com/svn/trunk/src/prettify.css" rel="stylesheet" type="text/css"/&gt;
&amp;lt;script type="text/javascript" src="http://google-code-prettify.googlecode.com/svn/trunk/src/prettify.js"&gt;&amp;lt;/script&gt;
&lt;/code&gt;&lt;/pre&gt;そして、&lt;code class="prettyprint"&gt;&amp;lt;body&gt;&lt;/code&gt;に&lt;code class="prettyprint"&gt;onload="prettyPrint()"&lt;/code&gt;を追加します。Bloggerの場合は管理画面の[Template]の[Backup/Restore]でテンプレートのXMLをダウンロード、編集、アップロードします。&lt;br /&gt;
&lt;br /&gt;
使い方は&lt;code class="prettyprint"&gt;&amp;lt;pre&gt;&lt;/code&gt;か&lt;code class="prettyprint"&gt;&amp;lt;code&gt;&lt;/code&gt;に&lt;code class="prettyprint"&gt;class="prettyprint"&lt;/code&gt;を追加します。&lt;a href="http://google-code-prettify.googlecode.com/svn/trunk/README.html"&gt;Javascript code prettifier&lt;/a&gt;からリンクされている&lt;a href="http://dev.w3.org/html5/spec-author-view/the-code-element.html#the-code-element"&gt;4.6.11 The code element — HTML5: Edition for Web Authors&lt;/a&gt;では&lt;code class="prettyprint"&gt;&amp;lt;pre&gt;&amp;lt;code class="language-html"&gt;&lt;/code&gt;という書き方が紹介してあるので、&lt;code class="prettyprint"&gt;&amp;lt;pre&gt;&lt;/code&gt;内で言語を指定する場合は&lt;code class="prettyprint"&gt;&amp;lt;pre class="prettyprint"&gt;&amp;lt;code class="language-html"&gt;&lt;/code&gt;という書き方にしようと思います。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-6478812452991406715?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/6478812452991406715/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=6478812452991406715' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/6478812452991406715'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/6478812452991406715'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2011/12/google-code-prettify.html' title='google-code-prettifyの設置'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-5139157650060309006</id><published>2011-11-26T07:05:00.001+09:00</published><updated>2011-12-03T11:26:33.260+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OSX'/><category scheme='http://www.blogger.com/atom/ns#' term='Perl'/><title type='text'>OS Xにperlbrewとcpanmをインストール</title><content type='html'>参考：&lt;a href="http://blog.kiftwi.net/2011/08/02/os-x-lion%E3%81%ABperlbrew%E3%81%A8cpanm%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%97%E3%81%A6perl%E7%92%B0%E5%A2%83%E3%82%92%E6%95%B4%E3%81%88%E3%82%8B/"&gt;OS X LionにperlbrewとcpanmをインストールしてPerl環境を整える | ましましブログ&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://www.perlbrew.pl/"&gt;Perlbrew&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;&lt;code class="prettyprint"&gt;curl -kL http://xrl.us/perlbrewinstall | bash
echo 'source ~/perl5/perlbrew/etc/bashrc' &gt;&gt; ~/.bashrc
. ~/.bashrc
perlbrew install perl-5.14.2
perlbrew switch perl-5.14.2&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;pre&gt;&lt;code class="prettyprint"&gt;perlbrew install-cpanm&lt;/code&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-5139157650060309006?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/5139157650060309006/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=5139157650060309006' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/5139157650060309006'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/5139157650060309006'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2011/11/os-xperlbrewcpanm.html' title='OS Xにperlbrewとcpanmをインストール'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-3091391339881780329</id><published>2011-11-21T16:50:00.001+09:00</published><updated>2011-11-21T16:53:00.878+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='libvirt'/><category scheme='http://www.blogger.com/atom/ns#' term='kvm'/><title type='text'>virt-cloneでコピー後eth0がeth1などに変わってしまうのを戻す</title><content type='html'>参考：&lt;a href="http://www.banym.de/linux/centos/change-network-device-name-from-eth1-back-to-eth0"&gt;Banym&amp;apos;s Blog - Change network device name from eth1 back to eth0.&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
/etc/udev/rules.d/70-persistent-net.rulesを編集。NAME="eth0"の行のMACアドレスを書き換える。NAME="eth1"など使わない行は削除。&lt;br /&gt;
&lt;pre&gt;# PCI device 0x1af4:0x1000 (virtio-pci)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="52:54:00:2a:7a:d9", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"&lt;/pre&gt;&lt;br /&gt;
/etc/sysconfig/network-scripts/ifcfg-eth0の内容を適切に変更して、それ以外のifcfg-eth?は削除。その後ゲストを再起動。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-3091391339881780329?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/3091391339881780329/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=3091391339881780329' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/3091391339881780329'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/3091391339881780329'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2011/11/virt-cloneeth0eth1.html' title='virt-cloneでコピー後eth0がeth1などに変わってしまうのを戻す'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-6973838748782602322</id><published>2011-11-13T22:10:00.001+09:00</published><updated>2011-11-13T22:23:33.099+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sl6'/><category scheme='http://www.blogger.com/atom/ns#' term='yum'/><title type='text'>Scientific Linux 6.1のyumレポジトリ設定</title><content type='html'>参考：&lt;a href="http://jfut.integ.jp/2011/07/29/scientific-linux-61-yumrepositories/"&gt;Scientific Linux 6.1 での yum リポジトリ設定 - ふたつの川うるおう日記&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://www.server-world.info/query?os=Scientific_Linux_6&amp;p=initial_conf&amp;f=5"&gt;Scientific Linux 6 - 初期設定 - システム最新化 ： Server World&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;yum -y install yum-conf-sl-other yum-plugin-fastestmirror yum-plugin-priorities&lt;/pre&gt;&lt;br /&gt;
&lt;pre&gt;cd /etc/yum.repos.d/
mv sl.repo sl.repo.default
mv sl-other.repo sl-other.repo.default&lt;/pre&gt;&lt;br /&gt;
&lt;pre&gt;cat &lt;&lt; '_EOF_' &gt; /etc/yum.repos.d/sl.repo
[sl]
name=Scientific Linux $releasever - $basearch
mirrorlist = file:///etc/yum.repos.d/mirrors-sl
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-sl file:///etc/pki/rpm-gpg/RPM-GPG-KEY-dawson
priority=1

[sl-security]
name=Scientific Linux $releasever - $basearch - security updates
mirrorlist = file:///etc/yum.repos.d/mirrors-sl-security
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-sl file:///etc/pki/rpm-gpg/RPM-GPG-KEY-dawson
priority=1

[sl-source]
name=Scientific Linux $releasever - Source
mirrorlist = file:///etc/yum.repos.d/mirrors-sl-source
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-sl file:///etc/pki/rpm-gpg/RPM-GPG-KEY-dawson
priority=1
_EOF_
cat &lt;&lt; '_EOF_' &gt; /etc/yum.repos.d/mirrors-sl
http://ftp.ne.jp/Linux/packages/scientificlinux/$releasever/$basearch/os/
http://ftp.jaist.ac.jp/pub/Linux/scientific/$releasever/$basearch/os/
http://ftp.riken.jp/Linux/scientific/$releasever/$basearch/os/
http://ftp.scientificlinux.org/linux/scientific/$releasever/$basearch/os/
http://ftp1.scientificlinux.org/linux/scientific/$releasever/$basearch/os/
http://ftp2.scientificlinux.org/linux/scientific/$releasever/$basearch/os/
ftp://ftp.scientificlinux.org/linux/scientific/$releasever/$basearch/os/
_EOF_
cat &lt;&lt; '_EOF_' &gt; /etc/yum.repos.d/mirrors-sl-security
http://ftp.ne.jp/Linux/packages/scientificlinux/$releasever/$basearch/updates/security/
http://ftp.jaist.ac.jp/pub/Linux/scientific/$releasever/$basearch/updates/security/
http://ftp.riken.jp/Linux/scientific/$releasever/$basearch/updates/security/
http://ftp.scientificlinux.org/linux/scientific/$releasever/$basearch/updates/security/
http://ftp1.scientificlinux.org/linux/scientific/$releasever/$basearch/updates/security/
http://ftp2.scientificlinux.org/linux/scientific/$releasever/$basearch/updates/security/
ftp://ftp.scientificlinux.org/linux/scientific/$releasever/$basearch/updates/security/
_EOF_
cat &lt;&lt; '_EOF_' &gt; /etc/yum.repos.d/mirrors-sl-source
http://ftp.ne.jp/Linux/packages/scientificlinux/$releasever/SRPMS/
http://ftp.jaist.ac.jp/pub/Linux/scientific/$releasever/SRPMS/
http://ftp.riken.jp/Linux/scientific/$releasever/SRPMS/
http://ftp.scientificlinux.org/linux/scientific/$releasever/SRPMS/
http://ftp1.scientificlinux.org/linux/scientific/$releasever/SRPMS/
http://ftp2.scientificlinux.org/linux/scientific/$releasever/SRPMS/
ftp://ftp.scientificlinux.org/linux/scientific/$releasever/SRPMS/
_EOF_&lt;/pre&gt;&lt;br /&gt;
&lt;pre&gt;cat &lt;&lt; '_EOF_' &gt; /etc/yum.repos.d/sl-other.repo
[sl-fastbugs]
name=Scientific Linux $releasever - $basearch - fastbug updates
mirrorlist = file:///etc/yum.repos.d/mirrors-sl-fastbugs
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-sl file:///etc/pki/rpm-gpg/RPM-GPG-KEY-dawson
priority=1

[sl-debuginfo]
name=Scientific Linux Debuginfo
mirrorlist = file:///etc/yum.repos.d/mirrors-sl-debuginfo
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-sl file:///etc/pki/rpm-gpg/RPM-GPG-KEY-dawson
priority=1

[sl-testing]
name=Scientific Linux Testing - $basearch
mirrorlist = file:///etc/yum.repos.d/mirrors-sl-testing
enabled=0
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-sl file:///etc/pki/rpm-gpg/RPM-GPG-KEY-dawson
priority=1

[sl-testing-source]
name=Scientific Linux Testing - Source
mirrorlist = file:///etc/yum.repos.d/mirrors-sl-testing-source
enabled=0
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-sl file:///etc/pki/rpm-gpg/RPM-GPG-KEY-dawson
priority=1
_EOF_
cat &lt;&lt; '_EOF_' &gt; /etc/yum.repos.d/mirrors-sl-fastbugs
http://ftp.ne.jp/Linux/packages/scientificlinux/$releasever/$basearch/updates/fastbugs/
http://ftp.jaist.ac.jp/pub/Linux/scientific/$releasever/$basearch/updates/fastbugs/
http://ftp.riken.jp/Linux/scientific/$releasever/$basearch/updates/fastbugs/
http://ftp.scientificlinux.org/linux/scientific/$releasever/$basearch/updates/fastbugs/
http://ftp1.scientificlinux.org/linux/scientific/$releasever/$basearch/updates/fastbugs/
http://ftp2.scientificlinux.org/linux/scientific/$releasever/$basearch/updates/fastbugs/
ftp://ftp.scientificlinux.org/linux/scientific/$releasever/$basearch/updates/fastbugs/
_EOF_
cat &lt;&lt; '_EOF_' &gt; /etc/yum.repos.d/mirrors-sl-debuginfo
http://ftp.ne.jp/Linux/packages/scientificlinux/$releasever/archive/debuginfo/
http://ftp.jaist.ac.jp/pub/Linux/scientific/$releasever/archive/debuginfo/
http://ftp.riken.jp/Linux/scientific/$releasever/archive/debuginfo/
http://ftp.scientificlinux.org/linux/scientific/$releasever/archive/debuginfo/
http://ftp1.scientificlinux.org/linux/scientific/$releasever/archive/debuginfo/
http://ftp2.scientificlinux.org/linux/scientific/$releasever/archive/debuginfo/
ftp://ftp.scientificlinux.org/linux/scientific/$releasever/archive/debuginfo/
_EOF_
cat &lt;&lt; '_EOF_' &gt; /etc/yum.repos.d/mirrors-sl-testing
http://ftp.ne.jp/Linux/packages/scientificlinux/6rolling/testing/$basearch/
http://ftp.jaist.ac.jp/pub/Linux/scientific/6rolling/testing/$basearch/
http://ftp.riken.jp/Linux/scientific/6rolling/testing/$basearch/
http://ftp.scientificlinux.org/linux/scientific/6rolling/testing/$basearch/
http://ftp1.scientificlinux.org/linux/scientific/6rolling/testing/$basearch/
http://ftp2.scientificlinux.org/linux/scientific/6rolling/testing/$basearch/
ftp://ftp.scientificlinux.org/linux/scientific/6rolling/testing/$basearch/
_EOF_
cat &lt;&lt; '_EOF_' &gt; /etc/yum.repos.d/mirrors-sl-testing-source
http://ftp.ne.jp/Linux/packages/scientificlinux/6rolling/testing/SRPMS/
http://ftp.jaist.ac.jp/pub/Linux/scientific/6rolling/testing/SRPMS/
http://ftp.riken.jp/Linux/scientific/6rolling/testing/SRPMS/
http://ftp.scientificlinux.org/linux/scientific/6rolling/testing/SRPMS/
http://ftp1.scientificlinux.org/linux/scientific/6rolling/testing/SRPMS/
http://ftp2.scientificlinux.org/linux/scientific/6rolling/testing/SRPMS/
ftp://ftp.scientificlinux.org/linux/scientific/6rolling/testing/SRPMS/
_EOF_&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-6973838748782602322?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/6973838748782602322/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=6973838748782602322' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/6973838748782602322'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/6973838748782602322'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2011/11/scientific-linux-61yum.html' title='Scientific Linux 6.1のyumレポジトリ設定'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-107073195236279994</id><published>2011-11-13T21:52:00.001+09:00</published><updated>2011-11-21T16:54:02.889+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sl6'/><category scheme='http://www.blogger.com/atom/ns#' term='kvm'/><title type='text'>Scientific Linux 6.1にKVMのゲストインストール</title><content type='html'>参考：&lt;a href="http://www.server-world.info/query?os=Scientific_Linux_6&amp;p=kvm&amp;f=2"&gt;Scientific Linux 6 - KVM - 仮想マシン作成#1 ： Server World&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;mkdir -p /var/kvm/images&lt;/pre&gt;&lt;pre&gt;virt-install -n www \
-r 1024 \
-f /var/kvm/images/www.img \
-s 20 \
--vcpus=2 \
--os-type linux \
--os-variant=rhel6 \
--network bridge=br0 \
--nographics \
--location='http://ftp.riken.jp/Linux/scientific/6.1/x86_64/os/' \
--extra-args='console=tty0 console=ttyS0,115200n8'&lt;/pre&gt;&lt;br /&gt;
ゲストOSのインストール後、再起動したら&lt;a href="http://hnakamur.blogspot.com/2011/11/scientific-linux-61yum.html"&gt;hnakamur’s blog: Scientific Linux 6.1のyumレポジトリ設定&lt;/a&gt;を行った後、パッケージをアップデート。&lt;br /&gt;
&lt;pre&gt;yum update&lt;/pre&gt;&lt;br /&gt;
私の環境は英語キーボードなので特に設定変更は不要。&lt;br /&gt;
&lt;br /&gt;
ゲストOSをシャットダウンした状態で、イメージをテンプレート用にコピーしてとっておく。&lt;br /&gt;
&lt;pre&gt;virt-clone --original www --name template --file /var/kvm/images/template.img&lt;/pre&gt;&lt;ins&gt;クローンするたびにゲストでifconfig -aで見たときにイーサデバイスの名前がeth1, eth2と変わっていくことが判明。&lt;a href="http://blog.pg1x.com/2011/07/14/virt-clone-%E3%81%97%E3%81%9F%E3%82%89-eth0-%E3%81%8C-eth1-%E3%81%AB%E3%81%AA%E3%81%A3%E3%81%A6%E3%81%84%E3%81%9F%E4%BB%B6/"&gt;virt-clone したら eth0 が eth1 になっていた件 | MyNotebook&lt;/a&gt;でも同じ現象があったようだ。&lt;/ins&gt;&lt;del&gt;でも私のところではゲストをシャットダウンしても治らなかった。&lt;/del&gt;&lt;ins&gt;私のところでもその後さらにシャットダウンして起動で治りました。&lt;/ins&gt;←&lt;a href="http://hnakamur.blogspot.com/2011/11/virt-cloneeth0eth1.html"&gt;hnakamur’s blog: virt-cloneでコピー後eth0がeth1などに変わってしまうのを戻す&lt;/a&gt;の手順を行う必要があります。&lt;br /&gt;
&lt;br /&gt;
ストレージプールの設定&lt;br /&gt;
&lt;pre&gt;mkdir /etc/libvirt/storage&lt;/pre&gt;&lt;pre&gt;cat &amp;lt;&amp;lt; _EOF_ &gt; /etc/libvirt/storage/disk01.xml
&amp;lt;pool type='dir'&gt;
  &amp;lt;name&gt;disk01&amp;lt;/name&gt;
  &amp;lt;capacity&gt;0&amp;lt;/capacity&gt;
  &amp;lt;allocation&gt;0&amp;lt;/allocation&gt;
  &amp;lt;available&gt;0&amp;lt;/available&gt;
  &amp;lt;source&gt;
  &amp;lt;/source&gt;
  &amp;lt;target&gt;
    &amp;lt;path&gt;/var/kvm/images&amp;lt;/path&gt;
    &amp;lt;permissions&gt;
        &amp;lt;mode&gt;0700&amp;lt;/mode&gt;
        &amp;lt;owner&gt;-1&amp;lt;/owner&gt;
        &amp;lt;group&gt;-1&amp;lt;/group&gt;
    &amp;lt;/permissions&gt;
  &amp;lt;/target&gt;
&amp;lt;/pool&gt;
_EOF_&lt;/pre&gt;&lt;br /&gt;
&lt;pre&gt;virsh pool-define /etc/libvirt/storage/disk01.xml&lt;/pre&gt;&lt;br /&gt;
&lt;pre&gt;virsh pool-start disk01&lt;/pre&gt;&lt;br /&gt;
&lt;pre&gt;virsh pool-autostart disk01&lt;/pre&gt;&lt;br /&gt;
&lt;pre&gt;virsh pool-list&lt;/pre&gt;&lt;br /&gt;
&lt;pre&gt;virsh pool-info disk01&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-107073195236279994?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/107073195236279994/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=107073195236279994' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/107073195236279994'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/107073195236279994'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2011/11/scientific-linux-61kvm_13.html' title='Scientific Linux 6.1にKVMのゲストインストール'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-4927095338628283684</id><published>2011-11-12T19:14:00.001+09:00</published><updated>2011-11-12T19:30:10.830+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='network'/><category scheme='http://www.blogger.com/atom/ns#' term='sl6'/><title type='text'>Scientific Linux 6.1のネットワーク設定ファイルの項目についての説明を調べた</title><content type='html'>KVMを入れようと思ってふと見ると/etc/sysconfig/network-scripts/ifcfg-eth0は以下のようになっていました(HWADDRの値は伏せてます)。&lt;br /&gt;
&lt;pre&gt;DEVICE="eth0"
BOOTPROTO="none"
HWADDR="XX:XX:XX:XX:XX:XX"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE=Ethernet
IPADDR=192.168.11.103
PREFIX=24
GATEWAY=192.168.11.1
DNS1=192.168.11.1
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
NAME="System eth0"&lt;/pre&gt;&lt;br /&gt;
RHEL6のリファレンス&lt;a href="http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/6/html-single/Deployment_Guide/index.html#s1-networkscripts-files"&gt;Deployment Guide&lt;/a&gt;を見ても載ってない項目がありました。&lt;br /&gt;
&lt;br /&gt;
NM_CONTROLLEDは&lt;a href="http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/5/html/Virtualization/sect-Virtualization-Network_Configuration-Bridged_networking_with_libvirt.html"&gt;10.2. Bridged networking with libvirt&lt;/a&gt;に説明がありました。&lt;br /&gt;
&lt;br /&gt;
IPV6INITとIPV6_AUTOCONFは「site: docs.redhat.com」付きで検索しても説明が見つけられず。1次情報ではないですが&lt;a href="http://www.cyberciti.biz/faq/rhel-redhat-fedora-centos-ipv6-network-configuration/"&gt;Red Hat / CentOS IPv6 Network Configuration&lt;/a&gt;や&lt;a href="http://www.virtualblueness.net/IPv6-HOWTO/scripts/current/index.html"&gt;Peter Bieringer&amp;apos;s IPv6-HowTo - Script Files (3.15+)&lt;/a&gt;に説明を見つけました。&lt;br /&gt;
&lt;br /&gt;
IPV4_FAILURE_FATALやNAMEは&lt;a href="http://www.obenri.com/_minset_cent6/netconfig_cent6.html"&gt;◇ネットワークの詳細設定(CentOS6)◇初心者のためのLinuxサーバー構築講座(CentOS 自宅サーバー対応)☆お便利サーバー.com☆&lt;/a&gt;に説明を見つけました。&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-4927095338628283684?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/4927095338628283684/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=4927095338628283684' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/4927095338628283684'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/4927095338628283684'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2011/11/scientific-linux-61.html' title='Scientific Linux 6.1のネットワーク設定ファイルの項目についての説明を調べた'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-509053017644654879</id><published>2011-11-12T18:56:00.001+09:00</published><updated>2011-11-13T21:39:34.025+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sl6'/><category scheme='http://www.blogger.com/atom/ns#' term='kvm'/><title type='text'>Scientific Linux 6.1にKVMをインストール</title><content type='html'>参考：&lt;a href="http://www.server-world.info/query?os=Scientific_Linux_6&amp;p=kvm&amp;f=1"&gt;Scientific Linux 6 - KVM - インストール ： Server World&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h4&gt;kvm関連パッケージインストールとlibvirtd起動設定&lt;/h4&gt;&lt;br /&gt;
必要なパッケージをインストール。&lt;br /&gt;
&lt;pre&gt;# yum -y install qemu-kvm libvirt python-virtinst bridge-utils&lt;/pre&gt;&lt;br /&gt;
lsmodで確認してみると、modprobeは自動で実行されていました。&lt;br /&gt;
&lt;pre&gt;# lsmod | grep kvm
kvm_intel              47790  0 
kvm                   300762  1 kvm_intel&lt;/pre&gt;&lt;br /&gt;
libvirtdを起動。&lt;br /&gt;
&lt;pre&gt;# /etc/init.d/libvirtd start&lt;/pre&gt;libvirtdの自動起動設定。&lt;br /&gt;
&lt;pre&gt;# chkconfig libvirtd on&lt;/pre&gt;&lt;br /&gt;
&lt;h4&gt;ブリッジ設定&lt;/h4&gt;&lt;br /&gt;
/etc/sysconfig/network-scripts/ifcfg-eth0&lt;br /&gt;
&lt;pre&gt;DEVICE=eth0
#BOOTPROTO=none
HWADDR=6C:62:6D:67:2E:A4
#IPV6INIT=no
#IPV6_AUTOCONF=yes
#NM_CONTROLLED=no
ONBOOT=yes
TYPE=Ethernet
BRIDGE=br0
#IPADDR=192.168.11.103
#PREFIX=24
#GATEWAY=192.168.11.1
#DNS1=192.168.11.1
#DEFROUTE=yes
#IPV4_FAILURE_FATAL=yes
#NAME=System eth0&lt;/pre&gt;&lt;br /&gt;
/etc/sysconfig/network-scripts/ifcfg-br0&lt;br /&gt;
&lt;pre&gt;DEVICE=br0
BOOTPROTO=static
#HWADDR=6C:62:6D:67:2E:A4
IPV6INIT=no
IPV6_AUTOCONF=yes
NM_CONTROLLED=no
ONBOOT=yes
TYPE=Bridge
IPADDR=192.168.11.103
PREFIX=24
GATEWAY=192.168.11.1
DNS1=192.168.11.1
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
#NAME=System br0&lt;/pre&gt;&lt;br /&gt;
上記のように書き換えた後以下のコマンドを実行。&lt;br /&gt;
&lt;pre&gt;# /etc/init.d/network reload&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-509053017644654879?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/509053017644654879/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=509053017644654879' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/509053017644654879'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/509053017644654879'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2011/11/scientific-linux-61kvm.html' title='Scientific Linux 6.1にKVMをインストール'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-2655399390272095976</id><published>2011-11-03T16:21:00.000+09:00</published><updated>2011-11-03T16:21:23.898+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='BootCamp'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows XP'/><title type='text'>MacBook Pro (15-inch, Late 2008)にSnow LeopardとBootCampでWindows XPをインストール</title><content type='html'>別のノートPCで使っていたSSDをMacBook Proに回すことにしたので再セットアップ。&lt;br /&gt;
MacBook ProのプリインストールOSはLeopardで、Snow LeopardとLionはアップデートで買っていました。&lt;br /&gt;
&lt;br /&gt;
LionだとWindows XPのドライバが入っていないとのことなので（手動で方法はあるらしい）、まずSnow LeopardをインストールしてBootCampでWindows XPを入れることにしました。&lt;br /&gt;
&lt;br /&gt;
手持ちのWindows XPはSP2だったので、Windows XP SP3をダウンロードしてインストールしようとしたが、「osloader.ntdをコピーできません」というエラーが出た。これには下記の対応が必要でした。&lt;br /&gt;
&lt;a href="http://support.apple.com/kb/HT3841?viewlocale=ja_JP"&gt;Boot Camp 3.0：Windows XP Service Pack 3 をインストールできない&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
SP3とIE8をインストールして再起動した後もまだWindows Updateが実行できない。Fix itのボタンを押すと、Microsoft .NET Framework 2.0を入れろとのこと。&lt;br /&gt;
&lt;br /&gt;
入れて再度Windows Updateを試すとまだだめ。Fix itを再実行。.NET 2.0はFix itを動かすのに必要だったのか。「Windows Updateのコンポーネントを修復する必要がある」の状況が「解決済み」になりました。&lt;br /&gt;
&lt;br /&gt;
それでも相変わらずWindows Updateの画面ではだめ（ http://support.microsoft.com/kb/2497281 のページに飛ばされてしまう)で、今度はMicrosoft Fix it Centerというプログラムを実行してみましたが、一覧に表示される項目はいまいち関係なさそうでした。&lt;br /&gt;
&lt;br /&gt;
http://support.microsoft.com/kb/2497281 の手順に従って、自動更新が有効になっていることを確認し、コマンドプロンプトでwuauclt /detectnowを実行してから再度Windows Updateを実行するうとようやく動くようになりました。&lt;br /&gt;
&lt;br /&gt;
あとは更新プログラムが出なくなるまでWindows Updateと再起動を繰り返し。&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-2655399390272095976?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/2655399390272095976/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=2655399390272095976' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/2655399390272095976'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/2655399390272095976'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2011/11/macbook-pro-15-inch-late-2008snow.html' title='MacBook Pro (15-inch, Late 2008)にSnow LeopardとBootCampでWindows XPをインストール'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-4983754600113327625</id><published>2011-11-02T23:26:00.000+09:00</published><updated>2011-11-02T23:26:50.528+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Time Machine'/><category scheme='http://www.blogger.com/atom/ns#' term='Lion'/><title type='text'>LionではTime Machineのバックアップ先としてネットワーク上の共有フォルダは使えないらしい</title><content type='html'>&lt;ul&gt;&lt;li&gt;&lt;a href="http://satsumahan.blog40.fc2.com/blog-entry-669.html"&gt;Mac OS X Lion と ネットワーク上のTimeMachineバックアップ機能について - 薩摩藩中仙道蕨宿別邸&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://satsumahan.blog40.fc2.com/blog-entry-693.html"&gt;Add-in:Orbital Backup Configuration （WHS2011でTimeMachineバックアップを自動構成するアドイン） - 薩摩藩中仙道蕨宿別邸&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;Time Capsuleを買えってことですかね。NASじゃなくてUSB接続の外付HDDにすればいいのかな。&lt;br /&gt;
&lt;br /&gt;
調べてみるとそのようでした。&lt;br /&gt;
&lt;a href="http://bbs.kakaku.com/bbs/K0000273076/SortID=13379251/"&gt;価格.com - 『LionのTimemachineに対応した外付けHDDはある？』 APPLE MacBook Air 1700/13.3 MC966J/A のクチコミ掲示板&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-4983754600113327625?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/4983754600113327625/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=4983754600113327625' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/4983754600113327625'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/4983754600113327625'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2011/11/liontime-machine.html' title='LionではTime Machineのバックアップ先としてネットワーク上の共有フォルダは使えないらしい'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-6086108008405508034</id><published>2011-11-02T22:26:00.000+09:00</published><updated>2011-11-02T22:26:45.285+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='netatalk'/><category scheme='http://www.blogger.com/atom/ns#' term='Time Machine'/><category scheme='http://www.blogger.com/atom/ns#' term='sl6'/><title type='text'>Scientific Linux 6.1のnetatalk 2.2.1でLion用Time Machine設定</title><content type='html'>参考：&lt;a href="http://d.hatena.ne.jp/paraches/20110730/1312040110"&gt;CentOS 6 で netatalk 2.2.0 の Lion Time Machine 対応設定 - Debian GNU/Linux 3.1 on PowerMac G4&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
/etc/netatalk/apfd.confに以下の1行追加（変更前の最終行のコメントアウトしてある行をコピペして-setuplogオプションを追加した）。&lt;br /&gt;
&lt;pre&gt;- -tcp -noddp -uamlist uams_dhx.so,uams_dhx2.so -nosavepassword -setuplog "defau
lt INFO_LOG /var/log/netatalk.log"&lt;/pre&gt;&lt;br /&gt;
/etc/netatalk/AppleVolumes.defaultの:DEFAULT:を編集。dperm:0700 fperm:0600 ea:sysを追加。&lt;br /&gt;
&lt;pre&gt;:DEFAULT: options:upriv,usedots dperm:0700 fperm:0600 ea:sys&lt;/pre&gt;&lt;br /&gt;
~の行はコメントアウト。&lt;br /&gt;
&lt;pre&gt;# The "~" below indicates that Home directories are visible by default.
# If you do not wish to have people accessing their Home directories,
# please put a pound sign in front of the tilde or delete it.
# ~&lt;/pre&gt;&lt;br /&gt;
タイムマシン用の設定を追加。volsizelimitについてはファイル中に説明あり。1000=1GB&lt;br /&gt;
&lt;pre&gt;# Time Machine
/mnt/TimeMachine "Time Machine" options:tm volsizelimit:512000&lt;/pre&gt;&lt;br /&gt;
自動起動を有効化。&lt;br /&gt;
&lt;pre&gt;chkconfig netatalk on&lt;/pre&gt;&lt;br /&gt;
起動。&lt;br /&gt;
&lt;pre&gt;/etc/init.d/netatalk start&lt;/pre&gt;&lt;br /&gt;
ポート番号調査。&lt;br /&gt;
&lt;pre&gt;ps auxww | grep afpd&lt;/pre&gt;&lt;br /&gt;
&lt;pre&gt;root     21762  0.2  0.0 182236  2940 ?        S    22:18   0:00 /usr/sbin/afpd -U uams_dhx.so,uams_dhx2.so -g nobody -c 20 -n sunshine103
root     21855  0.0  0.0 107432   952 pts/0    S+   22:21   0:00 grep afpd&lt;/pre&gt;&lt;br /&gt;
&lt;pre&gt;netstat -an --program | grep "^tcp.*21762"&lt;/pre&gt;&lt;pre&gt;tcp        0      0 0.0.0.0:548                 0.0.0.0:*                   LISTEN      21762/afpd&lt;/pre&gt;&lt;br /&gt;
netatalkはポート548を使っていることが判明。&lt;br /&gt;
&lt;br /&gt;
/etc/sysconfig/iptablesに以下の行を追加。&lt;br /&gt;
&lt;pre&gt;-A INPUT -m state --state NEW -m tcp -p tcp --dport 548 -j ACCEPT&lt;/pre&gt;&lt;br /&gt;
反映。&lt;br /&gt;
&lt;pre&gt;/etc/init.d/iptables restart&lt;/pre&gt;&lt;br /&gt;
これで、MacでFinderの[移動]/[サーバーへ接続]メニューを実行し「afp://サーバのアドレス/」を入力すると「Time Machine」という共有フォルダが表示されます。選択するとサーバー上のユーザIDとパスワードを聞かれるので入力するとアクセスできました。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-6086108008405508034?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/6086108008405508034/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=6086108008405508034' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/6086108008405508034'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/6086108008405508034'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2011/11/scientific-linux-61netatalk-221liontime.html' title='Scientific Linux 6.1のnetatalk 2.2.1でLion用Time Machine設定'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-8924208906966163709</id><published>2011-11-02T22:04:00.000+09:00</published><updated>2011-11-02T22:04:51.331+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='netatalk'/><category scheme='http://www.blogger.com/atom/ns#' term='sl6'/><title type='text'>Scientific Linux 6.1にnetatalk 2.2.1をインストール</title><content type='html'>参考：&lt;a href="http://hatx.blog.so-net.ne.jp/netatalk_rpm"&gt;Netatalk 2.2.1 (安定版) SRPM：HAT blog&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;wget http://www003.upp.so-net.ne.jp/hat/files/netatalk-2.2.1-0.1.5.el6.src.rpm&lt;/pre&gt;&lt;br /&gt;
&lt;pre&gt;rpm -ivh netatalk-2.2.1-0.1.5.el6.src.rpm&lt;/pre&gt;&lt;pre&gt;yum install rpm-build&lt;/pre&gt;&lt;pre&gt;cd rpmbuild/SPECS/&lt;/pre&gt;&lt;pre&gt;rpmbuild -bb netatalk.spec&lt;/pre&gt;&lt;br /&gt;
&lt;pre&gt;エラー: ビルド依存性の失敗:
 cracklib-devel は netatalk-4:2.2.1-0.1.5.el6.x86_64 に必要とされています
 quota-devel は netatalk-4:2.2.1-0.1.5.el6.x86_64 に必要とされています
 libtool は netatalk-4:2.2.1-0.1.5.el6.x86_64 に必要とされています
 db4-devel は netatalk-4:2.2.1-0.1.5.el6.x86_64 に必要とされています
 pam-devel は netatalk-4:2.2.1-0.1.5.el6.x86_64 に必要とされています
 tcp_wrappers-devel は netatalk-4:2.2.1-0.1.5.el6.x86_64 に必要とされています
 libgcrypt-devel は netatalk-4:2.2.1-0.1.5.el6.x86_64 に必要とされています
 avahi-devel は netatalk-4:2.2.1-0.1.5.el6.x86_64 に必要とされています
 libacl-devel は netatalk-4:2.2.1-0.1.5.el6.x86_64 に必要とされています
 openldap-devel は netatalk-4:2.2.1-0.1.5.el6.x86_64 に必要とされています&lt;/pre&gt;&lt;br /&gt;
&lt;pre&gt;yum install cracklib-devel quota-devel libtool db4-devel pam-devel tcp_wrappers-devel \
libgcrypt-devel avahi-devel libacl-devel openldap-devel&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;rpmbuild -bb netatalk.spec&lt;/pre&gt;&lt;br /&gt;
&lt;pre&gt;cd ~/rpmbuild/RPMS/x86_64/&lt;/pre&gt;&lt;pre&gt;rpm -ivh netatalk-2.2.1-0.1.5.el6.x86_64.rpm&lt;/pre&gt;&lt;pre&gt;rpm -ivh netatalk-devel-2.2.1-0.1.5.el6.x86_64.rpm&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-8924208906966163709?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/8924208906966163709/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=8924208906966163709' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/8924208906966163709'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/8924208906966163709'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2011/11/scientific-linux-61netatalk-221.html' title='Scientific Linux 6.1にnetatalk 2.2.1をインストール'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-3766504799691648307</id><published>2011-11-02T21:00:00.000+09:00</published><updated>2011-11-02T21:00:46.784+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='raid'/><category scheme='http://www.blogger.com/atom/ns#' term='sl6'/><title type='text'>Scientific Linux 6.1でソフトウェアRAID1</title><content type='html'>参考：&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.maruko2.com/mw/CentOS%E3%81%A7%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2RAID%E3%81%AE%E6%A7%8B%E7%AF%89"&gt;CentOSでソフトウェアRAIDの構築 - maruko2 Note.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.gagme.com/greg/linux/raid-lvm.php"&gt;Managing RAID and LVM with Linux&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
/dev/sdbと/dev/sdcに1TBのHDDがある状態で、この2台でソフトウェアRAID1を組んで見ました。&lt;br /&gt;
&lt;br /&gt;
以下のコマンドを実行。&lt;br /&gt;
&lt;pre&gt;yum install dmraid mdadm&lt;/pre&gt;&lt;br /&gt;
以下のコマンドを実行。&lt;br /&gt;
&lt;pre&gt;fdisk /dev/sdb&lt;/pre&gt;パーティションがある場合はまず削除します。&lt;br /&gt;
その後type=fd (Linux raid 自動検出)のパーティションを作成します。&lt;br /&gt;
&lt;br /&gt;
もう1台のHDDでも同様に実行。&lt;br /&gt;
&lt;pre&gt;fdisk /dev/sdc&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
/etc/mdadm.confを編集。下記の行を追記。&lt;br /&gt;
&lt;pre&gt;# RAID1 on two 1TB disks
DEVICE /dev/sd[bc]1
ARRAY /dev/md0 devices=/dev/sdb1,/dev/sdc1&lt;/pre&gt;&lt;br /&gt;
以下のコマンドを実行。&lt;br /&gt;
&lt;pre&gt;mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sd[bc]1&lt;/pre&gt;&lt;br /&gt;
継続して良いか聞かれるのでyを押す。&lt;br /&gt;
&lt;pre&gt;mdadm: /dev/sdb1 appears to contain an ext2fs file system
    size=488287608K  mtime=Wed Nov  2 18:33:48 2011
mdadm: Note: this array has metadata at the start and
    may not be suitable as a boot device.  If you plan to
    store '/boot' on this device please ensure that
    your boot-loader understands md/v1.x metadata, or use
    --metadata=0.90
mdadm: /dev/sdc1 appears to contain an ext2fs file system
    size=976760000K  mtime=Wed Nov  2 18:33:48 2011
Continue creating array? y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.&lt;/pre&gt;&lt;br /&gt;
状態確認。&lt;br /&gt;
&lt;pre&gt;mdadm --detail /dev/md0&lt;/pre&gt;&lt;br /&gt;
&lt;pre&gt;Personalities : [raid1] 
md0 : active raid1 sdc1[1] sdb1[0]
      976758841 blocks super 1.2 [2/2] [UU]
      [&gt;....................]  resync =  1.9% (18636544/976758841) finish=168.2min speed=94907K/sec
      
unused devices: &lt;none&gt;
[root@sunshine103 etc]# mdadm --detail /dev/md0
/dev/md0:
        Version : 1.2
  Creation Time : Wed Nov  2 20:29:13 2011
     Raid Level : raid1
     Array Size : 976758841 (931.51 GiB 1000.20 GB)
  Used Dev Size : 976758841 (931.51 GiB 1000.20 GB)
   Raid Devices : 2
  Total Devices : 2
    Persistence : Superblock is persistent

    Update Time : Wed Nov  2 20:29:13 2011
          State : clean, resyncing
 Active Devices : 2
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 0

 Rebuild Status : 2% complete

           Name : sunshine103:0  (local to host sunshine103)
           UUID : 85baee8b:5601c9d3:146ff925:09e772cf
         Events : 0

    Number   Major   Minor   RaidDevice State
       0       8       17        0      active sync   /dev/sdb1
       1       8       33        1      active sync   /dev/sdc1&lt;/pre&gt;&lt;br /&gt;
物理ボリューム作成。&lt;br /&gt;
&lt;pre&gt;pvcreate /dev/md0&lt;/pre&gt;&lt;br /&gt;
物理エクステントサイズを計算。&lt;br /&gt;
&lt;pre&gt;bc&lt;/pre&gt;&lt;pre&gt;1024*1024/65000
16&lt;/pre&gt;&lt;br /&gt;
物理ボリュームグループ作成。&lt;br /&gt;
&lt;pre&gt;vgcreate -s 16M lvm-raid /dev/md0&lt;/pre&gt;&lt;br /&gt;
物理ボリュームグループ情報表示。&lt;br /&gt;
&lt;pre&gt;vgdisplay lvm-raid&lt;/pre&gt;&lt;br /&gt;
&lt;pre&gt;--- Volume group ---
  VG Name               lvm-raid
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  1
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                0
  Open LV               0
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               931.50 GiB
  PE Size               16.00 MiB
  Total PE              59616
  Alloc PE / Size       0 / 0   
  Free  PE / Size       59616 / 931.50 GiB
  VG UUID               E0vNd7-vrMF-3CSL-tdhA-uIfW-opeQ-hy22su&lt;/pre&gt;&lt;br /&gt;
512GBの論理ボリュームをlvm0という名前で作成。&lt;br /&gt;
&lt;pre&gt;lvcreate --size 512G lvm-raid -n lvm0&lt;/pre&gt;&lt;br /&gt;
空き容量確認。&lt;br /&gt;
&lt;pre&gt;vgdisplay lvm-raid&lt;/pre&gt;&lt;pre&gt;--- Volume group ---
  VG Name               lvm-raid
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  2
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               0
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               931.50 GiB
  PE Size               16.00 MiB
  Total PE              59616
  Alloc PE / Size       32768 / 512.00 GiB
  Free  PE / Size       26848 / 419.50 GiB
  VG UUID               E0vNd7-vrMF-3CSL-tdhA-uIfW-opeQ-hy22su&lt;/pre&gt;&lt;br /&gt;
残りの容量一杯の論理ボリュームをlvm1という名前で作成。&lt;br /&gt;
&lt;pre&gt;lvcreate -l 26848 lvm-raid -n lvm1&lt;/pre&gt;&lt;br /&gt;
状態確認。&lt;br /&gt;
&lt;pre&gt;vgdisplay lvm-raid&lt;/pre&gt;&lt;pre&gt;--- Volume group ---
  VG Name               lvm-raid
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  5
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               0
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               931.50 GiB
  PE Size               16.00 MiB
  Total PE              59616
  Alloc PE / Size       59616 / 931.50 GiB
  Free  PE / Size       0 / 0   
  VG UUID               E0vNd7-vrMF-3CSL-tdhA-uIfW-opeQ-hy22su&lt;/pre&gt;&lt;br /&gt;
論理ボリューム内にext4ファイルシステムを作成。&lt;br /&gt;
&lt;pre&gt;mkfs -t ext4 /dev/lvm-raid/lvm0&lt;/pre&gt;&lt;pre&gt;mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
33554432 inodes, 134217728 blocks
6710886 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
4096 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
 4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 
 102400000

Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 34 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.&lt;/pre&gt;&lt;br /&gt;
&lt;pre&gt;mkfs -t ext4 /dev/lvm-raid/lvm1&lt;/pre&gt;&lt;pre&gt;mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
27492352 inodes, 109969408 blocks
5498470 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
3356 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
 4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 
 102400000

Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 22 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
マウントポイントを作成。&lt;br /&gt;
&lt;pre&gt;mkdir /mnt/{TimeMachine,data}&lt;/pre&gt;&lt;br /&gt;
/etc/fstabに以下の行を追加。&lt;br /&gt;
&lt;pre&gt;/dev/lvm-raid/lvm0 /mnt/TimeMachine             ext4    defaults        0 0
/dev/lvm-raid/lvm1 /mnt/data                    ext4    defaults        0 0&lt;/pre&gt;&lt;br /&gt;
マウント実行。&lt;br /&gt;
&lt;pre&gt;mount -a&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-3766504799691648307?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/3766504799691648307/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=3766504799691648307' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/3766504799691648307'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/3766504799691648307'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2011/11/scientific-linux-61raid1.html' title='Scientific Linux 6.1でソフトウェアRAID1'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-1598323756207215670</id><published>2011-09-26T17:34:00.000+09:00</published><updated>2011-09-26T17:34:11.088+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='node.js'/><category scheme='http://www.blogger.com/atom/ns#' term='Q-Oper8'/><title type='text'>Node.jsで同期的な記述ができるQ-Oper8を試す</title><content type='html'>参考：&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.infoq.com/articles/multi-core-node-js"&gt;InfoQ: Multi-Process Node.js: Motivations, Challenges and Solutions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/robtweed/Q-Oper8"&gt;https://github.com/robtweed/Q-Oper8.git&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blog.looseleafjs.org/entry/53/"&gt;npm1.0でハマったところ - Daily Node&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
インストール&lt;br /&gt;
&lt;pre&gt;npm install qoper8 -g&lt;/pre&gt;&lt;br /&gt;
サンプルを試す&lt;br /&gt;
&lt;pre&gt;git clone https://github.com/robtweed/Q-Oper8.git
cd Q-Oper8
cp examples/qoper8ChildProcess.js ~/local/node/lib/node_modules/qoper8/lib/
mkdir -p ~/node_sandbox/qoper8
cp examples/webQOper8.js examples/qoper8Test.js ~/node_sandbox/qoper8/
cd ~/node_sandbox/qoper8/
npm link qoper8
node webQOper8.js&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-1598323756207215670?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/1598323756207215670/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=1598323756207215670' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/1598323756207215670'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/1598323756207215670'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2011/09/nodejsq-oper8.html' title='Node.jsで同期的な記述ができるQ-Oper8を試す'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-5152430814982229221</id><published>2011-09-26T16:37:00.001+09:00</published><updated>2011-09-26T16:38:47.928+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='node.js'/><category scheme='http://www.blogger.com/atom/ns#' term='sl6'/><title type='text'>Scientific Linux 6.0にnode.jsインストール</title><content type='html'>参考：&lt;a href="https://github.com/joyent/node/wiki/Installation"&gt;Building and Installing Node.js - GitHub&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
python 2.6.6は既に入っていたので、openssl-develをインストール。&lt;br /&gt;
&lt;pre&gt;sudo yum install openssl-devel&lt;/pre&gt;&lt;br /&gt;
&lt;pre&gt;git clone --depth 1 git://github.com/joyent/node.git
git checkout v0.4.12
export JOBS=2
mkdir ~/local
./configure --prefix=$HOME/local/node
make
make install
echo 'export PATH=$HOME/local/node/bin:$PATH' &gt;&gt; ~/.bash_profile
echo 'export NODE_PATH=$HOME/local/node:$HOME/local/node/lib/node_modules' &gt;&gt; ~/.bash_profile
source ~/.bash_profile&lt;/pre&gt;&lt;br /&gt;
npmをインストール&lt;br /&gt;
&lt;pre&gt;curl http://npmjs.org/install.sh | sh&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-5152430814982229221?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/5152430814982229221/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=5152430814982229221' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/5152430814982229221'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/5152430814982229221'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2011/09/scientific-linux-60nodejs.html' title='Scientific Linux 6.0にnode.jsインストール'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-6355929922796555240</id><published>2011-09-17T07:31:00.000+09:00</published><updated>2011-09-17T07:31:18.072+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OSX'/><category scheme='http://www.blogger.com/atom/ns#' term='screensaver'/><title type='text'>MacBook Air + OS X Lionでキーボードショートカットでスクリーンセーバー起動</title><content type='html'>参考：&lt;a href="http://hints.macworld.com/article.php?story=20090831093941225"&gt;10.6: Lock the screen via a keyboard shortcut - Mac OS X Hints&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;Automatorでスクリーンセーバーを起動するサービスを作成&lt;/h3&gt;&lt;br /&gt;
Automatorを起動&lt;br /&gt;
→新規作成で書類の種類は[サービス]を選択して[選択]ボタンを押す。&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-T6NyxOcHSVE/TnPNcmSLjeI/AAAAAAAAAeg/TYwfr8Pdnns/s1600/screenshot_automator1.png" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="242" width="320" src="http://3.bp.blogspot.com/-T6NyxOcHSVE/TnPNcmSLjeI/AAAAAAAAAeg/TYwfr8Pdnns/s320/screenshot_automator1.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
ライブラリのツリーで「ユーティリティ」を選択&lt;br /&gt;
→右の列の[スクリーンセーバーを開始]を画面右のペインにドラッグ＆ドロップ&lt;br /&gt;
→画面右の["サービス"は、次の項目を受け取ります]は[入力なし]、[検索対象]は[すべてのアプリケーション]を選択&lt;br /&gt;
→[ファイル]/[保存]メニューで「StartScreenSaver」などと名前を付けて保存&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-cV7dyRc0bco/TnPNlO_coAI/AAAAAAAAAeo/I-mEH8o-l9A/s1600/screenshot_automator2.png" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="242" width="320" src="http://2.bp.blogspot.com/-cV7dyRc0bco/TnPNlO_coAI/AAAAAAAAAeo/I-mEH8o-l9A/s320/screenshot_automator2.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;スクリーンセーバーを起動するキーボードショートカットを設定&lt;/h3&gt;&lt;br /&gt;
Shift+Command+Lに割り当てたいが、[Search With Google]に割り当てられているのでそちらをまず解除。&lt;br /&gt;
&lt;br /&gt;
システム環境設定を起動し、[キーボード]アイコン→[キーボードショートカット]タブを選択&lt;br /&gt;
→左のリストで[サービス]を選択&lt;br /&gt;
→右のツリーの[検索]/[Search With Google]のチェックボックスをオフにする。&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-0G_xRNjGyTg/TnPNwH9olnI/AAAAAAAAAe4/3f7JU0CpggE/s1600/screenshot_shortcut2.png" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="291" width="320" src="http://2.bp.blogspot.com/-0G_xRNjGyTg/TnPNwH9olnI/AAAAAAAAAe4/3f7JU0CpggE/s320/screenshot_shortcut2.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
右のツリーを一番下までスクロールして[一般]/[StartScreenSaver]を選択&lt;br /&gt;
→行の右端をダブルクリックし、入力フィールドが表示されたらShift+Command+Lを入力&lt;br /&gt;
→行の左端のチェックボックスをオンにする&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-PvugEXnm-6o/TnPNrdbpMcI/AAAAAAAAAew/gwpT_dLUtk4/s1600/screenshot_shortcut1.png" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="291" width="320" src="http://4.bp.blogspot.com/-PvugEXnm-6o/TnPNrdbpMcI/AAAAAAAAAew/gwpT_dLUtk4/s320/screenshot_shortcut1.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;スクリーンセーバーからの復帰にパスワードを要求するよう設定&lt;/h3&gt;システム環境設定の[セキュリティとプライバシー]アイコン→[一般]タブで「スリープの後、またはスクリーンセーバーが開始した後、[すぐに]パスワードを要求」にチェックをつけておきます。&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-bXD2oVxqxGk/TnPN1P9EYNI/AAAAAAAAAfA/OOKiRNckCmc/s1600/screenshot_security.png" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="265" width="320" src="http://2.bp.blogspot.com/-bXD2oVxqxGk/TnPN1P9EYNI/AAAAAAAAAfA/OOKiRNckCmc/s320/screenshot_security.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;キーボードショートカットでスクリーンセーバーを起動する&lt;/h3&gt;上記の設定を終えると、Shift+Command+Lでスクリーンセーバーが起動します。&lt;br /&gt;
パスワード入力欄が表示されますが、[ESC]を押せば消えて全画面がスクリーンセーバーになります。&lt;br /&gt;
もう一度[ESC]を押すかマウスカーソルを動かせば、パスワード入力欄が表示されます。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-6355929922796555240?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/6355929922796555240/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=6355929922796555240' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/6355929922796555240'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/6355929922796555240'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2011/09/macbook-air-os-x-lion.html' title='MacBook Air + OS X Lionでキーボードショートカットでスクリーンセーバー起動'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-T6NyxOcHSVE/TnPNcmSLjeI/AAAAAAAAAeg/TYwfr8Pdnns/s72-c/screenshot_automator1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-3868731779251746103</id><published>2011-09-17T02:05:00.000+09:00</published><updated>2011-09-17T02:05:13.450+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><title type='text'>MySQLでのDBとユーザ作成</title><content type='html'>参考：&lt;a href="http://dev.mysql.com/doc/refman/5.1/ja/adding-users.html"&gt;MySQL :: MySQL 5.1 リファレンスマニュアル :: 4.8.2 MySQL への新規ユーザの追加&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
DBとユーザ作成&lt;br /&gt;
&lt;pre&gt;create database db1 character set 'utf8' collate 'utf8_general_ci';
grant all privileges on db1.* to user1@localhost identified by 'my_password';
grant all privileges on db1.* to user1@'%' identified by 'my_password';&lt;/pre&gt;試行錯誤した感じだと@'%'のほうだけだとlocalhostからつなげないっぽい。そこでlocalhostからつなぐ用の許可は別途作成する。&lt;br /&gt;
&lt;br /&gt;
grantで許可を与える場合はflush privilegesは不要。mysql.userやmysql.dbテーブルを直接いじったときには必要。&lt;br /&gt;
&lt;br /&gt;
状況確認用のSQL&lt;br /&gt;
&lt;pre&gt;select host, user, password from mysql.user;
select host, db, user from mysql.db;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-3868731779251746103?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/3868731779251746103/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=3868731779251746103' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/3868731779251746103'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/3868731779251746103'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2011/09/mysqldb.html' title='MySQLでのDBとユーザ作成'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-3873394499959272452</id><published>2011-07-26T06:56:00.001+09:00</published><updated>2011-07-26T06:57:32.644+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OSX'/><category scheme='http://www.blogger.com/atom/ns#' term='Xcode'/><category scheme='http://www.blogger.com/atom/ns#' term='Lion'/><title type='text'>OSX LionのXcodeを4.1にアップグレードしようとしてはまる</title><content type='html'>&lt;a href="http://journal.mycom.co.jp/news/2011/07/25/011/index.html"&gt;MacPorts 2.0.0登場 - 8200ソフトに対応、Lionもサポート | エンタープライズ | マイコミジャーナル&lt;/a&gt;を読んでXcodeを4.1にアップデートしたときのメモ。&lt;br /&gt;
&lt;br /&gt;
一度App Storeからダウンロードしてアップグレードしたが、インストール途中でiTunesを止めろという主旨のダイアログが表示された。アクティビティモニタでiTunesHelperを終了させると続行した。&lt;br /&gt;
&lt;br /&gt;
しかし、インストールが終わって起動するとinconsistentだかなんだか言われてクラッシュする。&lt;br /&gt;
&lt;br /&gt;
AppStoreにあったコメントを参考にアンインストール、OS再起動、再インストールをしてみた。&lt;br /&gt;
&lt;br /&gt;
アンインストール&lt;br /&gt;
&lt;pre&gt;sudo /Developer/Library/uninstall-devtools --mode=all&lt;/pre&gt;&lt;br /&gt;
以前のバージョンをインストールするなら再起動するような主旨のメッセージがターミナルに表示されたので、念のためOS再起動。&lt;br /&gt;
&lt;br /&gt;
再インストール&lt;br /&gt;
アプリケーション/Install Xcodeのパッケージの内容を表示&lt;br /&gt;
→Contents/Resources/Xcode.mpkgを実行&lt;br /&gt;
&lt;br /&gt;
再インストール後、Xcodeは無事起動できました。が、iPhoneのプロジェクトを作ってみるとエラー発生。まずはプロジェクトを作成するディレクトリが無いというエラー。これはディスクを整理してXcodeのプロジェクトのフォルダをごそっと消していたのが原因のよう。さらに進むとクラッシュ。&lt;br /&gt;
&lt;br /&gt;
OSX Applicationのプロジェクトも試してみたがこちらもクラッシュ。下記のエラーレポートが出ました。/usr/lib/libSystem.B.dylibにあるはずの_dispatch_queue_attr_createというシンボルが無いとのこと。ここで一旦ペンディング。&lt;br /&gt;
&lt;pre&gt;Process:         Xcode [1078]
Path:            /Developer-old/*/Xcode.app/Contents/MacOS/Xcode
Identifier:      com.apple.Xcode
Version:         3.2 (1610)
Build Info:      DevToolsIDE-16100000~6
Code Type:       X86-64 (Native)
Parent Process:  launchd [224]

Date/Time:       2011-07-26 06:47:25.631 +0900
OS Version:      Mac OS X 10.7 (11A511)
Report Version:  9

Interval Since Last Report:          63573 sec
Crashes Since Last Report:           6
Per-App Interval Since Last Report:  171 sec
Per-App Crashes Since Last Report:   4
Anonymous UUID:                      25CDA7D8-3726-4852-A83C-E941D0FABCBD

Crashed Thread:  0  Dispatch queue: com.apple.main-thread

Exception Type:  EXC_BREAKPOINT (SIGTRAP)
Exception Codes: 0x0000000000000002, 0x0000000000000000

Application Specific Information:
Performing @selector(ok:) from sender NSButton 0x401627e80
objc[1078]: garbage collection is ON

Dyld Error Message:
  Symbol not found: _dispatch_queue_attr_create
  Referenced from: /Developer-old/*/Xcode.app/Contents/MacOS/../../../../Library/PrivateFrameworks//DevToolsCore.framework/Versions/A/DevToolsCore
  Expected in: /usr/lib/libSystem.B.dylib

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   dyld                           0x00007fff6b11806d dyld_fatal_error + 1
1   dyld                           0x00007fff6b11b918 dyld::fastBindLazySymbol(ImageLoader**, unsigned long) + 128
2   libdyld.dylib                  0x00007fff8fe38716 dyld_stub_binder_ + 13
3   ???                            0x000000010054d010 0 + 4300525584
4   com.apple.Xcode.DevToolsCore   0x00000001001137a7 -[PBXProjectIndex initWithProject:] + 87
5   com.apple.Xcode.DevToolsCore   0x0000000100113479 -[PBXProject loadIndex] + 137
6   com.apple.Xcode.DevToolsCore   0x0000000100113304 -[PBXProject beginIndexing] + 52
7   com.apple.Xcode.DevToolsCore   0x00000001001132cb -[PBXProject openIndex] + 43
8   com.apple.Xcode.DevToolsInterface 0x000000010086db7f -[PBXProjectDocument initWithProject:] + 367
9   com.apple.Xcode.DevToolsInterface 0x000000010096ab80 +[PBXProjectDocument documentWithProject:] + 48
10  com.apple.Xcode.DevToolsInterface 0x00000001009cfbff -[PBXProjectWizard _finishTemplateInstantiationAfterFileCopying:instantiationResult:] + 351
11  com.apple.Xcode.DevToolsInterface 0x0000000100a735eb -[PBXFileCopyingWizard _finishCopyingTemplate:filesToPreserve:] + 219
12  com.apple.Xcode.DevToolsInterface 0x0000000100a73394 -[PBXFileCopyingWizard _checkForOverwritingFiles:] + 2052
13  com.apple.Xcode.DevToolsInterface 0x00000001009cf86f -[PBXProjectWizard finish] + 1167
14  com.apple.Xcode.DevToolsInterface 0x00000001009caf2e -[PBXProjectWizardChooserWizard sheetDidEndWithReturnCode:fileSystemLocations:contextInfo:] + 542
15  com.apple.Xcode.DevToolsInterface 0x00000001009691eb +[PBXOpenSavePanelHelper sheetDidEnd:returnCode:contextInfo:] + 203
16  com.apple.AppKit               0x00007fff8d52b166 -[NSSavePanel _didEndSheet:returnCode:contextInfo:] + 369
17  com.apple.AppKit               0x00007fff8d2ab356 -[NSApplication endSheet:returnCode:] + 275
18  com.apple.CoreFoundation       0x00007fff8890511d -[NSObject performSelector:withObject:] + 61
19  com.apple.AppKit               0x00007fff8d0fa852 -[NSApplication sendAction:to:from:] + 139
20  com.apple.AppKit               0x00007fff8d0fa784 -[NSControl sendAction:to:] + 88
21  com.apple.AppKit               0x00007fff8d0fa6af -[NSCell _sendActionFrom:] + 137
22  com.apple.AppKit               0x00007fff8d0f9b7a -[NSCell trackMouse:inRect:ofView:untilMouseUp:] + 2014
23  com.apple.AppKit               0x00007fff8d17957c -[NSButtonCell trackMouse:inRect:ofView:untilMouseUp:] + 489
24  com.apple.AppKit               0x00007fff8d0f8786 -[NSControl mouseDown:] + 786
25  com.apple.AppKit               0x00007fff8d0c366e -[NSWindow sendEvent:] + 6280
26  com.apple.AppKit               0x00007fff8d05bf19 -[NSApplication sendEvent:] + 5665
27  com.apple.Xcode.DevToolsInterface 0x0000000100866bdd -[PBXExtendedApplication sendEvent:] + 301
28  com.apple.AppKit               0x00007fff8cff242b -[NSApplication run] + 548
29  com.apple.AppKit               0x00007fff8d27052a NSApplicationMain + 867
30  com.apple.Xcode                0x000000010000e97e 0x100000000 + 59774
31  com.apple.Xcode                0x0000000100001844 0x100000000 + 6212

Thread 1:: Dispatch queue: com.apple.libdispatch-manager
0   libsystem_kernel.dylib         0x00007fff90f0d7e6 kevent + 10
1   libdispatch.dylib              0x00007fff88b3760e _dispatch_mgr_invoke + 923
2   libdispatch.dylib              0x00007fff88b3619e _dispatch_mgr_thread + 54

Thread 2:
0   libsystem_kernel.dylib         0x00007fff90f0b67a mach_msg_trap + 10
1   libsystem_kernel.dylib         0x00007fff90f0ad71 mach_msg + 73
2   com.apple.CoreFoundation       0x00007fff888a229c __CFRunLoopServiceMachPort + 188
3   com.apple.CoreFoundation       0x00007fff888aaa04 __CFRunLoopRun + 1204
4   com.apple.CoreFoundation       0x00007fff888aa216 CFRunLoopRunSpecific + 230
5   com.apple.DTDeviceKit          0x0000000106d0c6be -[DTDKInstallBundleController fsEventsThread] + 321
6   com.apple.Foundation           0x00007fff9062a1ea -[NSThread main] + 68
7   com.apple.Foundation           0x00007fff9062a162 __NSThread__main__ + 1575
8   libsystem_c.dylib              0x00007fff8aaca8bf _pthread_start + 335
9   libsystem_c.dylib              0x00007fff8aacdb75 thread_start + 13

Thread 3:
0   libsystem_kernel.dylib         0x00007fff90f0b67a mach_msg_trap + 10
1   libsystem_kernel.dylib         0x00007fff90f0ad71 mach_msg + 73
2   com.apple.CoreFoundation       0x00007fff888a229c __CFRunLoopServiceMachPort + 188
3   com.apple.CoreFoundation       0x00007fff888aaa04 __CFRunLoopRun + 1204
4   com.apple.CoreFoundation       0x00007fff888aa216 CFRunLoopRunSpecific + 230
5   com.apple.DTDeviceKit          0x0000000106d1440c -[DTDKRemoteDeviceDataListener listenerThreadImplementation] + 232
6   com.apple.Foundation           0x00007fff9062a1ea -[NSThread main] + 68
7   com.apple.Foundation           0x00007fff9062a162 __NSThread__main__ + 1575
8   libsystem_c.dylib              0x00007fff8aaca8bf _pthread_start + 335
9   libsystem_c.dylib              0x00007fff8aacdb75 thread_start + 13

Thread 4:: com.apple.CFSocket.private
0   libsystem_kernel.dylib         0x00007fff90f0cdf2 __select + 10
1   com.apple.CoreFoundation       0x00007fff888f366b __CFSocketManager + 1355
2   libsystem_c.dylib              0x00007fff8aaca8bf _pthread_start + 335
3   libsystem_c.dylib              0x00007fff8aacdb75 thread_start + 13

Thread 5:
0   libsystem_kernel.dylib         0x00007fff90f0d192 __workq_kernreturn + 10
1   libsystem_c.dylib              0x00007fff8aacc594 _pthread_wqthread + 758
2   libsystem_c.dylib              0x00007fff8aacdb85 start_wqthread + 13

Thread 6:
0   libsystem_kernel.dylib         0x00007fff90f0d192 __workq_kernreturn + 10
1   libsystem_c.dylib              0x00007fff8aacc594 _pthread_wqthread + 758
2   libsystem_c.dylib              0x00007fff8aacdb85 start_wqthread + 13

Thread 7:
0   libsystem_kernel.dylib         0x00007fff90f0d192 __workq_kernreturn + 10
1   libsystem_c.dylib              0x00007fff8aacc594 _pthread_wqthread + 758
2   libsystem_c.dylib              0x00007fff8aacdb85 start_wqthread + 13

Thread 8:
0   libsystem_kernel.dylib         0x00007fff90f0d192 __workq_kernreturn + 10
1   libsystem_c.dylib              0x00007fff8aacc594 _pthread_wqthread + 758
2   libsystem_c.dylib              0x00007fff8aacdb85 start_wqthread + 13

Thread 9:: com.apple.appkit-heartbeat
0   libsystem_kernel.dylib         0x00007fff90f0ce42 __semwait_signal + 10
1   libsystem_c.dylib              0x00007fff8aa80dea nanosleep + 164
2   libsystem_c.dylib              0x00007fff8aa80bb5 usleep + 53
3   com.apple.AppKit               0x00007fff8d22c0b8 -[NSUIHeartBeat _heartBeatThread:] + 1727
4   com.apple.Foundation           0x00007fff9062a1ea -[NSThread main] + 68
5   com.apple.Foundation           0x00007fff9062a162 __NSThread__main__ + 1575
6   libsystem_c.dylib              0x00007fff8aaca8bf _pthread_start + 335
7   libsystem_c.dylib              0x00007fff8aacdb75 thread_start + 13

Thread 0 crashed with X86 Thread State (64-bit):
  rax: 0x0000000000000000  rbx: 0x000000010b117ba0  rcx: 0xfefefefefefefeff  rdx: 0x0000000000000308
  rdi: 0x00007fff6b14ddf0  rsi: 0x0000000000000000  rbp: 0x00007fff5fbfed50  rsp: 0x00007fff5fbfed38
   r8: 0x8080808080808080   r9: 0xfeff0961686b7863  r10: 0x00007fff6b14ddf0  r11: 0x8080808080808080
  r12: 0x0000000400e985e0  r13: 0x0000000100f9f920  r14: 0x00007fff6b14ddf0  r15: 0x00000001005a2c30
  rip: 0x00007fff6b11806d  rfl: 0x0000000000000202  cr2: 0x0000000101c14000
Logical CPU: 1

Binary Images:
       0x100000000 -        0x100024ff7  com.apple.Xcode (3.2 - 1610) &lt;EFCCAF4A-2DC9-6B2E-83B4-D116F927D13C&gt; /Developer-old/*/Xcode.app/Contents/MacOS/Xcode
       0x100037000 -        0x100062fff  com.apple.DevToolsFoundation (3.1 - 1607) &lt;DDEF8A58-9E6B-A00D-3D4C-A6F7A71B141F&gt; /Developer-old/*/DevToolsFoundation.framework/Versions/A/DevToolsFoundation
       0x100082000 -        0x10009efff  com.apple.JavaKit (5.1 - 1591) &lt;B8AB4846-B721-894F-7577-4A5E7B6B2156&gt; /Developer-old/*/JavaKit.framework/Versions/A/JavaKit
       0x1000b2000 -        0x10054cfff  com.apple.Xcode.DevToolsCore (5.1 - 1608) &lt;1B15C007-ABA8-AF2A-AA73-8E0A5D4678D5&gt; /Developer-old/*/DevToolsCore.framework/Versions/A/DevToolsCore
       0x1007cf000 -        0x100810ff7  com.apple.Xcode.DevToolsSupport (5.1 - 1591) &lt;5A361B76-DA12-0DE0-C6DF-8522DD27B735&gt; /Developer-old/*/DevToolsSupport.framework/Versions/A/DevToolsSupport
       0x10083c000 -        0x100845fff  com.apple.Xcode.DevToolsRemoteClient (5.1 - 1610) &lt;FFDE3E13-ECD6-25E7-2B4B-33A3B71BF359&gt; /Developer-old/*/DevToolsRemoteClient.framework/Versions/A/DevToolsRemoteClient
       0x100850000 -        0x100f4aff7  com.apple.Xcode.DevToolsInterface (5.1 - 1610) &lt;B7082116-FF00-9B1C-777A-F516A5B07186&gt; /Developer-old/*/DevToolsInterface.framework/Versions/A/DevToolsInterface
       0x10133d000 -        0x1013fcfff  com.apple.Xcode.DevToolsCParsing (5.1 - 1591) &lt;EEA244E4-8942-0135-EA3A-FE8DDFB54F32&gt; /Developer-old/*/DevToolsCParsing.framework/Versions/A/DevToolsCParsing
       0x101462000 -        0x1014f0ff7  com.apple.Xcode.XcodeEdit (3.1 - 1611) &lt;AC4BF6BA-C265-BF4D-C6B3-7E4EF1DD2610&gt; /Developer-old/*/XcodeEdit.framework/Versions/A/XcodeEdit
       0x101535000 -        0x1015a3fff  com.apple.CoreSymbolication (2.1 - 67) &lt;194A355B-58C7-3B1E-A714-00F71ACCDB0A&gt; /System/Library/PrivateFrameworks/CoreSymbolication.framework/Versions/A/CoreSymbolication
       0x1015e1000 -        0x10161bfef  com.apple.DebugSymbols (2.1 - 85) &lt;7E0E17D9-C8D4-3117-B36A-506929F6FF72&gt; /System/Library/PrivateFrameworks/DebugSymbols.framework/Versions/A/DebugSymbols
       0x101635000 -        0x10169cfff  com.apple.Symbolication (1.2 - 87) &lt;C8F38870-0C4E-3A7F-9B12-0E970DE92F24&gt; /System/Library/PrivateFrameworks/Symbolication.framework/Versions/A/Symbolication
       0x1016db000 -        0x10171fff7  com.apple.DocSetAccess (2.1 - 1602) &lt;C30072B8-D98F-7E6D-5CCB-9C66009DDB7B&gt; /Developer-old/*/DocSetAccess.framework/Versions/A/DocSetAccess
       0x101748000 -        0x101797fff  com.apple.Xdesign.XDBase (3.1 - 1591) &lt;566DE2EA-5E07-FA98-9BD8-CDC980917B0C&gt; /Developer-old/*/XDBase.framework/Versions/A/XDBase
       0x1017d7000 -        0x1017eeff7  com.apple.DocSetManagement (1.0 - 1603) &lt;C1D5341B-FC6F-FB34-1484-FFB0B5468F15&gt; /Developer-old/*/DocSetManagement.framework/Versions/A/DocSetManagement
       0x1017ff000 -        0x101835ff7  com.apple.DocSetViewing (1.0 - 1603) &lt;F3241873-DB8B-F3C8-BDBA-E9CD69A24C43&gt; /Developer-old/*/DocSetViewing.framework/Versions/A/DocSetViewing
       0x101c7c000 -        0x101c7cffd +cl_kernels (??? - ???) &lt;72837D59-E248-49D1-8120-F4E01F21F77F&gt; cl_kernels
       0x101d13000 -        0x101d19fef  libcldcpuengine.dylib (1.50.61 - compatibility 1.0.0) &lt;EAC03E33-595E-3829-8199-479FA5CD9987&gt; /System/Library/Frameworks/OpenCL.framework/Libraries/libcldcpuengine.dylib
       0x101d1f000 -        0x101d22ff7  libCoreFSCache.dylib (??? - ???) &lt;783C2402-CA3F-3D9B-B909-0F251145CF1D&gt; /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libCoreFSCache.dylib
       0x101d36000 -        0x101d37ffc +cl_kernels (??? - ???) &lt;304AB741-2ED6-4340-B62C-358DA79EB450&gt; cl_kernels
       0x101d7c000 -        0x101d7dff3 +cl_kernels (??? - ???) &lt;F21AFE9D-1014-4628-B9BE-532C45E9905C&gt; cl_kernels
       0x101dd1000 -        0x101decfff  libJapaneseConverter.dylib (54.0.0 - compatibility 1.0.0) &lt;489CAB2F-2854-3435-81CD-A062384016F7&gt; /System/Library/CoreServices/Encodings/libJapaneseConverter.dylib
       0x101fa8000 -        0x101fa8ff7  com.apple.xcode.plug-in.CoreBuildTasks (3.0 - 1608) &lt;C9E6249D-00D1-E0D5-8C83-AE47C3AF76FA&gt; /Developer-old/*/CoreBuildTasks
       0x101fac000 -        0x101fb2ff7  com.apple.AppleScriptStudio.ASKPlugin (1.7 - 68) &lt;5A8B5991-DB14-A486-1E66-CD90720EFFF8&gt; /Developer-old/*/ASKPlugin
       0x101fbc000 -        0x101fbfff7  com.apple.AppleScriptStudio.ASKDictionaryPlugin (1.6 - 68) &lt;9F90E141-EEEE-4FA0-B180-B15F967DC90C&gt; /Developer-old/*/ASKDictionaryPlugin
       0x101fc7000 -        0x101fc8fff  com.apple.Xcode.iPhoneSimulatorLaunchPlugin (2.0 - 28) &lt;FC48697F-5F61-3C8B-202F-20B9EC85010A&gt; /Developer-old/*/iPhoneSimulatorLaunchPlugin
       0x101ff6000 -        0x101ff7ff7  com.apple.Xdesign.XDInterface.GraphLayouter.ForceDirected (3.1 - 1594) &lt;16592320-E98F-738E-1BA9-780288E4E4F3&gt; /Developer-old/*/XDInterface.framework/Versions/A/PlugIns/XDForceDirectedGraphLayouter.diagramGraphLayouter/Contents/MacOS/XDForceDirectedGraphLayouter
       0x101ffb000 -        0x101ffcff7  com.apple.Xdesign.XDInterface.GraphLayouter.Hierarchical (3.1 - 1594) &lt;FB2617AA-A744-35B5-38BD-D3F2B9865463&gt; /Developer-old/*/XDInterface.framework/Versions/A/PlugIns/XDHierarchicalGraphLayouter.diagramGraphLayouter/Contents/MacOS/XDHierarchicalGraphLayouter
       0x1058ea000 -        0x1058edfff  libsvn_fs-1.0.dylib (??? - ???) &lt;9F510A98-3848-3D25-B2E9-C1F8D7B2E1E6&gt; /usr/lib/libsvn_fs-1.0.dylib
       0x105912000 -        0x105931ff7  com.apple.XdesignPlugin (3.1 - 1591) &lt;35FDC89D-DF5B-0888-D268-12B11B36F40D&gt; /Developer-old/*/XdesignPlugin
       0x105943000 -        0x105983ff7  com.apple.XDSourceCode (3.1 - 1591) &lt;4E10C425-83C9-718F-497F-63807A04FC0A&gt; /Developer-old/*/XDClassModel
       0x1059a6000 -        0x1059e2ff7  com.apple.xdcoredataplugin (3.1 - 1591) &lt;512A3388-9285-12A3-7838-A1CD0A74F69D&gt; /Developer-old/*/XDCoreDataModel
       0x105a00000 -        0x105a0afff  com.apple.xdmappingmodel (3.1 - 1591) &lt;83D9843B-3BFB-8445-9E4C-2DA314B99078&gt; /Developer-old/*/XDMappingModel
       0x105a14000 -        0x105a23ff7  com.apple.xcode.subversion (3.1 - 1605) &lt;E63D833F-949C-4AF7-75C5-B48EB2082007&gt; /Developer-old/*/XcodeSubversionPlugin
       0x105a2f000 -        0x105a37fff  libsvn_delta-1.0.dylib (??? - ???) &lt;6DCB3EBE-1C25-3174-8505-C6F59F5896C9&gt; /usr/lib/libsvn_delta-1.0.dylib
       0x105a3c000 -        0x105a43fff  libsvn_diff-1.0.dylib (??? - ???) &lt;9979DE1A-7665-352E-A474-C72E85710548&gt; /usr/lib/libsvn_diff-1.0.dylib
       0x105a48000 -        0x105a48fff  libsvn_fs_util-1.0.dylib (??? - ???) &lt;E8390CC9-A87F-3F18-BACF-214B5B4EDA17&gt; /usr/lib/libsvn_fs_util-1.0.dylib
       0x105a4c000 -        0x105a4cff7  com.apple.xcode.subversion.ui (3.1 - 1605) &lt;C4CCF6CE-945B-B330-13E3-7CCA32D9DD0C&gt; /Developer-old/*/XcodeSubversionIDEPlugin
       0x105e70000 -        0x105e8fff7  libapr-1.0.dylib (5.2.0 - compatibility 5.0.0) &lt;F0E12AE9-68D5-36E9-9C68-E9D80835899B&gt; /usr/lib/libapr-1.0.dylib
       0x105e9c000 -        0x105eb8ff7  libaprutil-1.0.dylib (4.10.0 - compatibility 4.0.0) &lt;E6827C47-96C9-3DBE-8D7B-8C617ED0E0C3&gt; /usr/lib/libaprutil-1.0.dylib
       0x105ec4000 -        0x105ee0fff  libsvn_fs_fs-1.0.dylib (??? - ???) &lt;009B0B09-192C-3890-81E9-DD8CAE09F041&gt; /usr/lib/libsvn_fs_fs-1.0.dylib
       0x105eea000 -        0x105eeefff  libsvn_ra_local-1.0.dylib (??? - ???) &lt;E80C70B9-CB9A-32F1-8D09-51CEEC3BB791&gt; /usr/lib/libsvn_ra_local-1.0.dylib
       0x105ef4000 -        0x105ef9fff  libsvn_ra-1.0.dylib (??? - ???) &lt;ADE98757-00F1-38C4-9347-15D1C70C224C&gt; /usr/lib/libsvn_ra-1.0.dylib
       0x106000000 -        0x106140fef  com.apple.Xdesign.XDInterface (3.1 - 1594) &lt;1C2D24D1-7B03-0AB7-0719-1707121494B9&gt; /Developer-old/*/XDInterface.framework/Versions/A/XDInterface
       0x1061f4000 -        0x106226fff  libsvn_client-1.0.dylib (??? - ???) &lt;0F2E53E7-8B3E-3B40-B3DE-AE6E509F6BE8&gt; /usr/lib/libsvn_client-1.0.dylib
       0x106234000 -        0x106242fff  libsvn_ra_svn-1.0.dylib (??? - ???) &lt;7D436E81-20DA-303C-BB0F-A38F5148ABEC&gt; /usr/lib/libsvn_ra_svn-1.0.dylib
       0x106249000 -        0x106267fff  libsvn_repos-1.0.dylib (??? - ???) &lt;A28ADC49-AC9E-3341-B4C9-BBC95CF4134E&gt; /usr/lib/libsvn_repos-1.0.dylib
       0x106271000 -        0x1062a9ff7  libsvn_subr-1.0.dylib (??? - ???) &lt;6CD0DB55-EACD-3285-873A-DB427425B223&gt; /usr/lib/libsvn_subr-1.0.dylib
       0x1062bb000 -        0x1062efff7  libsvn_wc-1.0.dylib (??? - ???) &lt;1A1E4150-E52C-388D-9E7D-AED8720494FF&gt; /usr/lib/libsvn_wc-1.0.dylib
       0x1062fc000 -        0x106317ff7  libpq.5.dylib (5.3.0 - compatibility 5.0.0) &lt;30B95501-4104-35B5-A395-39B58A818574&gt; /usr/lib/libpq.5.dylib
       0x106322000 -        0x106339ff7  libsvn_ra_neon-1.0.dylib (??? - ???) &lt;05913514-D5E7-3B69-8E7E-C04BDA5F42B4&gt; /usr/lib/libsvn_ra_neon-1.0.dylib
       0x106343000 -        0x10635ffff  libneon.27.dylib (30.0.0 - compatibility 30.0.0) &lt;3EFC3225-3623-3984-9FE7-E5E5488884BC&gt; /usr/lib/libneon.27.dylib
       0x10636b000 -        0x10637ffff  com.apple.xcode.perforce (3.1 - 1605) &lt;15EE3306-0768-220C-08EB-BD3EF395CCBC&gt; /Developer-old/*/XcodePerforcePlugin
       0x10638b000 -        0x10638ffff  com.apple.xcode.perforce.ui (3.1 - 1605) &lt;4D33345A-C3A7-5E63-7EC0-7D1C1851D0C6&gt; /Developer-old/*/XcodePerforceIDEPlugin
       0x106393000 -        0x1063adff7  com.apple.xcode.cvs (3.1 - 1605) &lt;D5413723-BCFE-A620-A75D-23D308A41A6B&gt; /Developer-old/*/XcodeCVSPlugin
       0x1063bc000 -        0x1063bffff  com.apple.xcode.cvs.ui (3.1 - 1605) &lt;44E0B62A-9F92-FEAF-8CBA-FAE15B3E4EF0&gt; /Developer-old/*/XcodeCVSIDEPlugin
       0x1063c3000 -        0x1063ccfff  com.apple.Xcode.PlistPlugin (3.2 - 1607) &lt;6234EA36-D8B8-0DB2-4953-AB929C4E40C4&gt; /Developer-old/*/PlistPlugin
       0x1063d4000 -        0x1063fcff7  com.apple.Xcode.PlistEdit (3.2 - 1607) &lt;4F0C2E09-4391-4B4D-80F6-C6778F023AA4&gt; /Developer-old/*/PlistEdit.framework/Versions/A/PlistEdit
       0x106414000 -        0x10641efff  com.apple.AppleScriptStudio.ASKDebuggerPlugin (1.6 - 68) &lt;672A915A-32FF-E3E5-7FE0-C321880A7582&gt; /Developer-old/*/ASKDebuggerPlugin
       0x106447000 -        0x10644afff  com.apple.Xcode.iPhoneSimulatorDevicePlugin (2.0 - 28) &lt;CF216FDE-EC5C-98F5-A675-6B5D475DBB6F&gt; /Developer-old/*/iPhoneSimulatorDevicePlugin
       0x106452000 -        0x1064a5fff  com.apple.AppleScriptKit (1.5.2 - 85) &lt;8EC83B08-262C-3B63-9375-1EBB09B834DD&gt; /System/Library/Frameworks/AppleScriptKit.framework/Versions/A/AppleScriptKit
       0x1064e6000 -        0x106519fff  com.apple.Xcode.JavaDebugging (5.1 - 1610) &lt;4A778B9A-2859-CAFC-D6F7-C7BB38C16A33&gt; /Developer-old/*/Xcode.app/Contents/PlugIns/JavaDebugging.xcplugin/Contents/MacOS/JavaDebugging
       0x10653b000 -        0x1065abfff  com.apple.Xcode.GDBMIDebuggingPlugin (5.1 - 1610) &lt;540A1D8F-448B-9DFD-6B07-75397493861E&gt; /Developer-old/*/Xcode.app/Contents/PlugIns/GDBMIDebugging.xcplugin/Contents/MacOS/GDBMIDebugging
       0x1065f1000 -        0x106602fff  com.apple.Xcode.BuildSettingsPanes (5.1 - 1610) &lt;4948A347-9A38-65A0-32DA-1C354C777D67&gt; /Developer-old/*/Xcode.app/Contents/PlugIns/BuildSettingsPanes.xcplugin/Contents/MacOS/BuildSettingsPanes
       0x10660c000 -        0x106617fff  com.apple.platform.iphoneos.plugin (1.0 - 1.0) &lt;0EABDC8C-F452-1D24-F313-CADA00E32CC2&gt; /Developer-old/*/iPhoneOS Build System Support
       0x10661f000 -        0x10662bfff  com.apple.DTDeviceKitBase (1 - 46.6) &lt;4BB26348-4A0C-205D-9176-CBC05E4D9D55&gt; /Developer-old/*/DTDeviceKitBase.framework/Versions/A/DTDeviceKitBase
       0x106636000 -        0x1066affff  com.apple.mobiledevice (423.1 - 423.1) &lt;6B3B46A2-D6AB-391E-BF8A-05F55707BD94&gt; /System/Library/PrivateFrameworks/MobileDevice.framework/Versions/A/MobileDevice
       0x1066e6000 -        0x1067c9fff  libcrypto.0.9.7.dylib (0.9.7 - compatibility 0.9.7) &lt;358B5B40-43B2-3F92-9FD3-DAA68806E1FF&gt; /usr/lib/libcrypto.0.9.7.dylib
       0x10681f000 -        0x106846fff  libssl.0.9.7.dylib (0.9.7 - compatibility 0.9.7) &lt;B0925A5D-5355-3ECE-BF2F-E576FF105F5A&gt; /usr/lib/libssl.0.9.7.dylib
       0x106b01000 -        0x106b4efff  com.apple.Xcode.iPhoneSupport (3.0 - 155.2) &lt;0E82F504-137B-FA5C-4532-211C44DD7B80&gt; /Developer-old/*/iPhoneRemoteDevice
       0x106b9a000 -        0x106bb1fff  com.apple.DeviceLinkX (4.1 - 223) &lt;7CE62016-E1A6-3DB6-A9B6-2E4FB50EBBDA&gt; /System/Library/PrivateFrameworks/DeviceLink.framework/Versions/A/DeviceLink
       0x106bc0000 -        0x106bc7fff  com.apple.iPhoneSimulatorRemoteClient (2.0 - 14) &lt;A2CC2A3B-B661-C4E0-9768-7A810498BD00&gt; /Developer-old/*/iPhoneSimulatorRemoteClient.framework/Versions/A/iPhoneSimulatorRemoteClient
       0x106d00000 -        0x106d22fff  com.apple.DTDeviceKit (1 - 46.6) &lt;CE30CDA6-529A-C106-5C61-02B86261F15C&gt; /Developer-old/*/DTDeviceKit.framework/Versions/A/DTDeviceKit
       0x106e7c000 -        0x106e7dff3 +cl_kernels (??? - ???) &lt;7FE6106C-6886-450A-A9D3-889E9FE030EE&gt; cl_kernels
       0x106eb7000 -        0x106ebcff7  libgermantok.dylib (??? - ???) &lt;BEE85384-A58E-3D6B-914B-74E5FF3155F3&gt; /usr/lib/libgermantok.dylib
       0x106eca000 -        0x106eccfff  com.apple.AddressBook.LocalSourceBundle (1.1 - 1043) &lt;E6A2DAEA-2AE7-3759-A8E5-D354007FDD4B&gt; /System/Library/Address Book Plug-Ins/LocalSource.sourcebundle/Contents/MacOS/LocalSource
       0x106edd000 -        0x106ee0fff  com.apple.DirectoryServicesSource (1.1 - 1043) &lt;B1B5FB51-29C4-3D13-AE52-D344C6EE11AE&gt; /System/Library/Address Book Plug-Ins/DirectoryServices.sourcebundle/Contents/MacOS/DirectoryServices
       0x108316000 -        0x108316ff5 +cl_kernels (??? - ???) &lt;F917FB15-6290-4C6B-8C36-7181CF8F8209&gt; cl_kernels
       0x108363000 -        0x108363ffd +cl_kernels (??? - ???) &lt;6EE591E1-0BB3-477A-801C-708F06EE57D8&gt; cl_kernels
       0x109475000 -        0x109475ff1 +cl_kernels (??? - ???) &lt;E278B072-6D46-4758-8828-1BA3C5FFAAFD&gt; cl_kernels
       0x10bc0d000 -        0x10bca0ff7  unorm8_bgra.dylib (1.50.61 - compatibility 1.0.0) &lt;3ED8B0D5-4A55-3E39-8490-B7BC1780F67B&gt; /System/Library/Frameworks/OpenCL.framework/Libraries/ImageFormats/unorm8_bgra.dylib
       0x10cacb000 -        0x10cb5eff7  unorm8_argb.dylib (1.50.61 - compatibility 1.0.0) &lt;D453434E-9E63-3D38-B59E-6B333A5373D6&gt; /System/Library/Frameworks/OpenCL.framework/Libraries/ImageFormats/unorm8_argb.dylib
       0x10cb7d000 -        0x10cc93ff7  libmecab.1.0.0.dylib (??? - ???) &lt;3A9B0BEB-025A-34A1-9E87-9AA84900AC37&gt; /usr/lib/libmecab.1.0.0.dylib
    0x7fff6b117000 -     0x7fff6b14bac7  dyld (195.5 - ???) &lt;4A6E2B28-C7A2-3528-ADB7-4076B9836041&gt; /usr/lib/dyld
    0x7fff84d73000 -     0x7fff854419df  com.apple.CoreGraphics (1.600.0 - ???) &lt;B3C42497-53F5-31BB-987E-D1E76746B0E4&gt; /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/Versions/A/CoreGraphics
    0x7fff85442000 -     0x7fff85446fff  libCGXType.A.dylib (600.0.0 - compatibility 64.0.0) &lt;5EEAD17D-006C-3855-8093-C7A4A97EE0D0&gt; /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/Versions/A/Resources/libCGXType.A.dylib
    0x7fff85475000 -     0x7fff854dffff  com.apple.framework.IOKit (2.0 - ???) &lt;F79E7690-EF97-3D04-BA22-177E256803AF&gt; /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit
    0x7fff854e0000 -     0x7fff854fbfff  libexpat.1.dylib (7.2.0 - compatibility 7.0.0) &lt;DDB91E75-A2FA-331F-8069-999127AC6A9D&gt; /usr/lib/libexpat.1.dylib
    0x7fff8553f000 -     0x7fff85574fff  com.apple.securityinterface (5.0 - 55004) &lt;790DDF7E-6BA9-36DD-B818-2322A712E1F5&gt; /System/Library/Frameworks/SecurityInterface.framework/Versions/A/SecurityInterface
    0x7fff855c0000 -     0x7fff85630fff  com.apple.datadetectorscore (3.0 - 179.3) &lt;AFFBD606-91DE-3F91-8E38-C037D9FBFA8B&gt; /System/Library/PrivateFrameworks/DataDetectorsCore.framework/Versions/A/DataDetectorsCore
    0x7fff85631000 -     0x7fff856d0fff  com.apple.LaunchServices (480.19 - 480.19) &lt;41ED4C8B-C74B-34EA-A9BF-34DBA5F52307&gt; /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/LaunchServices
    0x7fff856d1000 -     0x7fff85711fff  libtidy.A.dylib (??? - ???) &lt;E500CDB9-C010-3B1A-B995-774EE64F39BE&gt; /usr/lib/libtidy.A.dylib
    0x7fff85712000 -     0x7fff85735ff7  com.apple.RemoteViewServices (1.0 - 1) &lt;EB549657-8EDC-312A-B8BE-DEC3E160AC3D&gt; /System/Library/PrivateFrameworks/RemoteViewServices.framework/Versions/A/RemoteViewServices
    0x7fff857cd000 -     0x7fff857fdfff  com.apple.shortcut (2.0 - 2.0) &lt;6E6C9F01-5DAC-35F4-876D-082D915EE782&gt; /System/Library/PrivateFrameworks/Shortcut.framework/Versions/A/Shortcut
    0x7fff857fe000 -     0x7fff85879ff7  com.apple.print.framework.PrintCore (7.0 - 366) &lt;E663DF78-6729-332D-B763-ABB63A6BBB55&gt; /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/PrintCore.framework/Versions/A/PrintCore
    0x7fff8587a000 -     0x7fff85881ff7  com.apple.CommerceCore (1.0 - 17) &lt;AA783B87-48D4-3CA6-8FF6-0316396022F4&gt; /System/Library/PrivateFrameworks/CommerceKit.framework/Versions/A/Frameworks/CommerceCore.framework/Versions/A/CommerceCore
    0x7fff85edf000 -     0x7fff85f07ff7  com.apple.CoreVideo (1.7 - 70.0) &lt;59D5B407-CCB6-3406-8C55-C1B0168D7DC2&gt; /System/Library/Frameworks/CoreVideo.framework/Versions/A/CoreVideo
    0x7fff85f08000 -     0x7fff85f62fff  com.apple.HIServices (1.9 - ???) &lt;8791E8AA-C034-330D-B2BA-5141154C21CD&gt; /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/HIServices
    0x7fff85f7f000 -     0x7fff86031fff  com.apple.CoreText (4.0.0 - ???) &lt;D7BD85FD-277A-3A97-B1AD-5EE14215237E&gt; /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreText.framework/Versions/A/CoreText
    0x7fff86068000 -     0x7fff860fafff  com.apple.PDFKit (2.6 - 2.6) &lt;F838E95F-DEE9-354A-A34A-F5335D0AF1E1&gt; /System/Library/Frameworks/Quartz.framework/Versions/A/Frameworks/PDFKit.framework/Versions/A/PDFKit
    0x7fff860fd000 -     0x7fff860fffff  libCVMSPluginSupport.dylib (??? - ???) &lt;2D21E6BE-CB20-3F76-8DCC-1CB0660A8A5B&gt; /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libCVMSPluginSupport.dylib
    0x7fff8610b000 -     0x7fff86526fff  com.apple.SceneKit (2.0 - 124) &lt;9E331DDE-BDF4-34C5-A8F9-E7F12ADBB785&gt; /System/Library/PrivateFrameworks/SceneKit.framework/Versions/A/SceneKit
    0x7fff86527000 -     0x7fff86874ff7  com.apple.FinderKit (1.0 - 1) &lt;906BCBF7-CBE6-36D2-A183-4980E73CA5EF&gt; /System/Library/PrivateFrameworks/FinderKit.framework/Versions/A/FinderKit
    0x7fff86875000 -     0x7fff868a2fe7  libSystem.B.dylib (159.0.0 - compatibility 1.0.0) &lt;7B4D685D-939C-3ABE-8780-77A1889E0DE9&gt; /usr/lib/libSystem.B.dylib
    0x7fff868a3000 -     0x7fff86cbeff7  com.apple.RawCamera.bundle (3.7.2 - 573) &lt;FF8D349E-E8DF-3D12-91E9-BA00C13D5359&gt; /System/Library/CoreServices/RawCamera.bundle/Contents/MacOS/RawCamera
    0x7fff86cbf000 -     0x7fff86cc4fff  com.apple.OpenDirectory (10.7 - 144) &lt;E8AACF47-C423-3DCE-98F6-A811612B1B46&gt; /System/Library/Frameworks/OpenDirectory.framework/Versions/A/OpenDirectory
    0x7fff86cc5000 -     0x7fff86cd2ff7  libbz2.1.0.dylib (1.0.5 - compatibility 1.0.0) &lt;8EDE3492-D916-37B2-A066-3E0F054411FD&gt; /usr/lib/libbz2.1.0.dylib
    0x7fff86cd8000 -     0x7fff86d16fff  com.apple.bom (11.0 - 183) &lt;841FA160-A37A-368D-B14E-27AA9DD1AEDA&gt; /System/Library/PrivateFrameworks/Bom.framework/Versions/A/Bom
    0x7fff86d17000 -     0x7fff86d23fff  com.apple.DirectoryService.Framework (10.7 - 144) &lt;067ACB41-E9B7-3177-9EDE-C188D9B352DC&gt; /System/Library/Frameworks/DirectoryService.framework/Versions/A/DirectoryService
    0x7fff86d24000 -     0x7fff86d25fff  libunc.dylib (24.0.0 - compatibility 1.0.0) &lt;C67B3B14-866C-314F-87FF-8025BEC2CAAC&gt; /usr/lib/system/libunc.dylib
    0x7fff86d26000 -     0x7fff86d2cfff  libGFXShared.dylib (??? - ???) &lt;DE6987C5-81AC-3AE6-84F0-138C9636D412&gt; /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGFXShared.dylib
    0x7fff86d68000 -     0x7fff86dbcff7  com.apple.ScalableUserInterface (1.0 - 1) &lt;1873D7BE-2272-31A1-8F85-F70C4D706B3B&gt; /System/Library/Frameworks/QuartzCore.framework/Versions/A/Frameworks/ScalableUserInterface.framework/Versions/A/ScalableUserInterface
    0x7fff86dbd000 -     0x7fff873a1faf  libBLAS.dylib (??? - ???) &lt;D62D6A48-5C7A-3ED6-875D-AA3C2C5BF791&gt; /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
    0x7fff873a2000 -     0x7fff873cbfff  com.apple.CoreServicesInternal (113.7 - 113.7) &lt;ACAC98CD-5941-39DB-951A-2509DCCD22FD&gt; /System/Library/PrivateFrameworks/CoreServicesInternal.framework/Versions/A/CoreServicesInternal
    0x7fff873d0000 -     0x7fff873d7fff  com.apple.NetFS (4.0 - 4.0) &lt;B9F41443-679A-31AD-B0EB-36557DAF782B&gt; /System/Library/Frameworks/NetFS.framework/Versions/A/NetFS
    0x7fff873d8000 -     0x7fff874ddff7  libFontParser.dylib (??? - ???) &lt;22AADE96-E54D-3918-9DFA-1967F8B21E54&gt; /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Resources/libFontParser.dylib
    0x7fff874de000 -     0x7fff87560fff  com.apple.Metadata (10.7.0 - 627.9) &lt;F293A9A7-9790-3629-BE81-D19C158C5EA4&gt; /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Metadata
    0x7fff87561000 -     0x7fff87564fff  libRadiance.dylib (??? - ???) &lt;DCDA308D-4856-3631-B6D7-7A8B94169BC0&gt; /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources/libRadiance.dylib
    0x7fff87565000 -     0x7fff876beff7  com.apple.audio.toolbox.AudioToolbox (1.7 - 1.7) &lt;296F10D0-A871-39C1-B8B2-9200AB12B5AF&gt; /System/Library/Frameworks/AudioToolbox.framework/Versions/A/AudioToolbox
    0x7fff876bf000 -     0x7fff876bffff  com.apple.vecLib (3.7 - vecLib 3.7) &lt;29927F20-262F-379C-9108-68A6C69A03D0&gt; /System/Library/Frameworks/vecLib.framework/Versions/A/vecLib
    0x7fff876c0000 -     0x7fff876c1fff  libDiagnosticMessagesClient.dylib (??? - ???) &lt;3DCF577B-F126-302B-BCE2-4DB9A95B8598&gt; /usr/lib/libDiagnosticMessagesClient.dylib
    0x7fff87744000 -     0x7fff87773fff  com.apple.DictionaryServices (1.2 - 158) &lt;2CE51CD1-EE3D-3618-9507-E39A09C9BB8D&gt; /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/DictionaryServices.framework/Versions/A/DictionaryServices
    0x7fff87774000 -     0x7fff8778efff  com.apple.CoreMediaAuthoring (2.0 - 889) &lt;99D8E4C6-DDD3-3B0C-BBFB-A513877F10F6&gt; /System/Library/PrivateFrameworks/CoreMediaAuthoring.framework/Versions/A/CoreMediaAuthoring
    0x7fff877d6000 -     0x7fff877d9fff  libCoreVMClient.dylib (??? - ???) &lt;9E9F7B24-567C-3102-909C-219CF2B191FD&gt; /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libCoreVMClient.dylib
    0x7fff87b3e000 -     0x7fff87b3ffff  libdnsinfo.dylib (395.6.0 - compatibility 1.0.0) &lt;718A135F-6349-354A-85D5-430B128EFD57&gt; /usr/lib/system/libdnsinfo.dylib
    0x7fff87b40000 -     0x7fff87b40fff  com.apple.Accelerate.vecLib (3.7 - vecLib 3.7) &lt;4CC14F7C-BCA7-3CAC-BEC9-B06576E5A15B&gt; /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/vecLib
    0x7fff87cad000 -     0x7fff87fd0fff  com.apple.HIToolbox (1.7 - ???) &lt;10FA3432-6638-39D9-8681-9E95298D239E&gt; /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox
    0x7fff87fd5000 -     0x7fff87ffbfff  com.apple.framework.internetaccounts (1.0 - 1) &lt;64CC50BB-9EE4-36D1-969A-FDD2210026DC&gt; /System/Library/PrivateFrameworks/InternetAccounts.framework/Versions/A/InternetAccounts
    0x7fff8803b000 -     0x7fff880aefff  libstdc++.6.dylib (52.0.0 - compatibility 7.0.0) &lt;6BDD43E4-A4B1-379E-9ED5-8C713653DFF2&gt; /usr/lib/libstdc++.6.dylib
    0x7fff880af000 -     0x7fff880bcfff  libCSync.A.dylib (600.0.0 - compatibility 64.0.0) &lt;931F40EB-CA75-3A90-AC97-4DB8E210BC76&gt; /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/Versions/A/Resources/libCSync.A.dylib
    0x7fff880bd000 -     0x7fff8810fff7  libGLU.dylib (??? - ???) &lt;C3CE8BA0-470F-3BCE-B17C-A31E70E035F2&gt; /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLU.dylib
    0x7fff88110000 -     0x7fff88122ff7  libbsm.0.dylib (??? - ???) &lt;349BB16F-75FA-363F-8D98-7A9C3FA90A0D&gt; /usr/lib/libbsm.0.dylib
    0x7fff88130000 -     0x7fff8813eff7  libkxld.dylib (??? - ???) &lt;65BE345D-6618-3D1A-9E2B-255E629646AA&gt; /usr/lib/system/libkxld.dylib
    0x7fff8813f000 -     0x7fff88168fff  libJPEG.dylib (??? - ???) &lt;3DBFEB41-4BF2-3502-872A-BB3738EE61B0&gt; /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources/libJPEG.dylib
    0x7fff88169000 -     0x7fff88171fff  libsystem_dnssd.dylib (??? - ???) &lt;7749128E-D0C5-3832-861C-BC9913F774FA&gt; /usr/lib/system/libsystem_dnssd.dylib
    0x7fff881a4000 -     0x7fff881a7ff7  com.apple.securityhi (4.0 - 1) &lt;B37B8946-BBD4-36C1-ABC6-18EDBC573F03&gt; /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/SecurityHI.framework/Versions/A/SecurityHI
    0x7fff88300000 -     0x7fff8831dfff  libPng.dylib (??? - ???) &lt;75DA9F95-C2A1-3534-9F8B-14CFFDE2A290&gt; /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources/libPng.dylib
    0x7fff8831e000 -     0x7fff88344ff7  com.apple.framework.familycontrols (3.0 - 300) &lt;72FEA71A-5865-3875-97E9-3C8C96B7F7FA&gt; /System/Library/PrivateFrameworks/FamilyControls.framework/Versions/A/FamilyControls
    0x7fff8836d000 -     0x7fff8879ffe7  com.apple.VideoToolbox (1.0 - 705.35) &lt;B1B9F159-EEE2-38BB-A55E-CDB335A7A226&gt; /System/Library/PrivateFrameworks/VideoToolbox.framework/Versions/A/VideoToolbox
    0x7fff887a0000 -     0x7fff887bffff  libresolv.9.dylib (46.0.0 - compatibility 1.0.0) &lt;33263568-E6F3-359C-A4FA-66AD1300F7D4&gt; /usr/lib/libresolv.9.dylib
    0x7fff887c0000 -     0x7fff88808fff  com.apple.framework.CoreWLAN (2.0 - 200.46) &lt;04AFD988-DDFB-330D-B042-C1EB2826A0CC&gt; /System/Library/Frameworks/CoreWLAN.framework/Versions/A/CoreWLAN
    0x7fff88872000 -     0x7fff88a45ff7  com.apple.CoreFoundation (6.7 - 635) &lt;57446B22-0778-3E07-9690-96AC705D57E8&gt; /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
    0x7fff88a46000 -     0x7fff88aa6fff  libvDSP.dylib (325.3.0 - compatibility 1.0.0) &lt;74B62E70-4189-3022-8FC9-1182EA7C6E34&gt; /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvDSP.dylib
    0x7fff88aa7000 -     0x7fff88abdff7  com.apple.ImageCapture (7.0 - 7.0) &lt;69E6E2E1-777E-332E-8BCF-4F0611517DD0&gt; /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/ImageCapture.framework/Versions/A/ImageCapture
    0x7fff88abe000 -     0x7fff88accfff  com.apple.HelpData (2.1.0 - 68) &lt;A2C4DDC9-2ECB-37C0-A2E3-D01168EE31F7&gt; /System/Library/PrivateFrameworks/HelpData.framework/Versions/A/HelpData
    0x7fff88b34000 -     0x7fff88b42fff  libdispatch.dylib (187.5.0 - compatibility 1.0.0) &lt;698F8EFB-7075-3111-94E3-891156C88172&gt; /usr/lib/system/libdispatch.dylib
    0x7fff88b4b000 -     0x7fff88b51ff7  libunwind.dylib (30.0.0 - compatibility 1.0.0) &lt;1E9C6C8C-CBE8-3F4B-A5B5-E03E3AB53231&gt; /usr/lib/system/libunwind.dylib
    0x7fff88b52000 -     0x7fff88b6eff7  com.apple.GenerationalStorage (1.0 - 124) &lt;C0290CA0-A2A0-3280-9442-9D783883D638&gt; /System/Library/PrivateFrameworks/GenerationalStorage.framework/Versions/A/GenerationalStorage
    0x7fff88b6f000 -     0x7fff88de9ff7  com.apple.imageKit (2.1 - 1.0) &lt;03200568-184B-36E8-AFE9-04D1FACDC926&gt; /System/Library/Frameworks/Quartz.framework/Versions/A/Frameworks/ImageKit.framework/Versions/A/ImageKit
    0x7fff88e5a000 -     0x7fff88f3edef  libobjc.A.dylib (228.0.0 - compatibility 1.0.0) &lt;C5F2392D-B481-3A9D-91BE-3D039FFF4DEC&gt; /usr/lib/libobjc.A.dylib
    0x7fff88f3f000 -     0x7fff88f9bff7  com.apple.QuickLookFramework (3.0 - 489.1) &lt;26470DFE-B3D7-3E05-A4D7-98B64FCB230B&gt; /System/Library/Frameworks/QuickLook.framework/Versions/A/QuickLook
    0x7fff88f9c000 -     0x7fff88fb9ff7  libxpc.dylib (77.16.0 - compatibility 1.0.0) &lt;0A4B4775-29A9-30D6-956B-3BE1DBF98090&gt; /usr/lib/system/libxpc.dylib
    0x7fff88fba000 -     0x7fff88fe1fff  com.apple.PerformanceAnalysis (1.10 - 10) &lt;2A058167-292E-3C3A-B1F8-49813336E068&gt; /System/Library/PrivateFrameworks/PerformanceAnalysis.framework/Versions/A/PerformanceAnalysis
    0x7fff88fe2000 -     0x7fff88fe2fff  com.apple.quartzframework (1.5 - 1.5) &lt;21FCC91F-C7B9-304F-8C9C-04F3924F4AE3&gt; /System/Library/Frameworks/Quartz.framework/Versions/A/Quartz
    0x7fff88fe3000 -     0x7fff88fe3fff  com.apple.CoreServices (53 - 53) &lt;5946A0A6-393D-3087-86A0-4FFF6A305CC0&gt; /System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices
    0x7fff88fe4000 -     0x7fff89778fff  com.apple.CoreAUC (6.11.03 - 6.11.03) &lt;5A56B2DC-A0A6-357B-ADF2-5714AFEBD926&gt; /System/Library/PrivateFrameworks/CoreAUC.framework/Versions/A/CoreAUC
    0x7fff89779000 -     0x7fff89784ff7  libc++abi.dylib (14.0.0 - compatibility 1.0.0) &lt;8FF3D766-D678-36F6-84AC-423C878E6D14&gt; /usr/lib/libc++abi.dylib
    0x7fff89785000 -     0x7fff89829fef  com.apple.ink.framework (1.3.2 - 110) &lt;F69DBD44-FEC8-3C14-8131-CC0245DBBD42&gt; /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Ink.framework/Versions/A/Ink
    0x7fff8982a000 -     0x7fff89881fff  libTIFF.dylib (??? - ???) &lt;9E32B490-4C5B-3D96-AF27-9C085C606403&gt; /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources/libTIFF.dylib
    0x7fff898e7000 -     0x7fff89cadfff  com.apple.MediaToolbox (1.0 - 705.35) &lt;EC6755D1-58BC-36F5-AB66-143D03A0AF8C&gt; /System/Library/PrivateFrameworks/MediaToolbox.framework/Versions/A/MediaToolbox
    0x7fff89d1d000 -     0x7fff8a036ff7  com.apple.AddressBook.framework (6.0 - 1043) &lt;A6302279-FD1B-3BB7-8419-362425FC5568&gt; /System/Library/Frameworks/AddressBook.framework/Versions/A/AddressBook
    0x7fff8a4e6000 -     0x7fff8a522fff  libsystem_info.dylib (??? - ???) &lt;BC49C624-1DAB-3A37-890F-6EFD46538424&gt; /usr/lib/system/libsystem_info.dylib
    0x7fff8a523000 -     0x7fff8a530fff  libexslt.0.dylib (9.13.0 - compatibility 9.0.0) &lt;C3D01D74-EDC0-3EB4-B31C-0B44A0DE1AE1&gt; /usr/lib/libexslt.0.dylib
    0x7fff8a531000 -     0x7fff8a79fff7  com.apple.QuartzComposer (5.0 - 232) &lt;CE01B3AC-C19F-3148-9301-615E8FD6F356&gt; /System/Library/Frameworks/Quartz.framework/Versions/A/Frameworks/QuartzComposer.framework/Versions/A/QuartzComposer
    0x7fff8a7a0000 -     0x7fff8a7a0fff  com.apple.Carbon (153 - 153) &lt;895C2BF2-1666-3A59-A669-311B1F4F368B&gt; /System/Library/Frameworks/Carbon.framework/Versions/A/Carbon
    0x7fff8a7a1000 -     0x7fff8a92bff7  com.apple.QTKit (7.7.1 - 2246) &lt;C8A57DE8-A86A-34B6-B6BA-565EE3B6D140&gt; /System/Library/Frameworks/QTKit.framework/Versions/A/QTKit
    0x7fff8a9e8000 -     0x7fff8a9edfff  libpam.2.dylib (3.0.0 - compatibility 3.0.0) &lt;D952F17B-200A-3A23-B9B2-7C1F7AC19189&gt; /usr/lib/libpam.2.dylib
    0x7fff8aa5c000 -     0x7fff8aa6bfff  com.apple.opengl (1.7.4 - 1.7.4) &lt;38AF4430-7E81-3C98-9330-21DCDA90507E&gt; /System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL
    0x7fff8aa7c000 -     0x7fff8ab59fef  libsystem_c.dylib (763.11.0 - compatibility 1.0.0) &lt;1D61CA57-3C6D-30F7-89CB-CC6F0787B1DC&gt; /usr/lib/system/libsystem_c.dylib
    0x7fff8ab5a000 -     0x7fff8ab5ffff  libGIF.dylib (??? - ???) &lt;21851808-BFD2-3141-8354-A419479726BF&gt; /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources/libGIF.dylib
    0x7fff8ab60000 -     0x7fff8ab67fff  libcopyfile.dylib (85.1.0 - compatibility 1.0.0) &lt;172B1985-F24A-34E9-8D8B-A2403C9A0399&gt; /usr/lib/system/libcopyfile.dylib
    0x7fff8ab7b000 -     0x7fff8abddff7  com.apple.coreui (0.3 - 162) &lt;A752F9D0-1CAE-340F-B2D2-95EEF242B301&gt; /System/Library/PrivateFrameworks/CoreUI.framework/Versions/A/CoreUI
    0x7fff8abde000 -     0x7fff8ace0ff7  libxml2.2.dylib (10.3.0 - compatibility 10.0.0) &lt;D46F371D-6422-31B7-BCE0-D80713069E0E&gt; /usr/lib/libxml2.2.dylib
    0x7fff8ace1000 -     0x7fff8ad7bff7  com.apple.SearchKit (1.4.0 - 1.4.0) &lt;B7573888-BAF6-333D-AB00-C0D2BF88DF0F&gt; /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SearchKit.framework/Versions/A/SearchKit
    0x7fff8ad7c000 -     0x7fff8ae89fff  libJP2.dylib (??? - ???) &lt;D8257CEE-A1C3-394A-8193-6DB7C29A15A8&gt; /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources/libJP2.dylib
    0x7fff8ae8a000 -     0x7fff8af6afff  com.apple.CoreServices.OSServices (478.25 - 478.25) &lt;CA11FC11-2F93-3C8A-8077-A67F381A3EBE&gt; /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/OSServices.framework/Versions/A/OSServices
    0x7fff8af6b000 -     0x7fff8af6bfff  com.apple.Accelerate (1.7 - Accelerate 1.7) &lt;3E4582EB-CFEF-34EA-9DA8-8421F1C3C77D&gt; /System/Library/Frameworks/Accelerate.framework/Versions/A/Accelerate
    0x7fff8b0e2000 -     0x7fff8b0edff7  com.apple.speech.recognition.framework (4.0.19 - 4.0.19) &lt;7ADAAF5B-1D78-32F2-9FFF-D2E3FBB41C2B&gt; /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/SpeechRecognition.framework/Versions/A/SpeechRecognition
    0x7fff8b0ee000 -     0x7fff8b102ff7  com.apple.LangAnalysis (1.7.0 - 1.7.0) &lt;04C31EF0-912A-3004-A08F-CEC27030E0B2&gt; /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/LangAnalysis.framework/Versions/A/LangAnalysis
    0x7fff8b103000 -     0x7fff8b10efff  com.apple.CommonAuth (2.1 - 2.0) &lt;49949286-61FB-3A7F-BF49-0EBA45E2664E&gt; /System/Library/PrivateFrameworks/CommonAuth.framework/Versions/A/CommonAuth
    0x7fff8b10f000 -     0x7fff8b126fff  com.apple.CFOpenDirectory (10.7 - 144) &lt;9709423E-8484-3B26-AAE8-EF58D1B8FB3F&gt; /System/Library/Frameworks/OpenDirectory.framework/Versions/A/Frameworks/CFOpenDirectory.framework/Versions/A/CFOpenDirectory
    0x7fff8b127000 -     0x7fff8b12dfff  IOSurface (??? - ???) &lt;06FA3FDD-E6D5-391F-B60D-E98B169DAB1B&gt; /System/Library/Frameworks/IOSurface.framework/Versions/A/IOSurface
    0x7fff8b1d3000 -     0x7fff8b1d3fff  com.apple.audio.units.AudioUnit (1.7 - 1.7) &lt;D75971EE-0D74-365A-8E52-46558EA49E87&gt; /System/Library/Frameworks/AudioUnit.framework/Versions/A/AudioUnit
    0x7fff8b1d4000 -     0x7fff8b1fdff7  com.apple.framework.Apple80211 (7.0 - 700.57) &lt;0D7D7E08-377B-32F0-AD91-673F992B5CFF&gt; /System/Library/PrivateFrameworks/Apple80211.framework/Versions/A/Apple80211
    0x7fff8b1fe000 -     0x7fff8b1fefff  com.apple.Cocoa (6.6 - ???) &lt;021D4214-9C23-3CD8-AFB2-F331697A4508&gt; /System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa
    0x7fff8b3fd000 -     0x7fff8b456fff  com.apple.Suggestions (1.0 - 84.0) &lt;6B925EBB-CEEF-3134-8D25-2103F21DE624&gt; /System/Library/PrivateFrameworks/Suggestions.framework/Versions/A/Suggestions
    0x7fff8b457000 -     0x7fff8b659fff  libicucore.A.dylib (46.1.0 - compatibility 1.0.0) &lt;82DCB94B-3819-3CC3-BC16-2AACA7F64F8A&gt; /usr/lib/libicucore.A.dylib
    0x7fff8b6d7000 -     0x7fff8b6ecfff  com.apple.speech.synthesis.framework (4.0.74 - 4.0.74) &lt;C061ECBB-7061-3A43-8A18-90633F943295&gt; /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/SpeechSynthesis.framework/Versions/A/SpeechSynthesis
    0x7fff8b6ed000 -     0x7fff8b726fe7  libssl.0.9.8.dylib (0.9.8 - compatibility 0.9.8) &lt;D634E4B6-672F-3F68-8B6F-C5028151A5B4&gt; /usr/lib/libssl.0.9.8.dylib
    0x7fff8b727000 -     0x7fff8b728ff7  libsystem_blocks.dylib (53.0.0 - compatibility 1.0.0) &lt;8BCA214A-8992-34B2-A8B9-B74DEACA1869&gt; /usr/lib/system/libsystem_blocks.dylib
    0x7fff8b729000 -     0x7fff8b72efff  libcompiler_rt.dylib (6.0.0 - compatibility 1.0.0) &lt;98ECD5F6-E85C-32A5-98CD-8911230CB66A&gt; /usr/lib/system/libcompiler_rt.dylib
    0x7fff8b825000 -     0x7fff8c51efef  com.apple.WebCore (7534 - 7534.48.3) &lt;7C5A681C-3749-382C-9551-C197EF878C22&gt; /System/Library/Frameworks/WebKit.framework/Versions/A/Frameworks/WebCore.framework/Versions/A/WebCore
    0x7fff8c51f000 -     0x7fff8c606fff  com.apple.backup.framework (1.3 - 1.3) &lt;C7F0B3B6-EAC1-3445-A705-E9F18A45D01D&gt; /System/Library/PrivateFrameworks/Backup.framework/Versions/A/Backup
    0x7fff8c607000 -     0x7fff8c699fff  com.apple.CorePDF (3.0 - 3.0) &lt;6056B710-155A-3543-9373-B9F3E5FC99CE&gt; /System/Library/PrivateFrameworks/CorePDF.framework/Versions/A/CorePDF
    0x7fff8c69a000 -     0x7fff8c6e1ff7  com.apple.CoreMedia (1.0 - 705.35) &lt;6BEC7E0A-BC2E-30DA-8E18-7AF6E8A7821F&gt; /System/Library/Frameworks/CoreMedia.framework/Versions/A/CoreMedia
    0x7fff8c6e2000 -     0x7fff8c6fffff  com.apple.frameworks.preferencepanes (15.0 - 15.0) &lt;CC86755A-6CF1-3DDF-A1B0-6F7F5BD7BB39&gt; /System/Library/Frameworks/PreferencePanes.framework/Versions/A/PreferencePanes
    0x7fff8c700000 -     0x7fff8c7c7ff7  com.apple.ColorSync (4.7.0 - 4.7.0) &lt;A29897D7-4B63-3BBB-B66C-710BE9CC01D8&gt; /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ColorSync.framework/Versions/A/ColorSync
    0x7fff8c7c8000 -     0x7fff8c7c9fff  libsystem_sandbox.dylib (??? - ???) &lt;8D14139B-B671-35F4-9E5A-023B4C523C38&gt; /usr/lib/system/libsystem_sandbox.dylib
    0x7fff8c7ca000 -     0x7fff8c7cdfff  com.apple.help (1.3.2 - 42) &lt;AB67588E-7227-3993-927F-C9E6DAC507FD&gt; /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Help.framework/Versions/A/Help
    0x7fff8c7fe000 -     0x7fff8c894ff7  libvMisc.dylib (325.3.0 - compatibility 1.0.0) &lt;AC5A384A-FA5A-3307-9CED-BD69E6F12A09&gt; /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvMisc.dylib
    0x7fff8c895000 -     0x7fff8c897fff  com.apple.TrustEvaluationAgent (2.0 - 1) &lt;80AFB5D8-5CC4-3A38-83B9-A7DF5820031A&gt; /System/Library/PrivateFrameworks/TrustEvaluationAgent.framework/Versions/A/TrustEvaluationAgent
    0x7fff8c898000 -     0x7fff8c8a6fff  com.apple.NetAuth (1.0 - 3.0) &lt;F384FFFD-70F6-3B1C-A886-F5B446E456E7&gt; /System/Library/PrivateFrameworks/NetAuth.framework/Versions/A/NetAuth
    0x7fff8cac8000 -     0x7fff8cacefff  com.apple.DiskArbitration (2.4 - 2.4) &lt;5185FEA6-92CA-3CAA-8442-BD71DBC64AFD&gt; /System/Library/Frameworks/DiskArbitration.framework/Versions/A/DiskArbitration
    0x7fff8cacf000 -     0x7fff8cb44ff7  libc++.1.dylib (19.0.0 - compatibility 1.0.0) &lt;C0EFFF1B-0FEB-3F99-BE54-506B35B555A9&gt; /usr/lib/libc++.1.dylib
    0x7fff8cbd3000 -     0x7fff8cc27ff7  com.apple.ImageCaptureCore (3.0 - 3.0) &lt;C829E6A3-3EB6-3E1C-B9B8-759F56E34D3A&gt; /System/Library/Frameworks/ImageCaptureCore.framework/Versions/A/ImageCaptureCore
    0x7fff8cc28000 -     0x7fff8cc3ffff  com.apple.MultitouchSupport.framework (220.62 - 220.62) &lt;7EF58A7E-CB97-335F-A025-4A0F00AEF896&gt; /System/Library/PrivateFrameworks/MultitouchSupport.framework/Versions/A/MultitouchSupport
    0x7fff8ccdf000 -     0x7fff8cd0afff  libpcre.0.dylib (1.1.0 - compatibility 1.0.0) &lt;7D3CDB0A-840F-3856-8F84-B4A50E66431B&gt; /usr/lib/libpcre.0.dylib
    0x7fff8cd0b000 -     0x7fff8cd19ff7  com.apple.AppleFSCompression (37 - 1.0) &lt;88C436E8-38AE-3D96-A8C8-2D1805CC47B7&gt; /System/Library/PrivateFrameworks/AppleFSCompression.framework/Versions/A/AppleFSCompression
    0x7fff8cd1a000 -     0x7fff8cd3eff7  com.apple.Kerberos (1.0 - 1) &lt;2FF2569B-F59A-371E-AF33-66297F512CB3&gt; /System/Library/Frameworks/Kerberos.framework/Versions/A/Kerberos
    0x7fff8ce07000 -     0x7fff8ce11ff7  liblaunch.dylib (392.18.0 - compatibility 1.0.0) &lt;39EF04F2-7F0C-3435-B785-BF283727FFBD&gt; /usr/lib/system/liblaunch.dylib
    0x7fff8ce12000 -     0x7fff8ce13fff  liblangid.dylib (??? - ???) &lt;CACBE3C3-2F7B-3EED-B50E-EDB73F473B77&gt; /usr/lib/liblangid.dylib
    0x7fff8ce14000 -     0x7fff8ce55fff  com.apple.QD (3.12 - ???) &lt;4F3C5629-97C7-3E55-AF3C-ACC524929DA2&gt; /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/QD.framework/Versions/A/QD
    0x7fff8ce56000 -     0x7fff8ce5afff  libmathCommon.A.dylib (2026.0.0 - compatibility 1.0.0) &lt;FF83AFF7-42B2-306E-90AF-D539C51A4542&gt; /usr/lib/system/libmathCommon.A.dylib
    0x7fff8ce5b000 -     0x7fff8ce6dff7  libsasl2.2.dylib (3.15.0 - compatibility 3.0.0) &lt;6245B497-784B-355C-98EF-2DC6B45BF05C&gt; /usr/lib/libsasl2.2.dylib
    0x7fff8ceb3000 -     0x7fff8cfecfef  com.apple.vImage (5.0 - 5.0) &lt;C45D2CBE-FA15-3D13-9E9D-A3BF57B84BBE&gt; /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vImage.framework/Versions/A/vImage
    0x7fff8cfed000 -     0x7fff8dbe5fff  com.apple.AppKit (6.7 - 1138) &lt;C8D2FDDA-B9D5-3948-A376-6B9B6F0596C6&gt; /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit
    0x7fff8dbe6000 -     0x7fff8dcdbfff  libiconv.2.dylib (7.0.0 - compatibility 7.0.0) &lt;5C40E880-0706-378F-B864-3C2BD922D926&gt; /usr/lib/libiconv.2.dylib
    0x7fff8dcdc000 -     0x7fff8dd43ff7  com.apple.audio.CoreAudio (4.0.0 - 4.0.0) &lt;0B715012-C8E8-386D-9C6C-90F72AE62A2F&gt; /System/Library/Frameworks/CoreAudio.framework/Versions/A/CoreAudio
    0x7fff8dd44000 -     0x7fff8de50fef  libcrypto.0.9.8.dylib (0.9.8 - compatibility 0.9.8) &lt;3AD29F8D-E3BC-3F49-A438-2C8AAB71DC99&gt; /usr/lib/libcrypto.0.9.8.dylib
    0x7fff8de51000 -     0x7fff8de7efff  com.apple.quartzfilters (1.7.0 - 1.7.0) &lt;ED846829-EBF1-3E2F-9EA6-D8743E5A4784&gt; /System/Library/Frameworks/Quartz.framework/Versions/A/Frameworks/QuartzFilters.framework/Versions/A/QuartzFilters
    0x7fff8de7f000 -     0x7fff8e01efff  com.apple.QuartzCore (1.7 - 269.0) &lt;E0AFC745-4AC5-36E3-9827-E5344721071D&gt; /System/Library/Frameworks/QuartzCore.framework/Versions/A/QuartzCore
    0x7fff8e01f000 -     0x7fff8e0a4ff7  com.apple.Heimdal (2.1 - 2.0) &lt;E4CD970F-8DE8-31E4-9FC0-BDC97EB924D5&gt; /System/Library/PrivateFrameworks/Heimdal.framework/Versions/A/Heimdal
    0x7fff8e0a5000 -     0x7fff8e0e4fff  com.apple.AE (527.6 - 527.6) &lt;6F8DF9EF-3250-3B7F-8841-FCAD8E323954&gt; /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/AE.framework/Versions/A/AE
    0x7fff8e0e5000 -     0x7fff8e1e8fff  libsqlite3.dylib (9.6.0 - compatibility 9.0.0) &lt;ED5E84C6-646D-3B70-81D6-7AF957BEB217&gt; /usr/lib/libsqlite3.dylib
    0x7fff8e1e9000 -     0x7fff8e1ebfff  libquarantine.dylib (36.0.0 - compatibility 1.0.0) &lt;4C3BFBC7-E592-3939-B376-1C2E2D7C5389&gt; /usr/lib/system/libquarantine.dylib
    0x7fff8e1ec000 -     0x7fff8e227fff  com.apple.LDAPFramework (3.0 - 120.1) &lt;0C23534F-A8E7-3144-B2B2-50F9875101E2&gt; /System/Library/Frameworks/LDAP.framework/Versions/A/LDAP
    0x7fff8e228000 -     0x7fff8e231fff  libnotify.dylib (80.0.0 - compatibility 1.0.0) &lt;BD08553D-8088-38A8-8007-CF5C0B8F0404&gt; /usr/lib/system/libnotify.dylib
    0x7fff8e232000 -     0x7fff8e2a8fff  com.apple.ISSupport (1.9.8 - 56) &lt;2CEE7E6B-D841-36D8-BC9F-081B33F6E501&gt; /System/Library/PrivateFrameworks/ISSupport.framework/Versions/A/ISSupport
    0x7fff8e2a9000 -     0x7fff8e2c6ff7  com.apple.openscripting (1.3.3 - ???) &lt;A64205E6-D3C5-3E12-B1A0-72243151AF7D&gt; /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/OpenScripting.framework/Versions/A/OpenScripting
    0x7fff8e2c7000 -     0x7fff8e3c9ff7  com.apple.PubSub (1.0.5 - 65.28) &lt;D971543B-C9BE-3C58-8453-B3C69E2D2A6F&gt; /System/Library/Frameworks/PubSub.framework/Versions/A/PubSub
    0x7fff8e3ca000 -     0x7fff8e3d0ff7  com.apple.phonenumbers (1.0 - 47) &lt;8CE13253-C65B-392F-B87F-D85A15D500D3&gt; /System/Library/PrivateFrameworks/PhoneNumbers.framework/Versions/A/PhoneNumbers
    0x7fff8e40f000 -     0x7fff8e728fff  com.apple.CoreServices.CarbonCore (960.13 - 960.13) &lt;398ABDD7-BB95-3C05-96D2-B54243FC4745&gt; /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/CarbonCore
    0x7fff8e729000 -     0x7fff8e827ff7  com.apple.QuickLookUIFramework (3.0 - 489.1) &lt;A8A82434-D43D-3F12-9321-B2E8EC9B4B8E&gt; /System/Library/Frameworks/Quartz.framework/Versions/A/Frameworks/QuickLookUI.framework/Versions/A/QuickLookUI
    0x7fff8e828000 -     0x7fff8e906ff7  com.apple.ImageIO.framework (3.1.0 - 3.1.0) &lt;70228E69-063C-32FF-BBE7-FCCD9C5C0864&gt; /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/ImageIO
    0x7fff8e907000 -     0x7fff8ea03ff7  com.apple.avfoundation (2.0 - 180.23) &lt;C4383696-561D-33F3-AD7C-51E672F580B2&gt; /System/Library/Frameworks/AVFoundation.framework/Versions/A/AVFoundation
    0x7fff8ea06000 -     0x7fff8ec77fff  com.apple.CoreImage (7.77 - 1.0.1) &lt;AB6ECCF3-4B04-3363-9158-08F305BF15FA&gt; /System/Library/Frameworks/QuartzCore.framework/Versions/A/Frameworks/CoreImage.framework/Versions/A/CoreImage
    0x7fff8eca2000 -     0x7fff8ece1ff7  libGLImage.dylib (??? - ???) &lt;29F82AD9-45F0-3AC5-A4A4-B767EC555D82&gt; /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLImage.dylib
    0x7fff8ece2000 -     0x7fff8ed25ff7  libRIP.A.dylib (600.0.0 - compatibility 64.0.0) &lt;2B1571E1-8E87-364E-BC36-C9C9B5D3EAC4&gt; /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/Versions/A/Resources/libRIP.A.dylib
    0x7fff8ed2c000 -     0x7fff8ed2cfff  libkeymgr.dylib (23.0.0 - compatibility 1.0.0) &lt;61EFED6A-A407-301E-B454-CD18314F0075&gt; /usr/lib/system/libkeymgr.dylib
    0x7fff8ed2d000 -     0x7fff8ed78fff  com.apple.SystemConfiguration (1.11 - 1.11) &lt;0B02FEC4-C36E-32CB-8004-2214B6793AE8&gt; /System/Library/Frameworks/SystemConfiguration.framework/Versions/A/SystemConfiguration
    0x7fff8ed79000 -     0x7fff8ed8ffff  libGL.dylib (??? - ???) &lt;22064411-0A62-373C-828B-0AA2BA2A8D34&gt; /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib
    0x7fff8ed90000 -     0x7fff8eda5fff  com.apple.FileSync.framework (6.0 - 432) &lt;7DF40003-7A8A-3C42-AC26-FCA0A0DFEE17&gt; /System/Library/PrivateFrameworks/FileSync.framework/Versions/A/FileSync
    0x7fff8eda6000 -     0x7fff8edf6fff  com.apple.CoreMediaIO (201.0 - 3148) &lt;66287EB0-61F1-3175-90DC-24BB29473C67&gt; /System/Library/Frameworks/CoreMediaIO.framework/Versions/A/CoreMediaIO
    0x7fff8edf7000 -     0x7fff8ef81fff  com.apple.WebKit (7534 - 7534.48.3) &lt;03AC8252-B3A1-3A7C-9DAF-99CC9DC56D5D&gt; /System/Library/Frameworks/WebKit.framework/Versions/A/WebKit
    0x7fff8f083000 -     0x7fff8f083fff  com.apple.ApplicationServices (41 - 41) &lt;03F3FA8F-8D2A-3AB6-A8E3-40B001116339&gt; /System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices
    0x7fff8f084000 -     0x7fff8f089fff  libcache.dylib (47.0.0 - compatibility 1.0.0) &lt;B7757E2E-5A7D-362E-AB71-785FE79E1527&gt; /usr/lib/system/libcache.dylib
    0x7fff8f08a000 -     0x7fff8f10eff7  com.apple.ApplicationServices.ATS (5.0 - ???) &lt;F10B1918-A06E-3ECF-85EF-05F0CF27187E&gt; /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/ATS
    0x7fff8f10f000 -     0x7fff8f113ff7  com.apple.CommonPanels (1.2.5 - 94) &lt;0BB2C436-C9D5-380B-86B5-E355A7711259&gt; /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/CommonPanels.framework/Versions/A/CommonPanels
    0x7fff8f189000 -     0x7fff8f34afe7  com.apple.CoreData (103 - 358.4) &lt;8D8ABA2E-0161-334D-A7C9-79E5297E188B&gt; /System/Library/Frameworks/CoreData.framework/Versions/A/CoreData
    0x7fff8f34b000 -     0x7fff8f778fff  libLAPACK.dylib (??? - ???) &lt;4F2E1055-2207-340B-BB45-E4F16171EE0D&gt; /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libLAPACK.dylib
    0x7fff8f779000 -     0x7fff8f88efff  com.apple.DesktopServices (1.6.0 - 1.6.0) &lt;208D40FC-8BBE-330F-B999-18771BEA6895&gt; /System/Library/PrivateFrameworks/DesktopServicesPriv.framework/Versions/A/DesktopServicesPriv
    0x7fff8f88f000 -     0x7fff8f896fff  libCGXCoreImage.A.dylib (600.0.0 - compatibility 64.0.0) &lt;40374018-2832-3144-8114-CED417321C76&gt; /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/Versions/A/Resources/libCGXCoreImage.A.dylib
    0x7fff8f8b0000 -     0x7fff8f8b1ff7  libremovefile.dylib (21.0.0 - compatibility 1.0.0) &lt;C6C49FB7-1892-32E4-86B5-25AD165131AA&gt; /usr/lib/system/libremovefile.dylib
    0x7fff8f8b2000 -     0x7fff8f8b4ff7  com.apple.print.framework.Print (7.0 - 247) &lt;579D7E49-A7F4-3C41-9434-3114B8A9B96C&gt; /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Print.framework/Versions/A/Print
    0x7fff8f8b5000 -     0x7fff8f908fff  libFontRegistry.dylib (??? - ???) &lt;8FE14D77-1286-3619-A02E-0AC1A622596E&gt; /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Resources/libFontRegistry.dylib
    0x7fff8f909000 -     0x7fff8fb16fff  com.apple.JavaScriptCore (7534 - 7534.48) &lt;99B60407-592A-3DDC-A3D0-86578B92B3F8&gt; /System/Library/Frameworks/JavaScriptCore.framework/Versions/A/JavaScriptCore
    0x7fff8fb17000 -     0x7fff8fdeefff  com.apple.security (7.0 - 55010) &lt;2418B583-D3BD-3BC5-8B07-8289C8A5B43B&gt; /System/Library/Frameworks/Security.framework/Versions/A/Security
    0x7fff8fdef000 -     0x7fff8fdf2fff  com.apple.AppleSystemInfo (1.0 - 1) &lt;598ADC13-C994-3579-A885-0D6658DDD564&gt; /System/Library/PrivateFrameworks/AppleSystemInfo.framework/Versions/A/AppleSystemInfo
    0x7fff8fdf3000 -     0x7fff8fe20ff7  com.apple.opencl (1.50.62 - 1.50.62) &lt;616ADE61-11D1-3816-A255-3F0F80F2EAC8&gt; /System/Library/Frameworks/OpenCL.framework/Versions/A/OpenCL
    0x7fff8fe21000 -     0x7fff8fe22fff  com.apple.MonitorPanelFramework (1.4.0 - 1.4.0) &lt;0F55CD76-DB24-309B-BD12-62B00C1AAB9F&gt; /System/Library/PrivateFrameworks/MonitorPanel.framework/Versions/A/MonitorPanel
    0x7fff8fe23000 -     0x7fff8fe36ff7  libCRFSuite.dylib (??? - ???) &lt;034D4DAA-63F0-35E4-BCEF-338DD7A453DD&gt; /usr/lib/libCRFSuite.dylib
    0x7fff8fe37000 -     0x7fff8fe3bfff  libdyld.dylib (195.5.0 - compatibility 1.0.0) &lt;F1903B7A-D3FF-3390-909A-B24E09BAD1A5&gt; /usr/lib/system/libdyld.dylib
    0x7fff8fe3c000 -     0x7fff8fe47fff  com.apple.DisplayServicesFW (2.5.0 - 302.1.2) &lt;36377733-C737-3F36-A601-85D6188A2AAA&gt; /System/Library/PrivateFrameworks/DisplayServices.framework/Versions/A/DisplayServices
    0x7fff90581000 -     0x7fff905cfff7  libauto.dylib (??? - ???) &lt;F0004B88-CA01-37D0-A77F-6651C4EC7D8E&gt; /usr/lib/libauto.dylib
    0x7fff905d0000 -     0x7fff908e2fff  com.apple.Foundation (6.7 - 833.1) &lt;618D7923-3519-3C53-9CBD-CF3C7130CB32&gt; /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation
    0x7fff908e3000 -     0x7fff90922ff7  libcups.2.dylib (2.9.0 - compatibility 2.0.0) &lt;DE681910-3F7F-3502-9937-AB8008CD281A&gt; /usr/lib/libcups.2.dylib
    0x7fff90923000 -     0x7fff90929fff  libmacho.dylib (800.0.0 - compatibility 1.0.0) &lt;D86F63EC-D2BD-32E0-8955-08B5EAFAD2CC&gt; /usr/lib/system/libmacho.dylib
    0x7fff9092a000 -     0x7fff9093cff7  libz.1.dylib (1.2.5 - compatibility 1.0.0) &lt;30CBEF15-4978-3DED-8629-7109880A19D4&gt; /usr/lib/libz.1.dylib
    0x7fff9093d000 -     0x7fff90970fff  com.apple.GSS (2.1 - 2.0) &lt;A150154E-40D3-345B-A92D-3A023A55AC52&gt; /System/Library/Frameworks/GSS.framework/Versions/A/GSS
    0x7fff90c27000 -     0x7fff90c69ff7  libcommonCrypto.dylib (55010.0.0 - compatibility 1.0.0) &lt;A5B9778E-11C3-3F61-B740-1F2114E967FB&gt; /usr/lib/system/libcommonCrypto.dylib
    0x7fff90c9b000 -     0x7fff90d3dff7  com.apple.securityfoundation (5.0 - 55005) &lt;0D59908C-A61B-389E-AF37-741ACBBA6A94&gt; /System/Library/Frameworks/SecurityFoundation.framework/Versions/A/SecurityFoundation
    0x7fff90d3e000 -     0x7fff90d91fff  com.apple.AppleVAFramework (5.0.14 - 5.0.14) &lt;5FA4AED9-8E55-389C-9F5B-02FFE5BCBB75&gt; /System/Library/PrivateFrameworks/AppleVA.framework/Versions/A/AppleVA
    0x7fff90d92000 -     0x7fff90ef5fff  com.apple.CFNetwork (520.0.13 - 520.0.13) &lt;67E3BB43-2A22-3F5A-964E-391375B24CE0&gt; /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CFNetwork.framework/Versions/A/CFNetwork
    0x7fff90ef6000 -     0x7fff90f16fff  libsystem_kernel.dylib (1699.22.73 - compatibility 1.0.0) &lt;69F2F501-72D8-3B3B-8357-F4418B3E1348&gt; /usr/lib/system/libsystem_kernel.dylib
    0x7fff90f29000 -     0x7fff913d0ff7  FaceCoreLight (1.4.2 - compatibility 1.0.0) &lt;6F89E9A9-DEB6-32B5-8B50-3B97F5DB597D&gt; /System/Library/PrivateFrameworks/FaceCoreLight.framework/Versions/A/FaceCoreLight
    0x7fff913d1000 -     0x7fff913fcff7  libxslt.1.dylib (3.24.0 - compatibility 3.0.0) &lt;8051A3FC-7385-3EA9-9634-78FC616C3E94&gt; /usr/lib/libxslt.1.dylib
    0x7fff913fd000 -     0x7fff91402ff7  libsystem_network.dylib (??? - ???) &lt;4ABCEEF3-A3F9-3E06-9682-CE00F17138B7&gt; /usr/lib/system/libsystem_network.dylib
    0x7fff91405000 -     0x7fff9144bfff  com.apple.OSAKit (1.2.2 - 80) &lt;2D6F7A0D-61DD-317B-B812-8FF6797BD5BF&gt; /System/Library/Frameworks/OSAKit.framework/Versions/A/OSAKit

External Modification Summary:
  Calls made by other processes targeting this process:
    task_for_pid: 15
    thread_create: 0
    thread_set_state: 0
  Calls made by this process:
    task_for_pid: 0
    thread_create: 0
    thread_set_state: 0
  Calls made by all processes on this machine:
    task_for_pid: 1890
    thread_create: 0
    thread_set_state: 0

VM Region Summary:
ReadOnly portion of Libraries: Total=233.2M resident=130.7M(56%) swapped_out_or_unallocated=102.5M(44%)
Writable regions: Total=16.1G written=43.1M(0%) resident=54.8M(0%) swapped_out=0K(0%) unallocated=16.0G(100%)
 
REGION TYPE                      VIRTUAL
===========                      =======
CG backing stores                  4036K
CG image                             44K
CG raster data                      620K
CG shared images                   3416K
CoreGraphics                         16K
CoreImage                            32K
CoreServices                       1368K
MALLOC                            308.0M
MALLOC (reserved)                  15.8G        reserved VM address space (unallocated)
MALLOC guard page                    64K
Memory tag=240                        4K
Memory tag=242                       12K
Memory tag=251                      128K
OpenCL                               68K
SQLite page cache                   288K
STACK GUARD                        56.0M
Stack                              12.1M
VM_ALLOCATE                        17.8M
__CI_BITMAP                          80K
__DATA                             26.5M
__IMAGE                            1256K
__LINKEDIT                         55.0M
__TEXT                            178.2M
__UNICODE                           544K
mapped file                       128.3M
shared memory                      16.1M
===========                      =======
TOTAL                              16.5G
TOTAL, minus reserved VM space    809.7M

Model: MacBook5,1, BootROM MB51.007D.B03, 2 processors, Intel Core 2 Duo, 2 GHz, 4 GB, SMC 1.32f8
Graphics: NVIDIA GeForce 9400M, NVIDIA GeForce 9400M, PCI, 256 MB
Memory Module: BANK 0/DIMM0, 2 GB, DDR3, 1067 MHz, 0x0198, 0x000000000000000000000000000000000000
Memory Module: BANK 0/DIMM1, 2 GB, DDR3, 1067 MHz, 0x0198, 0x000000000000000000000000000000000000
AirPort: spairport_wireless_card_type_airport_extreme (0x14E4, 0x8D), Broadcom BCM43xx 1.0 (5.100.98.75.6)
Bluetooth: Version 2.5.0f17, 2 service, 12 devices, 1 incoming serial ports
Network Service: AirPort, AirPort, en1
Serial ATA Device: Hitachi HTS543232L9A300, 320.07 GB
Serial ATA Device: HL-DT-ST DVDRW  GS21N
USB Device: Built-in iSight, apple_vendor_id, 0x8507, 0x24400000 / 2
USB Device: BRCM2046 Hub, 0x0a5c  (Broadcom Corp.), 0x4500, 0x06100000 / 2
USB Device: Bluetooth USB Host Controller, apple_vendor_id, 0x8213, 0x06110000 / 3
USB Device: Apple Internal Keyboard / Trackpad, apple_vendor_id, 0x0236, 0x04600000 / 3
USB Device: IR Receiver, apple_vendor_id, 0x8242, 0x04500000 / 2&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-3873394499959272452?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/3873394499959272452/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=3873394499959272452' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/3873394499959272452'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/3873394499959272452'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2011/07/osx-lionxcode41.html' title='OSX LionのXcodeを4.1にアップグレードしようとしてはまる'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-8259473544561778565</id><published>2011-07-22T00:37:00.000+09:00</published><updated>2011-07-22T00:37:38.430+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Haskell'/><title type='text'>Haskellのdataとtypeとnewtypeの違い</title><content type='html'>&lt;a href="http://book.realworldhaskell.org/read/using-typeclasses.html"&gt;Chapter 6. Using Typeclasses&lt;/a&gt;でdataとtypeとnewtypeの違いを読んで整理してみる。&lt;br /&gt;
&lt;br /&gt;
参考：&lt;a href="http://www.haskell.org/haskellwiki/Newtype"&gt;Newtype - HaskellWiki&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://www.haskell.org/onlinereport/decls.html#sect4.2.3"&gt;The Haskell 98 Report: Declarations&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;table border="1"&gt;  &lt;tr&gt;
    &lt;th&gt;&amp;nbsp;&lt;/th&gt;
    &lt;th&gt;data&lt;/th&gt;
    &lt;th&gt;type&lt;/th&gt;
    &lt;th&gt;newtype&lt;/th&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;th&gt;一言で言うと&lt;/th&gt;
    &lt;td&gt;新規型定義&lt;/td&gt;
    &lt;td&gt;シノニム&lt;/td&gt;
    &lt;td&gt;独立型定義&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;th&gt;既存型との区別&lt;/th&gt;
    &lt;td&gt;-&lt;/td&gt;
    &lt;td&gt;区別されない(混在可)&lt;/td&gt;
    &lt;td&gt;区別される(混在不可)&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;th&gt;データコンストラクタ数&lt;/th&gt;
    &lt;td&gt;1以上&lt;/td&gt;
    &lt;td&gt;-&lt;/td&gt;
    &lt;td&gt;1&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;th&gt;フィールド数&lt;/th&gt;
    &lt;td&gt;0以上&lt;/td&gt;
    &lt;td&gt;-&lt;/td&gt;
    &lt;td&gt;1&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;まだ理解が浅いのでこの表はたぶん中途半端。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-8259473544561778565?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/8259473544561778565/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=8259473544561778565' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/8259473544561778565'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/8259473544561778565'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2011/07/haskelldatatypenewtype.html' title='Haskellのdataとtypeとnewtypeの違い'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-7715541714273545073</id><published>2011-07-20T00:20:00.000+09:00</published><updated>2011-07-20T00:20:41.959+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='haskcell'/><title type='text'>GHCのCharの定義を調べてみた</title><content type='html'>ghc-7.0.3-src.tar.bz2のincludeでCharを検索してみた。&lt;br /&gt;
&lt;pre&gt;$ grep -r Char includes
includes/RtsAPI.h:HaskellObj   rts_mkChar       ( Capability *, HsChar   c );
includes/RtsAPI.h:HsChar       rts_getChar      ( HaskellObj );
includes/Stg.h:typedef StgChar  C_;
includes/rts/storage/Closures.h:} StgIntCharlikeClosure;
includes/HsFFI.h:typedef StgChar   HsChar;
includes/HsFFI.h:/* this should correspond to the type of StgChar in StgTypes.h */
includes/stg/Types.h: StgChar, StgFloat, StgDouble
includes/stg/Types.h:typedef StgWord32          StgChar;
Binary file includes/stg/.Types.h.swp matches
includes/stg/Regs.h:    StgChar        c;
includes/stg/MiscClosures.h:extern DLL_IMPORT_RTS StgIntCharlikeClosure stg_CHARLIKE_closure[];
includes/stg/MiscClosures.h:extern DLL_IMPORT_RTS StgIntCharlikeClosure stg_INTLIKE_closure[];&lt;/pre&gt;&lt;br /&gt;
&lt;p&gt;StgWord32の定義はstg/Types.hにありました。&lt;/p&gt;&lt;pre&gt;#if SIZEOF_LONG == 4
typedef signed   long            StgInt32;
typedef unsigned long            StgWord32;
#elif SIZEOF_INT == 4
typedef signed   int             StgInt32;
typedef unsigned int             StgWord32;
#else
#error GHC untested on this architecture: sizeof(int) != 4
#endif&lt;/pre&gt;&lt;br /&gt;
というわけでGHCのCharは32bitです。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-7715541714273545073?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/7715541714273545073/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=7715541714273545073' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/7715541714273545073'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/7715541714273545073'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2011/07/ghcchar.html' title='GHCのCharの定義を調べてみた'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-5134653807620011768</id><published>2011-07-19T23:40:00.000+09:00</published><updated>2011-07-19T23:40:47.663+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Haskell'/><title type='text'>GHCでサロゲートペアが使えるか試してみた</title><content type='html'>&lt;a href="http://www.haskell.org/onlinereport/haskell2010/haskellch2.html#x7-200002.6"&gt;2 Lexical Structure&lt;/a&gt;や&lt;a href="http://www.haskell.org/onlinereport/haskell2010/haskellch6.html#x13-1170006.1"&gt;6 Predefined Types and Classes&lt;/a&gt;ではCharはUnicodeの文字を表すことはわかるがサロゲートペアについては言及無し。&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://hackage.haskell.org/packages/archive/base/latest/doc/html/Data-Char.html#v:Surrogate"&gt;Data.Char&lt;/a&gt;のGeneralCategoryにSurrogateという文字があることに気付いて対応しているのかなと思い、実験してみた。環境はScientific Linux 6.0+GHC7.0.3。&lt;/p&gt;&lt;pre&gt;import Data.Char (GeneralCategory(..), generalCategory)

main = do
    let c = '\x20213'
    putChar c
    putStrLn $ show c
    putStrLn $ show $ generalCategory c
    putStrLn $ if generalCategory c == OtherLetter then "yes" else "no"
    putStrLn $ if generalCategory c == Surrogate then "yes" else "no"&lt;/pre&gt;&lt;br /&gt;
&lt;p&gt;Mac OS X 10.6.8のターミナルからリモートログインして実行したときの結果。ターミナルではCourierフォントを使っていましたが文字化けせずに表示されました。&lt;/p&gt;&lt;pre&gt;*Main&gt; main
𠈓'\131603'
OtherLetter
yes
no&lt;/pre&gt;&lt;p&gt;予想外だったのはgeneralCategoryの結果がSurrogateではなくOtherLetterだったこと。調べてみるとこれは単に私がUnicodeをよく知らないだけでした(以下の調査結果参照)。&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;ghc-7.0.3-src.tar.bz2のlibraries/Base/Data/Char.hsを見てみたところ、以下のような定義になっていた。&lt;/p&gt;&lt;pre&gt;-- | The Unicode general category of the character.
generalCategory :: Char -&gt; GeneralCategory
#if defined(__GLASGOW_HASKELL__) || defined(__NHC__)
generalCategory c = toEnum $ fromIntegral $ wgencat $ fromIntegral $ ord c
#endif
#ifdef __HUGS__
generalCategory c = toEnum (primUniGenCat c)
#endif&lt;/pre&gt;wgencatは79行目に定義されていました。&lt;br /&gt;
&lt;pre&gt;#ifdef __NHC__
import Prelude
import Prelude(Char,String)
import Char
import Ix
import NHC.FFI (CInt)
foreign import ccall unsafe "WCsubst.h u_gencat" wgencat :: CInt -&gt; CInt
#endif&lt;/pre&gt;&lt;p&gt;u_gencatはbase/cbits/WCsubst.cで定義されていました。&lt;/p&gt;&lt;pre&gt;int u_gencat(int c)
{
    return getrule(allchars,NUM_BLOCKS,c)-&gt;catnumber;
}&lt;/pre&gt;&lt;br /&gt;
&lt;p&gt;getruleの定義はこちら。どうやらallcharsという配列をバイナリサーチで探すようだ。&lt;/p&gt;&lt;pre&gt;static const struct _convrule_ *getrule(
    const struct _charblock_ *blocks,
    int numblocks,
    int unichar)
{
    struct _charblock_ key={unichar,1,(void *)0};
    struct _charblock_ *cb=bsearch(&amp;key,blocks,numblocks,sizeof(key),blkcmp);
    if(cb==(void *)0) return &amp;nullrule;
    return cb-&gt;rule;
}&lt;/pre&gt;&lt;br /&gt;
&lt;p&gt;目で探してみるとこちら。&lt;/p&gt;&lt;pre&gt;    {131072, 42711, &amp;rule45},
    {194560, 542, &amp;rule45},&lt;/pre&gt;&lt;br /&gt;
&lt;p&gt;rule45を見てみるとLO、つまりOtherLetterです。&lt;/p&gt;&lt;pre&gt;static const struct _convrule_ rule45={GENCAT_LO, NUMCAT_LO, 0, 0, 0, 0};&lt;/pre&gt;&lt;br /&gt;
&lt;p&gt;一方、Surrogateを探すとこちらにありました。&lt;/p&gt;&lt;pre&gt;static const struct _convrule_ rule157={GENCAT_CS, NUMCAT_CS, 0, 0, 0, 0};&lt;/pre&gt;&lt;br /&gt;
&lt;p&gt;使っている箇所は以下の3箇所でした。&lt;/p&gt;&lt;pre&gt;    {55296, 896, &amp;rule157},
    {56192, 128, &amp;rule157},
    {56320, 1024, &amp;rule157},
    {57344, 6400, &amp;rule158},&lt;/pre&gt;&lt;br /&gt;
&lt;p&gt;http://www.unicode.org/Public/zipped/6.0.0/UCD.zipのUnicodeData.txtを見て謎が解決しました。General CategoryがCs (Surrogate)なのはサロゲートペアの片割れのコードということのようです。&lt;/p&gt;&lt;pre&gt;…(略)…
D800;&lt;Non Private Use High Surrogate, First&gt;;Cs;0;L;;;;;N;;;;;
DB7F;&lt;Non Private Use High Surrogate, Last&gt;;Cs;0;L;;;;;N;;;;;
DB80;&lt;Private Use High Surrogate, First&gt;;Cs;0;L;;;;;N;;;;;
DBFF;&lt;Private Use High Surrogate, Last&gt;;Cs;0;L;;;;;N;;;;;
DC00;&lt;Low Surrogate, First&gt;;Cs;0;L;;;;;N;;;;;
DFFF;&lt;Low Surrogate, Last&gt;;Cs;0;L;;;;;N;;;;;
…(略)…
20000;&lt;CJK Ideograph Extension B, First&gt;;Lo;0;L;;;;;N;;;;;
2A6D6;&lt;CJK Ideograph Extension B, Last&gt;;Lo;0;L;;;;;N;;;;;
…(略)…&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-5134653807620011768?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/5134653807620011768/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=5134653807620011768' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/5134653807620011768'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/5134653807620011768'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2011/07/ghc.html' title='GHCでサロゲートペアが使えるか試してみた'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-3720887526734696663</id><published>2011-07-19T01:18:00.001+09:00</published><updated>2011-07-19T01:20:10.896+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Haskell'/><title type='text'>HaskellのData.Timeを使ってみた</title><content type='html'>&lt;a href="http://hackage.haskell.org/packages/archive/old-time/latest/doc/html/System-Time.html#t:ClockTime"&gt;System.Time&lt;/a&gt;は廃止予定で&lt;a href="http://hackage.haskell.org/packages/archive/time/latest/doc/html/Data-Time.html"&gt;Data.Time&lt;/a&gt;を使えとのこと。&lt;br /&gt;
&lt;br /&gt;
timeパッケージをインストール。&lt;br /&gt;
&lt;pre&gt;$ cabal install time&lt;/pre&gt;&lt;br /&gt;
現在日時の取得と各種型変換とフォーマットのサンプル。ドキュメント見ながら試行錯誤でだらだら書いてみただけなので、もっと良いやり方と綺麗な書き方があると思いますが、とりあえずメモということで。&lt;br /&gt;
&lt;pre&gt;import Data.Time
import System.Locale

main = do
    t &lt;- getCurrentTime
    putStrLn $ "day=" ++ (show $ toGregorian $ utctDay t)
    putStrLn $ "time=" ++ (show $ utctDayTime t)
    tz &lt;- getTimeZone t
    putStrLn $ "timezone=" ++ show tz
    lzt &lt;- utcToLocalZonedTime t
    let lt = zonedTimeToLocalTime lzt
        ltod = localTimeOfDay lt
    putStrLn $ "localTimeOfDay=" ++ show ltod
    putStrLn $ "localTimeOfDay hour=" ++ (show $ todHour ltod)
    putStrLn $ "localTimeOfDay min=" ++ (show $ todMin ltod)
    putStrLn $ "localTimeOfDay sec=" ++ (show $ todSec ltod)
    let fmt = iso8601DateFormat $ Just "%T"
    putStrLn $ "formattedUTCTime=" ++ (formatTime defaultTimeLocale fmt t)
    putStrLn $ "formattedLocalTime=" ++ (formatTime defaultTimeLocale fmt lzt)&lt;/pre&gt;
実行結果
&lt;pre&gt;day=(2011,7,18)
time=58373.107045s
timezone=JST
localTimeOfDay=01:12:53.107045
localTimeOfDay hour=1
localTimeOfDay min=12
localTimeOfDay sec=53.107045000000
formattedUTCTime=2011-07-18T16:12:53
formattedLocalTime=2011-07-19T01:12:53&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-3720887526734696663?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/3720887526734696663/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=3720887526734696663' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/3720887526734696663'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/3720887526734696663'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2011/07/haskelldatatime.html' title='HaskellのData.Timeを使ってみた'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-1424006280626306872</id><published>2011-07-18T18:55:00.002+09:00</published><updated>2011-07-19T01:21:24.407+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Haskell'/><title type='text'>GHCでtext-icuパッケージを使ってみた</title><content type='html'>&lt;a href="http://hackage.haskell.org/package/text-icu"&gt;HackageDB: text-icu-0.6.3.4&lt;/a&gt;&lt;br /&gt;
試した環境は、Scientific Linux 6.0、GHC 7.0.3。&lt;br /&gt;
&lt;br /&gt;
インストール&lt;br /&gt;
&lt;pre&gt;$ sudo yum install libicu-devel
$ cabal install text-icu&lt;/pre&gt;&lt;br /&gt;
SJISのファイルを読み込んでUTF-8に変換して表示するサンプル。&lt;br /&gt;
&lt;pre&gt;import Data.Text.ICU.Convert as C
import Data.ByteString as B

main = do
    str &lt;- B.readFile "hello_sjis.txt"
    cp932 &lt;- C.open "cp932" (Just False)
    utf8 &lt;- C.open "utf8" (Just False)
    B.putStr (C.fromUnicode utf8 (C.toUnicode cp932 str))&lt;/pre&gt;
toUnicodeの戻り値の型はData.TextではなくData.Text.Internal.Textです。で、表示の仕方がよくわからないので、UTF8のByteStringに変換して出力することにしました。

&lt;p&gt;サンプルデータファイルhello_sjis.txt
&lt;pre&gt;こんにちは①です&lt;/pre&gt;で試したところ丸付き数字もちゃんと表示されました。&lt;/p&gt;&lt;p&gt;なお、Data.Text.ICU.Convert.converterNamesを実行してみるとcp932は含まれていないのですが、
&lt;a href="http://demo.icu-project.org/icu-bin/convexp"&gt;ICU Demonstration - Converter Explorer&lt;/a&gt;を見ると、ibm-923_P100-1998とibm-942_P12A-1999のエイリアスになっています。Data.Text.ICU.Convert.aliasesで確認できます。&lt;/p&gt;&lt;pre&gt;Prelude Data.Text.ICU.Convert&gt; Data.Text.ICU.Convert.aliases "cp932"
Loading package bytestring-0.9.1.10 ... linking ... done.
Loading package array-0.3.0.2 ... linking ... done.
Loading package containers-0.4.0.0 ... linking ... done.
Loading package deepseq-1.1.0.2 ... linking ... done.
Loading package text-0.11.0.6 ... linking ... done.
Loading package text-icu-0.6.3.4 ... linking ... done.
["ibm-943_P15A-2003","ibm-943","Shift_JIS","MS_Kanji","csShiftJIS","windows-31j","csWindows31J","x-sjis","x-ms-cp932","cp932","windows-932","cp943c","IBM-943C","ms932","pck","sjis","ibm-943_VSUB_VPUA"]
Prelude Data.Text.ICU.Convert&gt; aliases "ibm-943_P15A-2003"
["ibm-943_P15A-2003","ibm-943","Shift_JIS","MS_Kanji","csShiftJIS","windows-31j","csWindows31J","x-sjis","x-ms-cp932","cp932","windows-932","cp943c","IBM-943C","ms932","pck","sjis","ibm-943_VSUB_VPUA"]
Prelude Data.Text.ICU.Convert&gt; aliases "ibm-942_P12A-1999"
["ibm-942_P12A-1999","ibm-942","ibm-932","cp932","shift_jis78","sjis78","ibm-942_VSUB_VPUA","ibm-932_VSUB_VPUA"]&lt;/pre&gt;&lt;p&gt;それとtext-icuはCのライブラリを呼び出しているので、あまり大きな文字列を渡すのは避けた方が良いです。上のコードはサンプルなのでファイル全体にしていますが、サイズが大きいファイルのときは行単位にしたほうがよいと思います。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-1424006280626306872?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/1424006280626306872/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=1424006280626306872' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/1424006280626306872'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/1424006280626306872'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2011/07/ghctext-icu.html' title='GHCでtext-icuパッケージを使ってみた'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-1106636864196997597</id><published>2011-07-16T10:11:00.000+09:00</published><updated>2011-07-16T10:11:21.338+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim'/><title type='text'>vimでNerd Commenterを使う</title><content type='html'>&lt;a href="http://www.vim.org/scripts/script.php?script_id=1218"&gt;The NERD Commenter - A plugin that allows for easy commenting of code for many filetypes. : vim online&lt;/a&gt;からダウンロードしてインストール。&lt;br /&gt;
&lt;br /&gt;
.vimrcに下記の行を追加。&lt;br /&gt;
&lt;pre&gt;filetype plugin on&lt;/pre&gt;&lt;br /&gt;
コメントアウト：ビジュアルモードで選択しておいて\cm&lt;br /&gt;
アンコメント：ビジュアルモードで選択しておいて\cu&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-1106636864196997597?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/1106636864196997597/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=1106636864196997597' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/1106636864196997597'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/1106636864196997597'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2011/07/vimnerd-commenter.html' title='vimでNerd Commenterを使う'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-4970085626789400276</id><published>2011-07-02T08:58:00.001+09:00</published><updated>2011-07-02T11:50:12.673+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Haskell'/><title type='text'>Haskellで行番号付きcatのサンプル</title><content type='html'>&lt;a href="http://www.amazon.co.jp/%E3%81%B5%E3%81%A4%E3%81%86%E3%81%AEHaskell%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0-%E3%81%B5%E3%81%A4%E3%81%86%E3%81%AE%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9E%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AE%E9%96%A2%E6%95%B0%E5%9E%8B%E8%A8%80%E8%AA%9E%E5%85%A5%E9%96%80-%E9%9D%92%E6%9C%A8-%E5%B3%B0%E9%83%8E/dp/4797336021/ref=sr_1_1?ie=UTF8&amp;qid=1309564546&amp;sr=8-1"&gt;Amazon.co.jp： ふつうのHaskellプログラミング ふつうのプログラマのための関数型言語入門: 青木 峰郎, 山下 伸夫: 本&lt;/a&gt;のコードを少しだけ改良。行番号の桁数を6桁固定ではなく計算で求めるようにしてみました。&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;main = do cs &amp;lt;- getContents
          putStr $ numbering cs
  where
    numbering :: String -&gt; String
    numbering cs = unlines $
        map (format $ nwidth $ length $ lines cs) (zipLineNumber $ lines cs)

    zipLineNumber :: [String] -&gt; [(Int, String)]
    zipLineNumber xs = zip [1..] xs

    nwidth :: Int -&gt; Int
    nwidth len = ceiling $ logBase 10 $ fromIntegral $ len + 1

    format :: Int -&gt; (Int, String) -&gt; String
    format width (n, line) = rjust width (show n) ++ "  " ++ line

    rjust :: Int -&gt; String -&gt; String
    rjust width s = replicate (width - length s) ' ' ++ s
&lt;/pre&gt;&lt;br /&gt;
ポイントフリースタイルにして、さらにdoを(&gt;&gt;=)で書き換えた版です。numberingのシグネチャも変えました。&lt;br /&gt;
&lt;pre&gt;main = getContents &gt;&gt;= putStr . unlines . numbering . lines
  where
    numbering :: [String] -&gt; [String]
    numbering ls = map (format $ nwidth $ length ls) (zipLineNumber ls)

    zipLineNumber :: [String] -&gt; [(Int, String)]
    zipLineNumber = zip [1..]

    nwidth :: Int -&gt; Int
    nwidth = ceiling . logBase 10 . fromIntegral . (1 +)

    format :: Int -&gt; (Int, String) -&gt; String
    format width (n, line) = rjust width (show n) ++ "  " ++ line

    rjust :: Int -&gt; String -&gt; String
    rjust width s = replicate (width - length s) ' ' ++ s&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-4970085626789400276?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/4970085626789400276/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=4970085626789400276' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/4970085626789400276'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/4970085626789400276'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2011/07/haskellcat.html' title='Haskellで行番号付きcatのサンプル'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-4095519338531425039</id><published>2011-06-28T01:33:00.000+09:00</published><updated>2011-06-28T01:33:55.363+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='csv'/><category scheme='http://www.blogger.com/atom/ns#' term='sastruts'/><title type='text'>SAStrutsでCSVダウンロードのサンプル</title><content type='html'>&lt;a href="https://github.com/hnakamur/sastruts-csvdownload-ex1"&gt;hnakamur/sastruts-csvdownload-ex1 at master - GitHub&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
クエリ結果の件数が多いときに備えて、結果をリストに持つのではなくorg.seasar.extension.jdbc.Select#iterateで1件ずつコールバックして出力するようにしています。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-4095519338531425039?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/4095519338531425039/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=4095519338531425039' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/4095519338531425039'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/4095519338531425039'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2011/06/sastrutscsv.html' title='SAStrutsでCSVダウンロードのサンプル'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-526512590435504008</id><published>2011-06-28T01:23:00.000+09:00</published><updated>2011-06-28T01:23:43.465+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sastruts'/><category scheme='http://www.blogger.com/atom/ns#' term='json'/><title type='text'>SAStrutsでJSONをレスポンスに書き出すサンプル</title><content type='html'>SAStrutsでJSONをレスポンスに書き出すサンプルを作ってみました。&lt;a href="http://jsonic.sourceforge.jp/"&gt;JSONIC - simple json encoder/decoder for java&lt;/a&gt;を利用しています。&lt;br /&gt;
&lt;br /&gt;
アクションからの呼び出し例&lt;br /&gt;
&lt;pre&gt;    @Execute(validator = false)
    public String hello() {
        Map&amp;lt;String, Object&gt; json = new HashMap&amp;lt;String, Object&gt;();
        json.put("author", "Goldratt &amp; Fox");
        json.put("title", "The Race");
        JSONResponseUtil.writeJSON(json);
        return null;
    }&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
ユーティリティの実装&lt;br /&gt;
&lt;pre&gt;package net.naruh.sastruts.util;

import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.Writer;

import javax.servlet.http.HttpServletResponse;

import net.arnx.jsonic.JSON;

import org.seasar.framework.exception.IORuntimeException;
import org.seasar.struts.util.RequestUtil;
import org.seasar.struts.util.ResponseUtil;

/**
 * JSONをレスポンスに書き出すためのユーティリティクラスです。
 * @author hnakamur
 */
public final class JSONResponseUtil {
    /** JSONのエンコーディング */
    public static final String JSON_ENCODING = "UTF-8";

    /** JSONのコンテントタイプ */
    public static final String JSON_CONTENT_TYPE = "application/json";

    /**
     * JSONをレスポンスに書き出します。
     * @param source 書き出すオブジェクト
     * @param prettyPrint 出力を整形するか
     */
    public static void writeJSON(Object source) {
        writeJSON(source, false, JSON_CONTENT_TYPE, null);
    }

    /**
     * JSONをレスポンスに書き出します。
     * @param source 書き出すオブジェクト
     * @param prettyPrint 出力を整形するか
     */
    public static void writeJSON(Object source, boolean prettyPrint) {
        writeJSON(source, prettyPrint, JSON_CONTENT_TYPE, null);
    }

    /**
     * JSONをレスポンスに書き出します。
     * @param source 書き出すオブジェクト
     * @param prettyPrint 出力を整形するか
     * @param contentType コンテントタイプ
     */
    public static void writeJSON(Object source, boolean prettyPrint, String contentType) {
        writeJSON(source, prettyPrint, contentType, null);
    }

    /**
     * JSONをレスポンスに書き出します。
     * @param source
     *            書き出すオブジェクト
     * @param prettyPrint
     *            出力を整形するか
     * @param contentType
     *            コンテントタイプ。 デフォルトはapplication/context。
     * @param encoding
     *            エンコーディング。 指定しなかった場合は、リクエストのcharsetEncodingが設定される。
     *            リクエストのcharsetEncodingも指定がない場合は、UTF-8。
     */
    public static void writeJSON(Object source, boolean prettyPrint, String contentType, String encoding) {
        if (contentType == null) {
            contentType = JSON_CONTENT_TYPE;
        }
        if (encoding == null) {
            encoding = RequestUtil.getRequest().getCharacterEncoding();
            if (encoding == null) {
                encoding = JSON_ENCODING;
            }
        }
        HttpServletResponse response = ResponseUtil.getResponse();
        response.setContentType(contentType + "; charset=" + encoding);
        try {
            Writer out = new OutputStreamWriter(response
                    .getOutputStream(), encoding);
            try {
                JSON.encode(source, out, prettyPrint);
            } finally {
                out.close();
            }
        } catch (IOException e) {
            throw new IORuntimeException(e);
        }
    }
}&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-526512590435504008?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/526512590435504008/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=526512590435504008' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/526512590435504008'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/526512590435504008'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2011/06/sastrutsjson.html' title='SAStrutsでJSONをレスポンスに書き出すサンプル'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-7614209643158453818</id><published>2011-06-25T11:28:00.000+09:00</published><updated>2011-06-25T11:28:08.518+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='eclipse'/><title type='text'>Eclipse IndigoでjarのUTF-8のソースコード文字化け対策パッチ適用</title><content type='html'>Eclipse Indigoをプロジェクトで参照しているjarのソースファイルがUTF-8だと、プロジェクトのエンコーディング設定(ResourceのText file encoding)がUTF-8になっていても文字化けしてしまいます。Heliosでは大丈夫でした。&lt;br /&gt;
&lt;br /&gt;
ググってみると先人が対応してくれてました。感謝しつつ適用。&lt;br /&gt;
&lt;a href="http://de.sourceforge.jp/projects/pdt-tools/releases/52414"&gt;Release Details: WTP 3.3.0(Indigo)用 Feature Patch (Feature Patch) - Tools for PDT (PHP Development Tools) - SourceForge.JP&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-7614209643158453818?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/7614209643158453818/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=7614209643158453818' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/7614209643158453818'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/7614209643158453818'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2011/06/eclipse-indigojarutf-8.html' title='Eclipse IndigoでjarのUTF-8のソースコード文字化け対策パッチ適用'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-2711754825640174327</id><published>2011-06-25T11:13:00.000+09:00</published><updated>2011-06-25T11:13:26.821+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='eclipse'/><title type='text'>eclipseのエディタでの空白とタブの表示設定</title><content type='html'>[Windows]/[Preferences]メニュー&lt;br /&gt;
左のツリー[General]/[Editors]/[Text Editors]&lt;br /&gt;
右の[Show whitespace characters]のチェックをオン&lt;br /&gt;
[whitespace characters]のリンクをクリック&lt;br /&gt;
SpacesはTrailingのみチェック、Tabはすべてチェック&lt;br /&gt;
これでインデントにタブが入っていたり、行末に余分な空白が入っていたら気付きます。&lt;br /&gt;
&lt;br /&gt;
と、この設定にしていたらJavaのエディタで行選択してTABキーを押してインデントしたときに&lt;br /&gt;
空白ではなくTABでインデントすることに気付きました。&lt;br /&gt;
[General]/[Editors]/[Text Editors]の[Insert spaces for tabs]はチェックをオンにしていますがそうなります。&lt;br /&gt;
Javaのフォーマッタの設定を変えることで解決しました。&lt;br /&gt;
&lt;br /&gt;
[Java]/[Code Style]/[Formatter]で[Edit]ボタンを押して[Indentation]タブの[Tab policy]を[Spaces only]にして[Profile name]に何か名前を付けて[OK]を押します。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-2711754825640174327?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/2711754825640174327/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=2711754825640174327' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/2711754825640174327'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/2711754825640174327'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2011/06/eclipse.html' title='eclipseのエディタでの空白とタブの表示設定'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-2811495456811527864</id><published>2011-06-25T09:50:00.000+09:00</published><updated>2011-06-25T09:50:17.602+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='jsonic'/><category scheme='http://www.blogger.com/atom/ns#' term='maven'/><title type='text'>jsonic 1.2.5をMavenローカルレポジトリにインストール</title><content type='html'>1.2.0ならseasarのMaven2.0レポジトリにありますが、&lt;br /&gt;
http://maven.seasar.org/maven2/net/arnx/jsonic/jsonic/1.2.0/&lt;br /&gt;
1.2.5はないのでローカルにインストール。&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;mvn install:install-file ^
-Dfile=jsonic-1.2.5.jar ^
-Dsources=jsonic-1.2.5-sources.jar ^
-DgroupId=net.arnx.jsonic ^
-DartifactId=jsonic ^
-Dversion=1.2.5 ^
-Dpackaging=jar ^
-Dclassifier=sources ^
-DgeneratePom=true ^
-DcreateChecksum=true&lt;/pre&gt;(^はバッチファイルで継続行にするための記号です)&lt;br /&gt;
&lt;br /&gt;
参考：http://maven.apache.org/plugins/maven-install-plugin/usage.html&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-2811495456811527864?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/2811495456811527864/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=2811495456811527864' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/2811495456811527864'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/2811495456811527864'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2011/06/jsonic-125maven.html' title='jsonic 1.2.5をMavenローカルレポジトリにインストール'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-4531948092771214320</id><published>2011-06-19T16:08:00.000+09:00</published><updated>2011-06-19T16:08:25.844+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows 7'/><category scheme='http://www.blogger.com/atom/ns#' term='font'/><title type='text'>Windows 7でgdippを試す</title><content type='html'>&lt;a href="http://code.google.com/p/gdipp/"&gt;gdipp - Customizable Windows text renderers - Google Project Hosting&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://www.forest.impress.co.jp/docs/review/20100517_367633.html"&gt;窓の杜 - 【REVIEW】インストールするだけであらゆるソフトのテキストを美しく滑らかに描画「gdipp」&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
eclipseでVLゴシックフォントを使うようにしたら日本語がガタガタだったのでgdippを試してみました。安定版のgdipp_x64_0.7.6.msiをダウロードしてインストールするだけ。起動済みのアプリケーションは一度終了して上げなおします。&lt;br /&gt;
美しい表示になり大満足です。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-4531948092771214320?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/4531948092771214320/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=4531948092771214320' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/4531948092771214320'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/4531948092771214320'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2011/06/windows-7gdipp.html' title='Windows 7でgdippを試す'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-620873586688459820</id><published>2011-06-19T12:29:00.000+09:00</published><updated>2011-06-19T12:29:34.504+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='font'/><title type='text'>eclipseでVLゴシックフォントを使う</title><content type='html'>スペースでインデントしていると等幅フォントのほうがみやすい、大文字のアイIと小文字のエルlや大文字のオーOと数字のゼロ0の見た目がはっきり違うほうがうれしいということで、&lt;a href="http://sourceforge.jp/projects/vlgothic/"&gt;VLゴシックフォント&lt;/a&gt;を使うことにしました。&lt;br /&gt;
&lt;br /&gt;
eclipseの設定は以下のとおりです。&lt;br /&gt;
[Windows]/[Preferences]メニュー&lt;br /&gt;
→左のツリーで[General]/[Appearance]/[Colors and Fonts]&lt;br /&gt;
→右のツリーで[Basic]/[Text Font]を選んで[Edit...]ボタン&lt;br /&gt;
→フォントを選択して[OK]ボタン&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-620873586688459820?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/620873586688459820/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=620873586688459820' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/620873586688459820'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/620873586688459820'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2011/06/eclipsevl.html' title='eclipseでVLゴシックフォントを使う'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-4862053187296222979</id><published>2011-06-19T12:23:00.000+09:00</published><updated>2011-06-19T12:23:05.913+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows 7'/><category scheme='http://www.blogger.com/atom/ns#' term='font'/><title type='text'>Windows 7でフォント追加・削除</title><content type='html'>ググってみたところいくつか方法はあるようですが、使いやすそうなのをメモ。&lt;br /&gt;
&lt;br /&gt;
Windows 7でフォント追加&lt;br /&gt;
エクスプローラでフォントファイルを選んでポップアップメニューの[インストール]。&lt;br /&gt;
ポップアップメニューに[プレビュー]もあり、これがデフォルトメニューなのでダブルクリックでプレビューして[インストール]ボタンでもよいです。&lt;br /&gt;
&lt;br /&gt;
Windows 7でフォント削除&lt;br /&gt;
コントロールパネルの[デスクトップのカスタマイズ]→[フォントのプレビュー、削除、表示または非表示]で対象のフォントを選び、ツールバーまたはポップアップメニューの[削除]ボタン。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-4862053187296222979?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/4862053187296222979/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=4862053187296222979' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/4862053187296222979'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/4862053187296222979'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2011/06/windows-7.html' title='Windows 7でフォント追加・削除'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-3027885340702700739</id><published>2011-06-19T12:05:00.000+09:00</published><updated>2011-06-19T12:05:05.713+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='eclipse'/><title type='text'>native2ascii不要のプロパティエディタ</title><content type='html'>ホームページ：&lt;a href="http://propedit.sourceforge.jp/"&gt;プロパティエディタ&lt;/a&gt;&lt;br /&gt;
eclipse更新サイト：&lt;a href="http://propedit.sourceforge.jp/eclipse/updates/"&gt;http://propedit.sourceforge.jp/eclipse/updates/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-3027885340702700739?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/3027885340702700739/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=3027885340702700739' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/3027885340702700739'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/3027885340702700739'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2011/06/native2ascii.html' title='native2ascii不要のプロパティエディタ'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-5367446176460256126</id><published>2011-06-19T09:50:00.002+09:00</published><updated>2011-06-19T17:09:56.199+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='tomcat'/><title type='text'>Sysdeo TomcatプラグインよりWTPのほうがよいです</title><content type='html'>&lt;a href="http://hnakamur.blogspot.com/2011/06/m2eclipsetomcat.html"&gt;hnakamur’s blog: m2eclipseとTomcatプラグインの連携設定&lt;/a&gt;ではSysdeo Tomcatプラグインを使った方法を書きましたが、WTP (Web Toolkit Platform)のほうが簡単ということがわかりました。&lt;br /&gt;
&lt;br /&gt;
eclipseのJavaEE版ならWTPが含まれています。&lt;br /&gt;
&lt;br /&gt;
使い方&lt;br /&gt;
あらかじめTomcatをインストールしておきます。&lt;br /&gt;
&lt;br /&gt;
Tomcatサーバの登録&lt;br /&gt;
Eclipseの[Servers]ビューで右クリックしてポップアップメニューを開き[New]/[Server]メニューを選ぶ。&lt;br /&gt;
ツリーでTomcatのバージョンを選んでTomcatのインストールディレクトリを選択（ここの手順はうろ覚え）&lt;br /&gt;
&lt;br /&gt;
ウェブアプリの登録&lt;br /&gt;
Eclipseの[Servers]ビューのサーバーの行を右クリックしてポップアップメニューを開き[Add and Remove...]メニューを選ぶ。&lt;br /&gt;
ウェブアプリのプロジェクトを選んで追加する。&lt;br /&gt;
&lt;br /&gt;
あとはstartで起動すればよいだけです。試してみた感じではTomcatのインストールディレクトリ内の設定ファイルが書き換えられたりはしないようです。&lt;br /&gt;
&lt;br /&gt;
追記&lt;br /&gt;
WTPだからというのは無関係でSAStrutsのDoltengで作成したプロジェクトではsrc/main/webapp/WEB-INF/のlib/にライブラリが置いてあり、classes/以下にコンパイルしたクラスを置くように設定されているというのが本質でした。&lt;br /&gt;
&lt;br /&gt;
試しにpom.xmlの依存関係を変更してmvn war:inplaceを実行すればsrc/main/webapp/WEB-INF/lib/以下が更新されました。なので、これも含めてSubversionなどソース管理システムに登録してしまうのが簡単そうです。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-5367446176460256126?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/5367446176460256126/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=5367446176460256126' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/5367446176460256126'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/5367446176460256126'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2011/06/sysdeo-tomcatwtp.html' title='Sysdeo TomcatプラグインよりWTPのほうがよいです'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-3298268359929216133</id><published>2011-06-19T09:36:00.000+09:00</published><updated>2011-06-19T09:36:57.120+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows 7'/><title type='text'>Windows 7でスタートアップやSendToフォルダをエクスプローラで開く</title><content type='html'>Windows 7でスタートアップやSendToフォルダをエクスプローラで開くには以下の手順が使えます。&lt;br /&gt;
スタートアップ：Windows+Rを押して「shell:startup」と入力。&lt;br /&gt;
SendTo：Windows+Rを押して「shell:sendto」と入力。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-3298268359929216133?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/3298268359929216133/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=3298268359929216133' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/3298268359929216133'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/3298268359929216133'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2011/06/windows-7sendto.html' title='Windows 7でスタートアップやSendToフォルダをエクスプローラで開く'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-4242211430720664776</id><published>2011-06-11T16:06:00.000+09:00</published><updated>2011-06-11T16:06:11.636+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mybatis'/><category scheme='http://www.blogger.com/atom/ns#' term='spring3'/><title type='text'>Spring 3のHello WorldアプリにMyBatisを組み込み</title><content type='html'>組み込んだ結果はこちら。&lt;a href="https://github.com/hnakamur/spring3-example1/tree/fa38bdcaeb7502d4f105746cc1d0bc6875a7d021"&gt;hnakamur/spring3-example1 at fa38bdcaeb7502d4f105746cc1d0bc6875a7d021 - GitHub&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
参考：&lt;a href="http://jaykhimani.blogspot.com/2010/11/using-mybatis-3-with-spring-3-using.html"&gt;This blog is all about me doing nothing serious :): Using MyBatis 3 with Spring 3 Using Mapper XML Files&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
上記のサイトではorg.mybatis.spring.SqlSessionTemplateのコンストラクタが引数なしでセッターでインジェクションしていますが、&lt;a href="http://code.google.com/p/mybatis/wiki/Spring"&gt;Spring - mybatis - An introduction to MyBatis integration with Spring - SQL Mapping Framework for Java - Google Project Hosting&lt;/a&gt;のバージョン1.0.1ではコンストラクタに引数が必要になっていたので変更してあります。&lt;br /&gt;
&lt;br /&gt;
GitHubのソースに含まれない設定内容は以下の通りです。ここではDBはPostgreSQLを使用しています。&lt;br /&gt;
&lt;br /&gt;
$TOMCAT_HOME/conf/server.xmlの&lt;code&gt;&amp;lt;GlobalNamingResources&gt;&lt;/code&gt;に以下のようにデータソース定義を追加します。&lt;br /&gt;
&lt;pre&gt;&amp;lt;Resource name="jdbc/postgresql" auth="Container"
              type="javax.sql.DataSource"
              driverClassName="org.postgresql.Driver"
              url="jdbc:postgresql://127.0.0.1:5432/springdb1"
              username="spring"
              password="spring"
              maxActive="20" maxIdle="10" maxWait="-1" /&gt;&lt;/pre&gt;&lt;br /&gt;
$TOMCAT_HOME/lib/にPostgreSQLのJDBCドライバを入れます。ダウンロードはこちら。&lt;a href="http://jdbc.postgresql.org/"&gt;PostgreSQL JDBC Driver&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
[Window]/[Preferences]→[Tomcat]→[コンテキスト宣言モード]を「コンテキスト・ファイル」にしていると、コンテキストファイルに&lt;code&gt;&amp;lt;ResourceLink&gt;&lt;/code&gt;タグの記述が必要です。プロジェクトのプロパティの[Tomcat]の[その他の情報]に以下の内容を設定しておきます。&lt;br /&gt;
&lt;pre&gt;&amp;lt;ResourceLink name="jdbc/postgresql" global="jdbc/postgresql" type="javax.sql.DataSource"/&gt;&lt;/pre&gt;なお、この設定は上記のGitHubのソースの.tomcatpluginに含まれています。&lt;br /&gt;
&lt;br /&gt;
あと、SpringやMyBatisの設定をsrc/main/webapp/WEB-INF以下に置かず、src/main/resources以下においてclasspath:～やclasspath*:～で参照する方法もあるらしい。&lt;a href="http://stackoverflow.com/questions/4179767/problems-with-classpath-between-eclipse-tomcat-and-junit-in-spring-3-app"&gt;Problems with classpath between Eclipse, Tomcat and JUnit in Spring 3 app - Stack Overflow&lt;/a&gt;とか。ただ、classpath内に置く利点が私にはまだ不明なので、とりあえずWEB-INF以下に置く方式のままにしておきます。レファレンスではそうなっていますし。&lt;br /&gt;
&lt;a href="http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/orm.html#orm-ibatis"&gt;13. Object Relational Mapping (ORM) Data Access&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/beans.html#beans-basics"&gt;3. The IoC container&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/web-integration.html#web-integration-common"&gt;17. Integrating with other web frameworks&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.gridshore.nl/2008/05/13/spring-application-context-loading-tricks/"&gt;Spring application context loading tricks « Gridshore&lt;/a&gt;によるとclasspath*:とワイルドカードではまることもあるらしいので注意。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-4242211430720664776?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/4242211430720664776/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=4242211430720664776' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/4242211430720664776'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/4242211430720664776'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2011/06/spring-3hello-worldmybatis.html' title='Spring 3のHello WorldアプリにMyBatisを組み込み'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-2064765154724890035</id><published>2011-06-11T08:06:00.001+09:00</published><updated>2011-06-11T08:09:18.947+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PostgreSQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows 7'/><title type='text'>Windows 7でPostgreSQL 9.0.xのpsqlの文字化けはcygwinで対処</title><content type='html'>Windows 7でPostgreSQL 9.0.xのpsqlの文字化けはcygwinのbashを使うことで対処します。さらに、メッセージの文字化け防止のために、接続後以下のコマンドを実行します。&lt;br /&gt;
&lt;pre&gt;\encoding sjis&lt;/pre&gt;現在の設定は引数なしで&lt;code&gt;\encoding&lt;/code&gt;を実行します。&lt;br /&gt;
&lt;pre&gt;\encoding&lt;/pre&gt;&lt;br /&gt;
参考：&lt;a href="http://ameblo.jp/oneonelife/entry-10695506719.html"&gt;Windowsでpsqlに接続した場合｜きよのブログ&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
cmd.exeだとコードページが932(SJIS)のままだと、psqlのパスワードプロンプトやテーブル一覧表示コマンド&lt;code&gt;\dt&lt;/code&gt;の結果が文字化けします。&lt;br /&gt;
一方、以下のコマンドでコードページを65001(UTF-8)にしてpsqlを起動すると&lt;br /&gt;
&lt;pre&gt;chcp 65001&lt;/pre&gt;psqlのパスワードプロンプトやテーブル一覧表示コマンド&lt;code&gt;\dt&lt;/code&gt;の結果は文字化けしなくなるのですが、SQL実行時に表示されるメッセージ(例：「psql:create_tables.sql:5: NOTICE:  CREATE TABLE / PRIMARY KEYはテーブル"admin"に暗黙的なインデックス"adminpk"を作成します」)が文字化けします。フォントをデフォルトの[ラスター フォント]ではなく[Consolas]や[Lucida Console]にしてみましたが英語部分は化けなくなりましたが日本語部分が表示されません。&lt;br /&gt;
&lt;br /&gt;
というわけで冒頭に書いた方法がよさそうです。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-2064765154724890035?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/2064765154724890035/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=2064765154724890035' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/2064765154724890035'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/2064765154724890035'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2011/06/windows-7postgresql-90xpsqlcygwin.html' title='Windows 7でPostgreSQL 9.0.xのpsqlの文字化けはcygwinで対処'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-6430290571261469461</id><published>2011-06-11T06:18:00.001+09:00</published><updated>2011-06-19T09:51:50.841+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='tomcat'/><category scheme='http://www.blogger.com/atom/ns#' term='maven'/><title type='text'>m2eclipseとTomcatプラグインの連携設定</title><content type='html'>2011-06-19追記：その後&lt;a href="http://hnakamur.blogspot.com/2011/06/sysdeo-tomcatwtp.html"&gt;hnakamur’s blog: Sysdeo TomcatプラグインよりWTPのほうがよいです&lt;/a&gt;ということがわかりました。&lt;br /&gt;
&lt;hr/&gt;&lt;br /&gt;
プロジェクトのプロパティの[Tomcat]→[全般]タブ→[Webアプリケーション・ルートとするサブディレクトリー]をどう設定するかについてのメモです。&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://sastruts.seasar.org/mavenArchetype.html"&gt;Super Agile Struts&lt;/a&gt;とか&lt;a href="http://d.hatena.ne.jp/onozaty/20070722/p1"&gt;Maven2 + Eclipse + Tomcatプラグイン の組み合わせ - Enjoy*Study&lt;/a&gt;ではsrc/main/webappにしています。ですが、Maven2でリソースファイルのプロパティ置換をしていたりすると困る気がします。&lt;br /&gt;
&lt;br /&gt;
そこでmavenをフルビルドすることで作成されるwar生成用の一時フォルダを設定するようにしてみました。具体的には以下のようにします。&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;プロジェクトのプロパティの[Builders]では[Maven Project Builder]の行が存在しチェックがついた状態にしておく（m2eclipseでプロジェクトを作ればそうなっています）。&lt;/li&gt;
&lt;li&gt;プロジェクトのプロパティの[Maven]/[Lifecycle Mapping]→[Goals to invoke after project clean]を「clean package」にする。&lt;/li&gt;
&lt;li&gt;プロジェクトのプロパティの[Tomcat]→[全般]タブ→[Webアプリケーション・ルートとするサブディレクトリー]は「target/＜warファイルのベース名＞」とする。warファイルのベース名は、pom.xmlでbuildタグのfinalNameタグを指定する場合はその値になり、finalNameを指定しない場合は${artifactId}-${version}になります。&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
この設定により、[Project]/[clean]メニューを実行すると「mvn clean package」が実行されて、targetフォルダ以下が作り直されます。ただ、エクスプローラでtargetフォルダを開いていたりするとcleanでフォルダが消せずうまくいかないので注意。&lt;br /&gt;
&lt;br /&gt;
開いていなくてもTomcatプラグインでTomcatを起動中の場合もうまくいかないときもあるようです。Consoleにエラーは出ないのですが、targetフォルダ内のwarファイル生成用フォルダの中身が不足しているときがありました。&lt;br /&gt;
&lt;br /&gt;
Tomcatを停止してから[Project]/[clean]を実行するほうが無難です。つまりホットデプロイはあきらめるということですが、不安定になるよりはいいと割り切ることにします。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-6430290571261469461?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/6430290571261469461/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=6430290571261469461' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/6430290571261469461'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/6430290571261469461'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2011/06/m2eclipsetomcat.html' title='m2eclipseとTomcatプラグインの連携設定'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-7974667167118139305</id><published>2011-06-11T02:02:00.001+09:00</published><updated>2011-06-11T02:03:53.343+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='struts2'/><category scheme='http://www.blogger.com/atom/ns#' term='spring3'/><title type='text'>Struts2.2とSpring3.0のHelloWorldアプリを作ってみた</title><content type='html'>Struts2.2とSpring3.0のHelloWorldアプリを作ってみた。&lt;br /&gt;
&lt;br /&gt;
&lt;a href="https://github.com/hnakamur/struts2-example1/tree/6153ab91682aaab9e9b30870cd562db36b8267fe"&gt;hnakamur/struts2-example1 at 6153ab91682aaab9e9b30870cd562db36b8267fe - GitHub&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="https://github.com/hnakamur/spring3-example1/tree/7bb45dbf8e4eeea0873d1187c626544d9994c9ec"&gt;hnakamur/spring3-example1 at 7bb45dbf8e4eeea0873d1187c626544d9994c9ec - GitHub&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://stackoverflow.com/questions/4270899/compare-spring-mvc-3-and-struts-2"&gt;java ee - compare spring mvc 3 and struts 2 - Stack Overflow&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://stackoverflow.com/questions/353359/struts-or-spring-mvc-or-struts-spring"&gt;java - Struts or Spring MVC or Struts &amp;amp; Spring? - Stack Overflow&lt;/a&gt;&lt;br /&gt;
を見ると、Spring バージョン2.5で導入されたアノテーションベースのSpring MVCがいいらしい。&lt;br /&gt;
&lt;br /&gt;
@Transactionalアノテーションを使う関係でSpringはどのみち使うし、Struts2は使わずにSpring MVCを使うことにします。依存関係は少ないほうがいいですしね。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-7974667167118139305?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/7974667167118139305/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=7974667167118139305' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/7974667167118139305'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/7974667167118139305'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2011/06/struts22spring30helloworld.html' title='Struts2.2とSpring3.0のHelloWorldアプリを作ってみた'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-9008250764796075085</id><published>2011-06-04T10:15:00.000+09:00</published><updated>2011-06-04T10:15:04.654+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Doma'/><title type='text'>Domaのチュートリアルをやってみた</title><content type='html'>&lt;a href="http://doma.seasar.org/tutorial/index.html"&gt;Doma - チュートリアル&lt;/a&gt;をやってみたときのメモです。&lt;br /&gt;
&lt;a href="http://doma.seasar.org/downloads.html"&gt;Doma - ダウンロード&lt;/a&gt;からdoma-tutorial-1.14.0をダウンロードして試しました。&lt;br /&gt;
&lt;br /&gt;
m2eclipseインストール済みのeclipseで「Existing Maven Projects」でpom.xmlをインポートしてプロジェクトを作ると&lt;br /&gt;
を使ってpom.xmlをeclipseにインポートするとsrc/main/javaがソースディレクトリに登録されない状態になっていました。&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://doma.seasar.org/reference/app_build.html#Mavenによるビルド"&gt;Doma - アプリケーションのビルド方法&lt;/a&gt;を見ると、javacのバグ回避のためmaven-compiler-pluginでexcludesでソースを除外し、別途maven-antrun-pluginでコンパイルしているそうで、これが原因のようです。&lt;br /&gt;
&lt;br /&gt;
ぐぐってみると&lt;a href="http://stackoverflow.com/questions/4941355/maven-annotation-processing-with-maven-compiler-plugin"&gt;Maven annotation processing with maven-compiler-plugin - Stack Overflow&lt;/a&gt;というページを見つけました。maven-compiler-pluginのバージョン2.3.2とbuild-helper-maven-pluginの組み合わせを使えば別途maven-antrun-pluginでコンパイルせずともいけるようです。試してみるとうまくいきました。&lt;br /&gt;
&lt;br /&gt;
この方法だとpom.xmlをインポートしたときにsrc/main/javaもソースパスに含まれます。&lt;br /&gt;
&lt;br /&gt;
この点は解決したのですが、インポート後に以下のようなプロジェクト情報の修正が必要です。&lt;br /&gt;
&lt;ol&gt;  &lt;li&gt;一度ビルドしてtarget/apt_generatedディレクトリを作る。&lt;/li&gt;
  &lt;li&gt;ソースパスにtarget/apt_generatedを追加。&lt;/li&gt;
  &lt;li&gt;ソースパスのsrc/main/resourcesとsrc/test/resroucesのExcludedが*.*になっているのでExcludedの行で[Remove]を押して*.*を(None)に変更。&lt;/li&gt;
&lt;/ol&gt;なお、[Builders]で[Maven Project Builder]がチェックされていればそちらでaptも実行されるので、[Java Compiler]/[Annotation Processing]や[Java Compiler]/[Annotation Processing]/[Factory Path]の設定は不要です。&lt;br /&gt;
&lt;br /&gt;
pom.xmlのdiffをつけておきます。&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;diff -ruN doma-tutorial-1.14.0.orig/pom.xml doma-tutorial-1.14.0/pom.xml
--- doma-tutorial-1.14.0.orig/pom.xml 2011-03-30 20:25:22.000000000 +0900
+++ doma-tutorial-1.14.0/pom.xml 2011-06-04 09:30:09.865440100 +0900
@@ -108,14 +108,31 @@
     &amp;lt;/plugin&gt;
     &amp;lt;plugin&gt;
      &amp;lt;artifactId&gt;maven-compiler-plugin&amp;lt;/artifactId&gt;
+     &amp;lt;version&gt;2.3.2&amp;lt;/version&gt;
      &amp;lt;configuration&gt;
       &amp;lt;source&gt;1.6&amp;lt;/source&gt;
       &amp;lt;target&gt;1.6&amp;lt;/target&gt;
       &amp;lt;encoding&gt;UTF-8&amp;lt;/encoding&gt;
-      &amp;lt;excludes&gt;
-       &amp;lt;exclude&gt;**/*&amp;lt;/exclude&gt;
-      &amp;lt;/excludes&gt;
-     &amp;lt;/configuration&gt;
+      &amp;lt;generatedSourcesDirectory&gt;${project.build.directory}/apt_generated&amp;lt;/generatedSourcesDirectory&gt;
+      &amp;lt;/configuration&gt;
+    &amp;lt;/plugin&gt;
+    &amp;lt;plugin&gt;
+     &amp;lt;groupId&gt;org.codehaus.mojo&amp;lt;/groupId&gt;
+     &amp;lt;artifactId&gt;build-helper-maven-plugin&amp;lt;/artifactId&gt;
+     &amp;lt;version&gt;1.5&amp;lt;/version&gt;
+     &amp;lt;executions&gt;
+      &amp;lt;execution&gt;
+       &amp;lt;phase&gt;generate-sources&amp;lt;/phase&gt;
+       &amp;lt;goals&gt;
+        &amp;lt;goal&gt;add-source&amp;lt;/goal&gt;
+       &amp;lt;/goals&gt;
+       &amp;lt;configuration&gt;
+        &amp;lt;sources&gt;
+         &amp;lt;source&gt;${project.build.directory}/apt_generated&amp;lt;/source&gt;
+        &amp;lt;/sources&gt;
+       &amp;lt;/configuration&gt;
+      &amp;lt;/execution&gt;
+     &amp;lt;/executions&gt;
     &amp;lt;/plugin&gt;
    &amp;lt;/plugins&gt;
   &amp;lt;/pluginManagement&gt;
@@ -134,6 +151,7 @@
    &amp;lt;/plugin&gt;
    &amp;lt;plugin&gt;
     &amp;lt;artifactId&gt;maven-resources-plugin&amp;lt;/artifactId&gt;
+    &amp;lt;version&gt;2.5&amp;lt;/version&gt;
     &amp;lt;configuration&gt;
      &amp;lt;encoding&gt;UTF-8&amp;lt;/encoding&gt;
     &amp;lt;/configuration&gt;
@@ -156,29 +174,6 @@
     &amp;lt;/executions&gt;
    &amp;lt;/plugin&gt;
    &amp;lt;plugin&gt;
-    &amp;lt;artifactId&gt;maven-antrun-plugin&amp;lt;/artifactId&gt;
-    &amp;lt;executions&gt;
-     &amp;lt;execution&gt;
-      &amp;lt;id&gt;ant-compile&amp;lt;/id&gt;
-      &amp;lt;phase&gt;compile&amp;lt;/phase&gt;
-      &amp;lt;configuration&gt;
-       &amp;lt;tasks&gt;
-        &amp;lt;property name="apt_generated" value="target/apt_generated"/&gt;
-        &amp;lt;delete dir="${apt_generated}" failonerror="false"/&gt;
-        &amp;lt;mkdir dir="${apt_generated}"/&gt;
-        &amp;lt;javac fork="yes" compiler="javac1.6" debug="on" encoding="UTF-8"
-         classpathref="maven.compile.classpath" srcdir="src/main/java" destdir="target/classes"&gt;
-         &amp;lt;compilerarg line="-s ${apt_generated}" /&gt;
-        &amp;lt;/javac&gt;
-       &amp;lt;/tasks&gt;
-      &amp;lt;/configuration&gt;
-      &amp;lt;goals&gt;
-       &amp;lt;goal&gt;run&amp;lt;/goal&gt;
-      &amp;lt;/goals&gt;
-     &amp;lt;/execution&gt;
-    &amp;lt;/executions&gt;
-   &amp;lt;/plugin&gt;
-   &amp;lt;plugin&gt;
     &amp;lt;groupId&gt;com.google.code.maven-license-plugin&amp;lt;/groupId&gt;
     &amp;lt;artifactId&gt;maven-license-plugin&amp;lt;/artifactId&gt;
     &amp;lt;version&gt;1.4.0&amp;lt;/version&gt;
@@ -220,7 +215,7 @@
   &amp;lt;dependency&gt;
    &amp;lt;groupId&gt;com.h2database&amp;lt;/groupId&gt;
    &amp;lt;artifactId&gt;h2&amp;lt;/artifactId&gt;
-   &amp;lt;version&gt;1.2.126&amp;lt;/version&gt;
+   &amp;lt;version&gt;1.3.154&amp;lt;/version&gt;
    &amp;lt;scope&gt;test&amp;lt;/scope&gt;
   &amp;lt;/dependency&gt;
  &amp;lt;/dependencies&gt;&lt;/pre&gt;&lt;br /&gt;
pom.xmlのインポート時にsrc/main/resourcesとsrc/test/resourcesのExcludedが*.*になってしまう問題については、&lt;br /&gt;
&lt;a href="https://issues.sonatype.org/browse/MNGECLIPSE-864"&gt;[#MNGECLIPSE-864] resources folder are added with &amp;quot;Excluded: **&amp;quot; and this make my tests to fail. - Sonatype JIRA&lt;/a&gt;や&lt;a href="http://stackoverflow.com/questions/2773474/m2eclipse-resource-filtering"&gt;eclipse - m2eclipse resource filtering - Stack Overflow&lt;/a&gt;というページを見つけましたが、解決方法は見つけられませんでした。&lt;br /&gt;
[Maven]/[Update Project Configuration]を実行するたびに上記の手順を行う必要があります。&lt;br /&gt;
&lt;br /&gt;
h2はh2-2011-05-27.zipで試したところ1.2.126ではJDBCドライバのバージョンが古いと言われたので1.3.154に変えてあります。&lt;br /&gt;
&lt;br /&gt;
それと&lt;a href="http://doma.seasar.org/quick_start.html"&gt;Doma - クイックスタート&lt;/a&gt;に書かれているcreate table文とinsert文は記述が古いらしくdoma-tutorial-1.14.0のソースとはあっていませんでした。動くようにしたものを以下につけます。insert文の値は適当です。&lt;br /&gt;
&lt;pre&gt;create sequence employee_seq start with 100 increment by 1;
create table employee (
  id integer not null primary key,
  name varchar(255) not null,
  age integer not null,
  salary integer,
  job_type varchar(20),
  hiredate timestamp, 
  department_id integer, 
  version integer not null, 
  insertTimestamp timestamp, 
  updateTimestamp timestamp
);
create table department (
  id integer not null primary key,
  name varchar(255) not null,
  version integer not null
);

insert into department values (1, 'Sales', 1);
insert into department values (2, 'Business', 1);

insert into employee values (nextval('employee_seq'), 'SMITH', 45, 800, 'PRESIDENT', '1980-12-17', 1, 1, current_timestamp, current_timestamp);
insert into employee values (nextval('employee_seq'), 'ALLEN', 43, 700, 'MANAGER', '1981-02-20', 1, 1, current_timestamp, current_timestamp);
insert into employee values (nextval('employee_seq'), 'WARD', 40, 600, 'CLERK', '1981-02-22', 2, 1, current_timestamp, current_timestamp);&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-9008250764796075085?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/9008250764796075085/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=9008250764796075085' title='2 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/9008250764796075085'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/9008250764796075085'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2011/06/doma.html' title='Domaのチュートリアルをやってみた'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-6930722495583253068</id><published>2011-05-21T11:49:00.001+09:00</published><updated>2011-05-21T11:52:33.075+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='7zip'/><category scheme='http://www.blogger.com/atom/ns#' term='sl6'/><title type='text'>SL6でp7zipをソースからビルド</title><content type='html'>&lt;pre&gt;sudo yum install wget make gcc-c++
wget http://sourceforge.net/projects/p7zip/files/p7zip/9.20.1/p7zip_9.20.1_src_all.tar.bz2/download
tar jxf p7zip_9.20.1_src_all.tar.bz2
cd p7zip_9.20.1
cp makefile.linux_amd64_asm makefile.linux
make all_test
sudo make install&lt;/pre&gt;&lt;p&gt;上記はx86_64環境用です。手順の詳細についてはp7zip_9.20.1_src_all.tar.bz2のREADMEを参照。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-6930722495583253068?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/6930722495583253068/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=6930722495583253068' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/6930722495583253068'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/6930722495583253068'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2011/05/sl6p7zip.html' title='SL6でp7zipをソースからビルド'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-5641017123027945166</id><published>2011-05-21T10:24:00.001+09:00</published><updated>2011-05-21T11:18:45.350+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sl6'/><title type='text'>NEC Express5800／S70タイプRBにScientific Linux 6.0をインストール</title><content type='html'>&lt;p&gt;NEC Express5800／S70タイプRBにScientific Linux 6.0を最小構成でインストールしたときのメモです。&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;参考：&lt;a href="http://www.scientificlinux.org/distributions/6x/installing/"&gt;Scientific Linux - Installing SL6&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;そろそろRHEL6にも慣れておきたいところですが、&lt;a href="http://gihyo.jp/admin/clip/01/linux_dt/201105/17"&gt;Linux Daily Topics：2011年5月17日　CentOS 6.0は本当にリリースされるのか？─メイン開発者の離脱が意味するメッセージ｜gihyo.jp … 技術評論社&lt;/a&gt;によるとRHEL6クローンとしてはScientific Linux 6.0が有望そうなので試すことにしました。&lt;/p&gt;&lt;br /&gt;
&lt;h3&gt;インストーラをCD-Rに焼く&lt;/h3&gt;&lt;p&gt;&lt;a href="ftp://ftp.riken.jp/Linux/scientific/6.0/x86_64/iso/SL-60-x86_64-2011-03-03-boot.iso"&gt;SL-60-x86_64-2011-03-03-boot.iso&lt;/a&gt;をダウンロードしてCD-Rに焼きます。Windows 7だとエクスプローラでISOファイルを選択してポップアップメニューの[ディスク イメージの書き込み]でOK。&lt;/p&gt;&lt;br /&gt;
&lt;h3&gt;CD-Rでブート&lt;/h3&gt;&lt;p&gt;CD-Rからブートしてインストーラを実行します。テキストモードだとネットワーク設定やインストールするパッケージ選択が出来ないので、グラフィカルモードにします。グラフィカルモードでもキーボードだけで操作可能です。&lt;/p&gt;&lt;br /&gt;
&lt;h3&gt;インストール方法の選択&lt;/h3&gt;&lt;p&gt;&lt;a href="http://www.scientificlinux.org/distributions/6x/installing/installation.method.html"&gt;Scientific Linux - Installation Method&lt;/a&gt;画面では&lt;code&gt;[URL]&lt;/code&gt;を選択し、&lt;code&gt;ftp://ftp.riken.jp/Linux/scientific/6.0/x86_64/os/&lt;/code&gt;と入力します。この時点ではキーボードが英語配列として認識されています。:はSHIFT+;、_はSHIFT+-で入力します。&lt;/p&gt;&lt;br /&gt;
&lt;h3&gt;ネットワーク設定&lt;/h3&gt;&lt;p&gt;最小構成だとDHCPクライアントがインストールされないので固定IPの設定を行う必要があります(サーバーなのでどのみち固定IPにするわけですが)。&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.scientificlinux.org/distributions/6x/installing/hostname.network.html"&gt;Scientific Linux - Hostname and Network&lt;/a&gt;画面では[Configure Network]ボタンを押し、以下のように設定します。各IPアドレスとネットマスクは実際の環境に合わせて設定してください。&lt;/p&gt;&lt;blockquote&gt;[Network Connections]画面&lt;br /&gt;
[Wired]タブに移動。&lt;br /&gt;
&lt;br /&gt;
[Configure Network]画面&lt;br /&gt;
[IPv4 Settings]タブ&lt;br /&gt;
Method: Manual&lt;br /&gt;
Address: 192.168.11.103&lt;br /&gt;
Netmask: 24&lt;br /&gt;
Gateway: 192.168.11.1&lt;br /&gt;
DNS servers: 192.168.11.1&lt;br /&gt;
&lt;br /&gt;
[IPv6 Settings]タブ&lt;br /&gt;
Method: Ignore&lt;br /&gt;
&lt;/blockquote&gt;&lt;p&gt;IPv6はとりあえず使わないので無効にしようとして上記の設定にしていますが、これが正しい方法かは不明です。今後調査予定。&lt;/p&gt;&lt;br /&gt;
&lt;h4&gt;インストールタイプとパッケージ選択&lt;/h4&gt;&lt;p&gt;&lt;a href="http://www.scientificlinux.org/distributions/6x/installing/installation.type.html"&gt;Scientific Linux - Installation Type&lt;/a&gt;画面では画面上部のリストで&lt;code&gt;Minimal&lt;/code&gt;を選択し、画面下部の&lt;code&gt;Customize Now&lt;/code&gt;ラジオボタンを選択して&lt;code&gt;[Next]&lt;/code&gt;ボタンを押します。&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.scientificlinux.org/distributions/6x/installing/package.group.selection.html"&gt;Scientific Linux - Package Group Selection&lt;/a&gt;画面では全てのチェックを外して&lt;code&gt;[Next]&lt;/code&gt;ボタンを押します。&lt;/p&gt;&lt;br /&gt;
&lt;h3&gt;参考：生成されたネットワーク設定ファイル&lt;/h3&gt;&lt;br /&gt;
&lt;p&gt;/etc/sysconfig/network&lt;/p&gt;&lt;pre&gt;NETWORKING=yes
HOSTNAME=sunshine103
GATEWAY=192.168.11.1&lt;/pre&gt;&lt;br /&gt;
&lt;p&gt;/etc/sysconfig/network/ifcfg-eth0&lt;/p&gt;&lt;pre&gt;DEVICE="eth0"
BOOTPROTO=none
IPV6INIT=no
IPV6_AUTOCONF="yes"
NM_CONTROLLED="yes"
ONBOOT="yes"
HWADDR=XX:XX:XX:XX:XX:XX
TYPE=Ethernet
IPADDR=192.168.11.103
PREFIX=24
GATEWAY=192.168.11.1
DNS1=192.168.11.1
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
NAME="System eth0"
UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx&lt;/pre&gt;&lt;p&gt;&lt;code&gt;IPADDR&lt;/code&gt;と&lt;code&gt;UUID&lt;/code&gt;の値は伏せています。&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;インストール時にネットワーク設定を忘れた場合は、インストール完了してリブート後に上記のようにファイルを書き換えて(UUIDは不要)以下のコマンドを実行すればOKです。&lt;/p&gt;&lt;pre&gt;service network restart&lt;/pre&gt;&lt;br /&gt;
&lt;p&gt;各設定項目については&lt;a href="http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/6/html/Deployment_Guide/s1-networkscripts-interfaces.html#s2-networkscripts-interfaces-eth0"&gt;8.2. Interface Configuration Files&lt;/a&gt;を参照。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-5641017123027945166?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/5641017123027945166/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=5641017123027945166' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/5641017123027945166'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/5641017123027945166'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2011/05/nec-express5800s70rbscientific-linux-60.html' title='NEC Express5800／S70タイプRBにScientific Linux 6.0をインストール'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-1614518488674154730</id><published>2011-04-24T19:13:00.003+09:00</published><updated>2011-04-24T19:38:41.117+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='oracle'/><title type='text'>OracleでINVALIDなオブジェクトを表示するSQL</title><content type='html'>使い方&lt;br /&gt;
&lt;pre&gt;sqlplus -S usr/password@tnsname &amp;lt; show_invalid_objects.sql&lt;/pre&gt;&lt;br /&gt;
show_invalid_objects.sql&lt;br /&gt;
&lt;pre&gt;column OBJECT_TYPE format A20
column OBJECT_NAME format A50

select OBJECT_TYPE, OBJECT_NAME from USER_OBJECTS
where STATUS = 'INVALID'
order by OBJECT_TYPE, OBJECT_NAME;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-1614518488674154730?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/1614518488674154730/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=1614518488674154730' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/1614518488674154730'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/1614518488674154730'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2011/04/oracleinvalidsql.html' title='OracleでINVALIDなオブジェクトを表示するSQL'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-4395393333216576156</id><published>2011-04-24T19:11:00.001+09:00</published><updated>2011-04-24T19:37:16.110+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='oracle'/><title type='text'>Oracleで全てのオブジェクトを再コンパイルするPL/SQLコード</title><content type='html'>Oracleで全てのオブジェクトを再コンパイルするPL/SQLコードを書いたのでメモ。&lt;br /&gt;
&lt;br /&gt;
使い方&lt;br /&gt;
&lt;pre&gt;sqlplus -S usr/password@tnsname &amp;lt; compile_all_user_objects.sql&lt;/pre&gt;&lt;br /&gt;
compile_all_user_objects.sql&lt;br /&gt;
&lt;pre&gt;set serveroutput on

declare
  procedure compile_user_objects_of_type(p_object_type USER_OBJECTS.OBJECT_TYPE%type) as
    v_object_type USER_OBJECTS.OBJECT_TYPE%type := upper(p_object_type);
    cursor c1 is
      select OBJECT_NAME from USER_OBJECTS
      where OBJECT_TYPE = v_object_type;
    v_row c1%rowtype;
    v_sql varchar2(100);
  begin
    open c1;
    loop
      fetch c1 into v_row;
      exit when c1%notfound;

      -- ALTER FUNCTION name COMPILE;
      -- ALTER PROCEDURE name COMPILE;
      -- ALTER PACKAGE name COMPILE;
      -- ALTER SYNONYM name COMPILE;
      -- ALTER TRIGGER name COMPILE;
      -- ALTER TYPE name COMPILE;
      v_sql := 'ALTER ' || v_object_type || ' ' || v_row.object_name || ' COMPILE';
      -- dbms_output.put_line(v_sql);
      begin
        execute immediate v_sql;
      exception
        when others then
          dbms_output.put_line('Compilation error ' || v_row.object_name);
      end;
    end loop;
    close c1;
  end compile_user_objects_of_type;
begin
  compile_user_objects_of_type('TYPE');
  compile_user_objects_of_type('SYNONYM');
  compile_user_objects_of_type('TRIGGER');
  compile_user_objects_of_type('FUNCTION');
  compile_user_objects_of_type('PROCEDURE');
  compile_user_objects_of_type('PACKAGE');
end;
/&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-4395393333216576156?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/4395393333216576156/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=4395393333216576156' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/4395393333216576156'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/4395393333216576156'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2011/04/oracleplsql_24.html' title='Oracleで全てのオブジェクトを再コンパイルするPL/SQLコード'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-755760284903720216</id><published>2011-04-24T18:24:00.002+09:00</published><updated>2011-04-24T19:36:40.198+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='oracle'/><title type='text'>Oracleでユーザのすべてのオブジェクトを削除するPL/SQLコード</title><content type='html'>Oracleでユーザのすべてのオブジェクトを削除するPL/SQLコードを書いたのでメモ。&lt;br /&gt;
&lt;br /&gt;
使い方&lt;br /&gt;
&lt;pre&gt;sqlplus -S usr/password@tnsname &amp;lt; drop_all_user_objects.sql&lt;/pre&gt;&lt;br /&gt;
drop_all_user_objects.sql&lt;br /&gt;
&lt;pre&gt;-- set serveroutput on

declare
  procedure drop_all_user_objects_of_type(p_object_type USER_OBJECTS.OBJECT_TYPE%type) as
    v_object_type USER_OBJECTS.OBJECT_TYPE%type := upper(p_object_type);
    cursor c1 is
      select OBJECT_NAME from USER_OBJECTS
      where OBJECT_TYPE = v_object_type;
    v_row c1%rowtype;
    v_sql varchar2(100);
  begin
    open c1;
    loop
      fetch c1 into v_row;
      exit when c1%notfound;

      -- DROP FUNCTION name;
      -- DROP PROCEDURE name;
      -- DROP PACKAGE name;
      -- DROP MATERIALIZED VIEW name;
      -- DROP TABLE name CASCADE CONSTRAINTS PURGE;
      -- DROP SYNONYM name FORCE;
      -- DROP SEQUENCE name;
      -- DROP TYPE name FORCE;
      v_sql := 'DROP ' || v_object_type || ' ' || v_row.object_name;
      case v_object_type
      when 'TABLE'   then v_sql := v_sql || ' CASCADE CONSTRAINTS PURGE';
      when 'SYNONYM' then v_sql := v_sql || ' FORCE';
      when 'TYPE'    then v_sql := v_sql || ' FORCE';
      else null;
      end case;
      -- dbms_output.put_line(v_sql);
      execute immediate v_sql;
    end loop;
    close c1;
  end drop_all_user_objects_of_type;
begin
  drop_all_user_objects_of_type('FUNCTION');
  drop_all_user_objects_of_type('PROCEDURE');
  drop_all_user_objects_of_type('PACKAGE');
  drop_all_user_objects_of_type('SYNONYM');
  drop_all_user_objects_of_type('SEQUENCE');
  drop_all_user_objects_of_type('TYPE');
  drop_all_user_objects_of_type('MATERIALIZED VIEW');
  drop_all_user_objects_of_type('TABLE');
end;
/&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-755760284903720216?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/755760284903720216/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=755760284903720216' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/755760284903720216'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/755760284903720216'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2011/04/oracleplsql.html' title='Oracleでユーザのすべてのオブジェクトを削除するPL/SQLコード'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-4702099950081716456</id><published>2011-03-30T16:56:00.002+09:00</published><updated>2011-03-30T17:06:48.985+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ant'/><category scheme='http://www.blogger.com/atom/ns#' term='maven'/><title type='text'>Antからmavenを実行するサンプル</title><content type='html'>参考：&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://ptrthomas.wordpress.com/2009/03/08/why-you-should-use-the-maven-ant-tasks-instead-of-maven-or-ivy/"&gt;Why you should use the Maven Ant Tasks instead of Maven or Ivy « Incremental Operations&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://maven.apache.org/ant-tasks/"&gt;Maven Ant Tasks - Introduction&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
事前準備：上記のサイトからmaven-ant-tasks-2.1.1.jarをダウンロードして${ANT_HOME}/libにコピー。&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;&amp;lt;?xml version="1.0" encoding="UTF-8"?&gt;
&amp;lt;project name="necs" basedir="." default="help"
    xmlns:artifact="antlib:org.apache.maven.artifact.ant"&gt;

  &amp;lt;property file="build.properties"/&gt;
  &amp;lt;property name="maven.local.repo.dir" value="${user.dir}/localRepository"/&gt;

  &amp;lt;target name="help"&gt;
    &amp;lt;echo&gt;
      Usage: ant build|help
    &amp;lt;/echo&gt;
  &amp;lt;/target&gt;

  &amp;lt;artifact:localRepository id="localRepo" path="${maven.local.repo.dir}"/&gt;

  &amp;lt;macrodef name="mvn_clean_install_no_test"&gt;
    &amp;lt;attribute name="dir" /&gt;
    &amp;lt;sequential&gt;
      &amp;lt;artifact:mvn pom="@{dir}/pom.xml" fork="yes" failonerror="true"&gt;
        &amp;lt;localRepository refid="localRepo"/&gt;
        &amp;lt;arg value="-Dmaven.test.skip=true"/&gt;
        &amp;lt;arg value="clean"/&gt;
        &amp;lt;arg value="install"/&gt;
      &amp;lt;/artifact:mvn&gt;
    &amp;lt;/sequential&gt;
  &amp;lt;/macrodef&gt;


  &amp;lt;target name="build"&gt;
    &amp;lt;mvn_clean_install_no_test dir="SampleApp" /&gt;
  &amp;lt;/target&gt;
&amp;lt;/project&gt;&lt;/pre&gt;&lt;br /&gt;
artifact:mvnタスクはJavaタスクを継承しているのでfork属性が使えます。-Dname=valueを有効にするためにはforkする必要があるのでfork="true"を指定しています。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-4702099950081716456?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/4702099950081716456/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=4702099950081716456' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/4702099950081716456'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/4702099950081716456'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2011/03/antmaven.html' title='Antからmavenを実行するサンプル'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-5984946012194827556</id><published>2011-03-25T13:43:00.001+09:00</published><updated>2011-03-25T13:44:28.692+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='permission'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>ls -lRの出力に合わせてパーミション設定を行う</title><content type='html'>ls -lRの出力に合わせてパーミション設定を行うためのスクリプトを作りました。&lt;br /&gt;
&lt;br /&gt;
使い方&lt;br /&gt;
&lt;pre&gt;./ls-lR_to_chmod.pl &lt; ls-lRの結果 &gt; setperm.sh&lt;/pre&gt;&lt;br /&gt;
ls-lR_to_chmod.plの内容&lt;br /&gt;
&lt;pre&gt;#!/usr/bin/perl

sub to_chmod_perm_chunk {
   my $perm = shift;
   $perm =~ tr/-//d;
   if ($perm eq '') {
     $perm = '-';
   } elsif ($perm =~ /[ST]$/) {
     $perm =~ tr/ST/st/;
   } elsif ($perm =~ /[st]$/) {
     $perm =~ s/([st])$/x$1/;
   }
   return $perm;
}

sub to_chmod_perm {
  my $perm = shift;
  return 'u=' . to_chmod_perm_chunk(substr($perm, 1, 3)) .
         ',g=' . to_chmod_perm_chunk(substr($perm, 4, 3)) .
         ',o=' . to_chmod_perm_chunk(substr($perm, 7, 3));
}

use constant FIELD_COUNT =&gt; 9;
my $dir;
while (&amp;lt;&gt;) {
    chomp;
    if (/^[d-]/) {
        my @fields = split(/\s+/, $_, FIELD_COUNT);
        my $perm = @fields[0];
        my $file = @fields[FIELD_COUNT - 1];
        print 'chmod ' . to_chmod_perm($perm), ' ', $dir . '/' . $file, "\n";
    } elsif (/(.*):$/) {
        $dir = $1;
    }
}&lt;/pre&gt;&lt;br /&gt;
出力されたシェルスクリプトを実行はrootで行ってください。&lt;br /&gt;
ls -lRを相対パス指定で実行したときは、出力されたシェルスクリプトを実行するときも同じディレクトリに移動してください。&lt;br /&gt;
つまり↓こんな感じです。&lt;br /&gt;
&lt;pre&gt;sudo -s
cd 【ls -lRを実行したディレクトリ】
sh 【上記で出力したsetperm.shのフルパス】&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-5984946012194827556?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/5984946012194827556/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=5984946012194827556' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/5984946012194827556'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/5984946012194827556'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2011/03/ls-lr.html' title='ls -lRの出力に合わせてパーミション設定を行う'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-8958866977315426632</id><published>2011-03-25T11:17:00.001+09:00</published><updated>2011-03-25T11:22:41.216+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='permission'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>LinuxのパーミションのSとTの大文字小文字の違い</title><content type='html'>実験してみたところ実行パーミション(x)がついているときは小文字、ついていないときは大文字になるようです。&lt;br /&gt;
sとtについては&lt;a href="http://www.comptechdoc.org/os/linux/usersguide/linux_ugfilesp.html"&gt;Linux Files and File Permissions&lt;/a&gt;を参照。&lt;br /&gt;
&lt;br /&gt;
chmodで指定するときは以下のようにします。&lt;br /&gt;
&lt;pre&gt;$ chmod o=rxt hoge
$ ls -l hoge
-rw-r--r-t 1 user1 group1 0 Mar 25 11:19 hoge
$ chmod o=rt hoge
$ ls -l hoge
-rw-r--r-T 1 user1 group1 0 Mar 25 11:19 hoge&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-8958866977315426632?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/8958866977315426632/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=8958866977315426632' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/8958866977315426632'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/8958866977315426632'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2011/03/linuxst.html' title='LinuxのパーミションのSとTの大文字小文字の違い'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-9178680358204536579</id><published>2011-03-24T18:32:00.004+09:00</published><updated>2011-09-08T15:34:50.988+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='port-forwarding'/><category scheme='http://www.blogger.com/atom/ns#' term='scp'/><category scheme='http://www.blogger.com/atom/ns#' term='ant'/><title type='text'>antで踏み台サーバ経由でscp</title><content type='html'>ローカルからリモートにコピー。&lt;br /&gt;
&lt;pre&gt;&amp;lt;sshsession host="${ladder_host}"
    trust="true"
    username="${username}"
    keyfile="${keyfile}"
    passphrase="${passphrase}" &gt;
    &amp;lt;localtunnel lport="${tunnel_port}" rhost="${target_host}" rport="22"/&gt;
  &amp;lt;sequential&gt;
    &amp;lt;scp trust="true"
        keyfile="${keyfile}"
        passphrase="${passphrase}"
        localFile="hoge2"
        remoteToFile="admin@localhost:hoge2"
        port="${tunnel_port}" /&gt;
  &amp;lt;/sequential&gt;
&amp;lt;/sshsession&gt;&lt;/pre&gt;ファイルの更新日時は現在の日時になります。&lt;br /&gt;
&lt;br /&gt;
リモートからローカルにコピー。&lt;br /&gt;
&lt;pre&gt;&amp;lt;sshsession host="${ladder_host}"
    trust="true"
    username="${username}"
    keyfile="${keyfile}"
    passphrase="${passphrase}" &gt;
  &amp;lt;localtunnel lport="${tunnel_port}" rhost="${target_host}" rport="22"/&gt;
  &amp;lt;sequential&gt;
    &amp;lt;scp trust="true"
        keyfile="${keyfile}"
        passphrase="${passphrase}"
        port="${tunnel_port}"
        remoteFile="${username}@localhost:hoge"
        localToFile="hoge"
        preserveLastModified="true"/&gt;
  &amp;lt;/sequential&gt;
&amp;lt;/sshsession&gt;&lt;/pre&gt;こちら向きはpreserveLastModified="true"を指定すればファイルの更新日時を維持出来ます。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-9178680358204536579?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/9178680358204536579/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=9178680358204536579' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/9178680358204536579'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/9178680358204536579'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2011/03/antscp.html' title='antで踏み台サーバ経由でscp'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-1174227299929074962</id><published>2011-03-23T11:33:00.000+09:00</published><updated>2011-03-23T11:33:41.417+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='firefox'/><title type='text'>Firefox4でアドオンの互換性確認を無効化する</title><content type='html'>参考：&lt;a href="http://www.lifehacker.jp/2010/07/100708htbffbiaeieat.html"&gt;Firefox 4（ベータ版）に未アップデートのアドオンを強制インストールする方法 : ライフハッカー［日本版］&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://kb.mozillazine.org/Extensions.checkCompatibility"&gt;Extensions.checkCompatibility - MozillaZine Knowledge Base&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ol&gt;  &lt;li&gt;URL欄に「about:config」と入力します。&lt;/li&gt;
  &lt;li&gt;[細心の注意を払って使用する]ボタンを押す。&lt;/li&gt;
  &lt;li&gt;リストビュー上でポップアップメニューの[新規作成]/[真偽値]を選ぶ。&lt;/li&gt;
  &lt;li&gt;設定名に「extensions.checkCompatibility.4.0」、値を「false」にします。&lt;/li&gt;
  &lt;li&gt;[ツール]/[アドオン]メニューを開き、有効化したくないアドオンがある場合は[無効化]ボタンを押しておきます。&lt;/li&gt;
  &lt;li&gt;[今すぐ再起動する]リンクをクリックしてFirefoxを再起動します。&lt;/li&gt;
&lt;/ol&gt;&lt;br /&gt;
&lt;p&gt;あくまで互換性確認を無効にするだけで、アドオンが使用中のFirefoxのバージョンに対応していなければ正常に動作するわけでは無いので注意。お目当てのFireMobileSimulator 1.1.11はFirefox 4.0では表示が崩れて正しくは動かないようです。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-1174227299929074962?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/1174227299929074962/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=1174227299929074962' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/1174227299929074962'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/1174227299929074962'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2011/03/firefox4.html' title='Firefox4でアドオンの互換性確認を無効化する'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-3143382987982323777</id><published>2011-03-18T18:42:00.001+09:00</published><updated>2011-03-24T18:28:52.425+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ssh'/><category scheme='http://www.blogger.com/atom/ns#' term='ant'/><title type='text'>antでsshのサンプル</title><content type='html'>予め$[ANT_HOME}/libにjsch-0.1.44.jarを置いておく。&lt;br /&gt;
&lt;br /&gt;
build.xml&lt;br /&gt;
&lt;pre&gt;&amp;lt;?xml version="1.0" encoding="UTF-8"?&gt;
&amp;lt;project name="ssh_test" basedir="." default="sshtest1"&gt;
  &amp;lt;xmlproperty file="deploy.properties.xml"
      keepRoot="false"
      semanticAttributes="true"/&gt;
  &amp;lt;target name="sshtest1"&gt;
    &amp;lt;sshexec host="host1.example.com"
        trust="true"
        username="${username}"
        keyfile="${keyfile}"
        passphrase="${passphrase}"
        command="whoami"/&gt;
  &amp;lt;/target&gt;
&amp;lt;/project&gt;
&lt;/pre&gt;&lt;br /&gt;
deploy.properties.xml&lt;br /&gt;
&lt;pre&gt;&amp;lt;properties&gt;
  &amp;lt;username&gt;you&amp;lt;/username&gt;
  &amp;lt;keyfile&gt;${user.home}/.ssh/id_rsa&amp;lt;/keyfile&gt;
  &amp;lt;passphrase&gt;your_passpharse&amp;lt;/passphrase&gt;
&amp;lt;/properties&gt;
&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-3143382987982323777?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/3143382987982323777/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=3143382987982323777' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/3143382987982323777'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/3143382987982323777'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2011/03/antssh.html' title='antでsshのサンプル'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-2206013614571848047</id><published>2011-03-14T15:04:00.002+09:00</published><updated>2011-03-14T15:04:48.296+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>findで指定サイズより大きいファイルを探す</title><content type='html'>参考：&lt;a href="http://centos.bungu-do.jp/2007/07/find.html"&gt;findで指定サイズより大きいもしくは小さいファイルを探す | CentOSサーバ構築術 文具堂&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
例：1GB以上のファイルを探す。&lt;br /&gt;
&lt;pre&gt;# find / -size +1G -ls&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-2206013614571848047?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/2206013614571848047/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=2206013614571848047' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/2206013614571848047'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/2206013614571848047'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2011/03/find.html' title='findで指定サイズより大きいファイルを探す'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-6508106695559932893</id><published>2011-02-22T19:11:00.001+09:00</published><updated>2011-02-22T19:11:51.767+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gimp'/><title type='text'>GIMPで画像に赤い矩形を追加</title><content type='html'>参考：&lt;a href="http://d.hatena.ne.jp/maangie/20090527"&gt;[GIMP]矩形描画 - まアンジーのメモノート&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
「矩形選択ツールで領域を選択」&lt;br /&gt;
→「選択範囲をパスに変換します」&lt;br /&gt;
→「パスに沿って描画します」&lt;br /&gt;
&lt;br /&gt;
このとき描画色に赤を選んでいてもなぜか黄色になってしまうという現象でしばらく悩みましたが、&lt;br /&gt;
[画像]/[モード]メニューで[インデックス]になっていたのを[RGB]に切り替えてから実行すれば大丈夫でした。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-6508106695559932893?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/6508106695559932893/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=6508106695559932893' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/6508106695559932893'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/6508106695559932893'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2011/02/gimp.html' title='GIMPで画像に赤い矩形を追加'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-3110903891256724752</id><published>2011-02-15T14:43:00.001+09:00</published><updated>2011-02-15T14:48:36.332+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CentOS'/><category scheme='http://www.blogger.com/atom/ns#' term='7zip'/><title type='text'>7zip、bzip2、zipの圧縮率比較</title><content type='html'>&lt;p&gt;CentOS5.5でとあるDBダンプで圧縮レベル最高同士で比較してみた。&lt;/p&gt;&lt;p&gt;コマンドはこんな感じ。&lt;/p&gt;&lt;pre&gt;bzip2 -c9 example.dmp &gt; example.dmp.bz2
zip -9 example.zip example.dmp
7za a -mx example.7z example.dmp&lt;/pre&gt;&lt;p&gt;結果は以下の通りです。&lt;/p&gt;&lt;pre&gt;$ ls -l example.*
-rw-rw-r-- 1 backup backup  7128321 Feb 15 14:39 example.7z
-rw-rw-r-- 1 backup backup 74055680 Feb 15 14:39 example.dmp
-rw-rw-r-- 1 backup backup  8794739 Feb 15 14:40 example.dmp.bz2
-rw-rw-r-- 1 backup backup 11548513 Feb 15 14:42 example.zip&lt;/pre&gt;&lt;br /&gt;
&lt;p&gt;7zipはp7zipというパッケージ名でrpmforgeにあります。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-3110903891256724752?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/3110903891256724752/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=3110903891256724752' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/3110903891256724752'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/3110903891256724752'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2011/02/7zipbzip2zip.html' title='7zip、bzip2、zipの圧縮率比較'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-3707186285285669044</id><published>2011-02-03T19:38:00.000+09:00</published><updated>2011-02-03T19:38:18.432+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='curl'/><title type='text'>curlでレスポンスヘッダを表示する</title><content type='html'>&lt;pre&gt;curl -s -D - ＜URL＞&lt;/pre&gt;-D fileでfileに-を指定すると標準出力に出せる。これをつけるとダウンロード進捗が表示されるので-sで出さないようにする。するとエラーまで出なくなるので何もでないときはエラーコードを確認。&lt;br /&gt;
&lt;pre&gt;echo $?&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-3707186285285669044?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/3707186285285669044/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=3707186285285669044' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/3707186285285669044'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/3707186285285669044'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2011/02/curl.html' title='curlでレスポンスヘッダを表示する'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-8614155320387383665</id><published>2011-02-02T16:11:00.000+09:00</published><updated>2011-02-02T16:11:30.710+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><category scheme='http://www.blogger.com/atom/ns#' term='nslookup'/><title type='text'>nslookupでquerytypeを全てにするオプション</title><content type='html'>-querytype=anyならWindowsでもLinuxでも使えます。-qと省略可能なので、&lt;br /&gt;
&lt;pre&gt;nslookup -q=any example.com&lt;/pre&gt;という感じです。&lt;br /&gt;
&lt;br /&gt;
Linuxならdigコマンドという手もあります。&lt;br /&gt;
&lt;pre&gt;dig example.com&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-8614155320387383665?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/8614155320387383665/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=8614155320387383665' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/8614155320387383665'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/8614155320387383665'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2011/02/nslookupquerytype.html' title='nslookupでquerytypeを全てにするオプション'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-3141774863411291773</id><published>2011-01-31T15:01:00.038+09:00</published><updated>2011-02-01T09:34:31.269+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='dns'/><category scheme='http://www.blogger.com/atom/ns#' term='docomo'/><category scheme='http://www.blogger.com/atom/ns#' term='mail-server'/><title type='text'>開発用メールサーバーのSPF認証設定</title><content type='html'>参考：&lt;a href="http://www.nttdocomo.co.jp/service/communication/imode_mail/notice/sender_id/"&gt;送信ドメイン認証（Sender ID／SPF）について | サービス・機能 | NTTドコモ&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://salt.iajapan.org/wpmu/anti_spam/admin/tech/explanation/spf/"&gt;SPF（Sender Policy Framework） : 迷惑メール対策委員会&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
通常の運用ではやらないと思いますが、開発中などでメールアドレスをuser1@host1.example.comのようにホスト毎にサブドメイン付で使う場合、SPFのレコードもサブドメイン毎に作成する必要があるようです。&lt;br /&gt;
&lt;br /&gt;
もともと以下のようなSPFレコードを設定していました（IPアドレスとドメインは例示用のものに書き換えています）。&lt;br /&gt;
&lt;pre&gt;example.com IN TXT "v=spf1 +ipv4:192.0.2.0/24 ~all"&lt;/pre&gt;この状態で、開発サーバーからgmailにメールを送信したところ、メールは届きますが、ヘッダに以下のような内容が表示されていて、SPF認証は許可も拒否もされていないニュートラルな状態になっているようです。&lt;br /&gt;
&lt;pre&gt;Received-SPF: neutral (google.com: 192.0.2.101 is neither permitted nor denied by best guess record for domain of user1@host1.example.com) client-ip=192.0.2.101;
Authentication-Results: mx.google.com; spf=neutral (google.com: 192.0.2.101 is neither permitted nor denied by best guess record for domain of user1@host1.example.com) smtp.mail=user1@host1.example.com&lt;/pre&gt;&lt;br /&gt;
一方、以下のようにサブドメイン用のSPFレコードを作成した場合（一方、元のexample.comのほうのSPFレコードは削除しました）は&lt;br /&gt;
&lt;pre&gt;host1.example.com IN TXT "v=spf1 +ipv4:192.0.2.0/24 ~all"&lt;/pre&gt;届いたメールのヘッダは以下のようになっていてSPF認証がパスしています。&lt;br /&gt;
&lt;pre&gt;Received-SPF: pass (google.com: domain of user1@host1.example.com designates 192.0.2.101 as permitted sender) client-ip=192.0.2.101;
Authentication-Results: mx.google.com; spf=pass (google.com: domain of user1@host1.example.com designates 192.0.2.101 as permitted sender) smtp.mail=user1@host1.example.com&lt;/pre&gt;&lt;br /&gt;
他のメモ&lt;br /&gt;
&lt;del&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;+ipv4:アドレスの+はつけないほうがよい。デフォルトが+だし、DNSのレコード長制限を考えても短いほうがよいので。&lt;/li&gt;
&lt;li&gt;allの前は~(チルダ)よりも-(マイナス)にしたほうがよい。白黒はっきりつけたほうが影響がわかりやすいので。&lt;/li&gt;
&lt;/ul&gt;&lt;/del&gt;&lt;br /&gt;
&lt;br /&gt;
ドコモに送信する限りは&lt;a href="http://www.nttdocomo.co.jp/service/communication/imode_mail/notice/sender_id/"&gt;送信ドメイン認証（Sender ID／SPF）について | サービス・機能 | NTTドコモ&lt;/a&gt;に書いてある通り、ipv4の前には+をつけて、-allではなく~allにしておいたほうがよさそうです。&lt;br /&gt;
&lt;br /&gt;
短時間にいろいろSPFレコードの変更を試行錯誤したのでDNSが伝播していたか不明なため、きちんとした切り分けは出来ていませんが、"v=spf1 +ipv4:192.0.2.0/24 ~all"の書式にしてからは遅配になる率がほぼなくなりました。遅配のときは/var/log/maillogにstatus=deferredと出て、そうでないときはstatus=sent(250)になります。&lt;br /&gt;
&lt;br /&gt;
推測ですが、ドコモのSPFレコードの解釈処理がRFCのフル実装ではなくサブセットなのではないかと思っています。&lt;br /&gt;
&lt;br /&gt;
試行錯誤するときは、nslookup -type=txt host1.example.comで自分のところへ伝播するぐらいまではせめて待ってから試したほうがよかったです。gmailだとすぐ変化したように思えてばんばん変えてたのですが、ドコモで遅配になる率はすぐ変わらなかったので。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-3141774863411291773?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/3141774863411291773/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=3141774863411291773' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/3141774863411291773'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/3141774863411291773'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2011/01/spf.html' title='開発用メールサーバーのSPF認証設定'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-1099739741096378914</id><published>2010-12-29T20:10:00.000+09:00</published><updated>2010-12-29T20:10:20.385+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='dd'/><title type='text'>ddでbs=1Mとbs=1Gの速度比較</title><content type='html'>$ time dd if=/dev/zero of=20G_by_1M.img bs=1M count=20480&lt;br /&gt;
20480+0 records in&lt;br /&gt;
20480+0 records out&lt;br /&gt;
21474836480 bytes (21 GB) copied, 533.695 seconds, 40.2 MB/s&lt;br /&gt;
&lt;br /&gt;
real    8m56.525s&lt;br /&gt;
user    0m0.097s&lt;br /&gt;
sys     2m26.717s&lt;br /&gt;
&lt;br /&gt;
$ time dd if=/dev/zero of=20G_by_1G.img bs=1G count=20&lt;br /&gt;
20+0 records in&lt;br /&gt;
20+0 records out&lt;br /&gt;
21474836480 bytes (21 GB) copied, 682.891 seconds, 31.4 MB/s&lt;br /&gt;
&lt;br /&gt;
real    11m31.144s&lt;br /&gt;
user    0m0.001s&lt;br /&gt;
sys     2m53.768s&lt;br /&gt;
&lt;br /&gt;
$ ls -l *.img&lt;br /&gt;
-rw-rw-r-- 1 hnakamur hnakamur 21474836480 Dec 29 19:01 20G_by_1G.img&lt;br /&gt;
-rw-rw-r-- 1 hnakamur hnakamur 21474836480 Dec 29 18:50 20G_by_1M.img&lt;br /&gt;
&lt;br /&gt;
bs=1Gは大きすぎなんですかね。&lt;br /&gt;
仮想イメージのようにGB単位のときはbs=1Gのほうがわかりやすいので、多少遅くても我慢するか悩むところです。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-1099739741096378914?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/1099739741096378914/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=1099739741096378914' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/1099739741096378914'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/1099739741096378914'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2010/12/ddbs1mbs1g.html' title='ddでbs=1Mとbs=1Gの速度比較'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-5042189679836239932</id><published>2010-12-29T17:42:00.002+09:00</published><updated>2010-12-29T18:22:52.829+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CentOS'/><category scheme='http://www.blogger.com/atom/ns#' term='ssh'/><title type='text'>sshのauthorized_keysでのアクセス元IP制限</title><content type='html'>Manual Pages: sshd(8)&lt;br /&gt;
http://www.openbsd.org/cgi-bin/man.cgi?query=sshd&amp;sektion=8&lt;br /&gt;
&lt;br /&gt;
行頭にfrom="pattern-list"をつけておけばよい。&lt;br /&gt;
・ホスト名またはIPアドレス&lt;br /&gt;
・192.168.0.*などのパターン&lt;br /&gt;
・192.168.0.0/24などのCIDR表記（OpenSSH5.1以降 &lt;a href="http://www.openssh.org/txt/release-5.1"&gt;www.openssh.org/txt/release-5.1&lt;/a&gt;）&lt;br /&gt;
&lt;br /&gt;
CentOS5.5のopensshは4.3p2-41.el5_5.1であるため、CIDR記法で書いてもログインできませんでした。&lt;br /&gt;
CentOS5.5で試したところホスト名では&lt;br /&gt;
Permission denied (publickey,gssapi-with-mic).&lt;br /&gt;
が出てしまいました。IPアドレスならOKでした。実運用でもIPアドレスを指定するほうが確実そうなので放置することにします。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-5042189679836239932?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/5042189679836239932/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=5042189679836239932' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/5042189679836239932'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/5042189679836239932'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2010/12/sshauthorizedkeysip.html' title='sshのauthorized_keysでのアクセス元IP制限'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-6219412422708668056</id><published>2010-12-29T16:32:00.000+09:00</published><updated>2010-12-29T16:32:59.921+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CentOS'/><category scheme='http://www.blogger.com/atom/ns#' term='chkconfig'/><title type='text'>chkconfig --addを忘れて/etc/rc0.d/K*が作られずはまった件のメモ</title><content type='html'>例としてfooというサービスの場合、chkconfig --add fooをしなくてもchkconfig foo onだけで起動時に実行されてしまうが、/etc/rc0.d/K*fooは作られないためシャットダウン時には実行されない。忘れずにchkconfig --add fooを実行すること。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-6219412422708668056?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/6219412422708668056/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=6219412422708668056' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/6219412422708668056'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/6219412422708668056'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2010/12/chkconfig-addetcrc0dk.html' title='chkconfig --addを忘れて/etc/rc0.d/K*が作られずはまった件のメモ'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-5966998333706515454</id><published>2010-12-22T18:18:00.002+09:00</published><updated>2010-12-22T18:18:46.730+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CentOS'/><category scheme='http://www.blogger.com/atom/ns#' term='yum'/><title type='text'>CentOS x86_64で*.i386をインストール対象外にする</title><content type='html'>/etc/yum.confの[main]に以下の行を追加。&lt;br /&gt;
&lt;pre&gt;exclude=*.i?86&lt;/pre&gt;&lt;br /&gt;
既にインストールされてしまっているパッケージは以下のコマンドで削除。&lt;br /&gt;
&lt;pre&gt;yum remove \*.i386&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-5966998333706515454?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/5966998333706515454/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=5966998333706515454' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/5966998333706515454'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/5966998333706515454'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2010/12/centos-x8664i386.html' title='CentOS x86_64で*.i386をインストール対象外にする'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-9192701037812766370</id><published>2010-12-19T15:45:00.000+09:00</published><updated>2010-12-19T15:45:20.482+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CentOS'/><category scheme='http://www.blogger.com/atom/ns#' term='network'/><category scheme='http://www.blogger.com/atom/ns#' term='kvm'/><title type='text'>CentOSのKVMのゲストOSに2枚目のネットワークカードを追加</title><content type='html'>ゲストOSが1枚のネットワークカードでブリッジで動いていることとホスト側では2枚のネットワークカードの両方をブリッジに設定済みであることを前提とします。&lt;br /&gt;
なお、この方法は試しにやってみたらできたという手順なので、もっとよい手順があるかもしれません。&lt;br /&gt;
&lt;br /&gt;
ゲストOSで/etc/sysconfig/network-scripts/ifcfg-eth0をコピーしてifcfg-eth1を作成し、適宜編集。MACアドレスを適当に変更（但し頭の54:52:00:は変えずに下3オクテットのみを変えます。上3オクテットはKVMで決まっている値のため（ソース失念））。&lt;br /&gt;
また/etc/sysconfig/networkのGATEWAYも編集（&lt;a href="http://hnakamur.blogspot.com/2010/12/centos2.html"&gt;hnakamur’s blog: CentOSでネットワークカード2枚挿しの場合のゲートウェイの設定&lt;/a&gt;を参照）。&lt;br /&gt;
&lt;br /&gt;
ゲストOSをシャットダウン。&lt;br /&gt;
&lt;br /&gt;
ホストOSでドメインのxml（/etc/libvirt/qemu/＜ドメイン名＞.xml）を編集。interfaceのタグをコピペして、mac addressを先程ゲストOSでeth1に割り当てた値にし、bridgeをホストのもう一つのブリッジデバイス(br1)にします。&lt;br /&gt;
&lt;pre&gt;&amp;lt;domain type='kvm'&gt;
  …(略)…
  &amp;lt;devices&gt;
    …(略)…
    &amp;lt;interface type='bridge'&gt;
      &amp;lt;mac address='54:52:00:4f:0a:85'/&gt;
      &amp;lt;source bridge='br0'/&gt;
    &amp;lt;/interface&gt;
    &amp;lt;interface type='bridge'&gt;
      &amp;lt;mac address='54:52:00:4f:0a:86'/&gt;
      &amp;lt;source bridge='br1'/&gt;
    &amp;lt;/interface&gt;
    …(略)…
  &amp;lt;/devices&gt;
&amp;lt;/domain&gt;
&lt;/pre&gt;&lt;br /&gt;
以下のコマンドで設定を反映。&lt;br /&gt;
&lt;pre&gt;# virsh define /etc/libvirt/qemu/＜ドメイン名＞.xml&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-9192701037812766370?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/9192701037812766370/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=9192701037812766370' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/9192701037812766370'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/9192701037812766370'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2010/12/centoskvmos2.html' title='CentOSのKVMのゲストOSに2枚目のネットワークカードを追加'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-2566011287950800936</id><published>2010-12-19T13:41:00.001+09:00</published><updated>2010-12-19T13:43:50.876+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CentOS'/><category scheme='http://www.blogger.com/atom/ns#' term='network'/><title type='text'>CentOSでネットワークカード2枚挿しの場合のゲートウェイの設定</title><content type='html'>この説明ではeth0をLAN側、eth1をWAN側とします。&lt;br /&gt;
GATEWAYの設定は/etc/sysconfig/network-scripts/のifcfg-eth0とifcfg-eth1ではコメントアウトして/etc/sysconfig/networkにeth1のGATEWAYを書く（GATEWAYDEVは書かなくても大丈夫でした）。&lt;br /&gt;
DNS1、DNS2の設定は/etc/sysconfig/network-scripts/のifcfg-eth0ではコメントアウトしてifcfg-eth1では有効にする。&lt;br /&gt;
&lt;br /&gt;
その後以下のコマンドで設定を反映。&lt;br /&gt;
&lt;pre&gt;# /etc/init.d/network reload&lt;/pre&gt;&lt;br /&gt;
参考：&lt;br /&gt;
&lt;a href="http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/4/html-single/Reference_Guide/index.html#s2-sysconfig-network"&gt;Reference Guide&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://home.att.ne.jp/red/sr20dett/Linux/route.htm"&gt;ルータにするための基本設定&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-2566011287950800936?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/2566011287950800936/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=2566011287950800936' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/2566011287950800936'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/2566011287950800936'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2010/12/centos2.html' title='CentOSでネットワークカード2枚挿しの場合のゲートウェイの設定'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-746543708965261709</id><published>2010-12-19T13:22:00.001+09:00</published><updated>2010-12-22T11:14:35.792+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CentOS'/><title type='text'>CentOSでネットワークをブリッジにする手順</title><content type='html'>&lt;h4&gt;bridge-utilsのインストール&lt;/h4&gt;bridge-utilsをインストールするのを忘れずに。&lt;br /&gt;
&lt;pre&gt;# yum install bridge-utils&lt;/pre&gt;&lt;br /&gt;
&lt;h4&gt;設定ファイルの編集&lt;/h4&gt;以下の説明のMACアドレスとIPアドレスは実際の環境に合わせて適宜読み替えてください。&lt;br /&gt;
/etc/sysconfig/network-scripts/以下のifcfg-eth0を修正し、ifcfg-br0を作成します。&lt;br /&gt;
&lt;br /&gt;
修正前&lt;br /&gt;
&lt;br /&gt;
/etc/sysconfig/network-scripts/ifcfg-eth0&lt;br /&gt;
&lt;pre&gt;DEVICE=eth0
TYPE=Ethernet
HWADDR=00:01:02:03:04:05
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.0.100
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
DNS1=192.168.0.1
&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
修正後&lt;br /&gt;
&lt;br /&gt;
/etc/sysconfig/network-scripts/ifcfg-eth0&lt;br /&gt;
&lt;pre&gt;DEVICE=eth0
TYPE=Ethernet
HWADDR=00:01:02:03:04:05
ONBOOT=yes
BRIDGE=br0
#BOOTPROTO=static
#IPADDR=192.168.0.100
#NETMASK=255.255.255.0
#DNS1=192.168.0.1
#GATEWAY=192.168.0.1
&lt;/pre&gt;&lt;br /&gt;
/etc/sysconfig/network-scripts/ifcfg-br0&lt;br /&gt;
&lt;pre&gt;DEVICE=br0
TYPE=Bridge
ONBOOT=yes
BRIDGE=br0
BOOTPROTO=static
IPADDR=192.168.0.100
NETMASK=255.255.255.0
DNS1=192.168.0.1
#HWADDR=00:01:02:03:04:05
&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h4&gt;設定を反映&lt;/h4&gt;&lt;pre&gt;# /etc/init.d/network reload&lt;/pre&gt;&lt;del&gt;リモートから操作している場合は端末の接続が切れるので、端末を閉じて別途開きなおします。&lt;br /&gt;
ただしすぐには繋がりませんでした。20～30秒待ってから接続すると大丈夫でした。&lt;/del&gt;&lt;br /&gt;
&lt;ins&gt;"Shutting down interface br0:"で表示が10秒程度止まりますが、その後"Bringing up interface br0:"も表示されて元の端末で引き続き作業可能でした。&lt;/ins&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-746543708965261709?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/746543708965261709/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=746543708965261709' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/746543708965261709'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/746543708965261709'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2010/12/centos.html' title='CentOSでネットワークをブリッジにする手順'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-5328162949635154490</id><published>2010-12-18T18:59:00.000+09:00</published><updated>2010-12-18T18:59:49.388+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CentOS'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><title type='text'>CentOS x86_64でphpをソースからビルド</title><content type='html'>Apacheもソースからビルドして/usr/local/apache2に入れた場合の話です。&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;sudo yum install mysql-devel.x86_64
tar jxf php-5.3.4.tar.bz2
cd php-5.3.4
./configure --with-apxs2=/usr/local/apache2/bin/apxs --enable-mbstring --with-libdir=lib64 --with-mysql --with-pdo-mysql&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-5328162949635154490?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/5328162949635154490/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=5328162949635154490' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/5328162949635154490'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/5328162949635154490'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2010/12/centos-x8664php.html' title='CentOS x86_64でphpをソースからビルド'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-1696947667736036211</id><published>2010-12-16T13:01:00.003+09:00</published><updated>2010-12-29T16:12:19.107+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CentOS'/><category scheme='http://www.blogger.com/atom/ns#' term='lvm'/><category scheme='http://www.blogger.com/atom/ns#' term='kvm'/><title type='text'>LVMを使用しているKVMのゲストのディスクイメージ拡張</title><content type='html'>参考：&lt;br /&gt;
&lt;a href="http://www.crimson-iris.com/~aya/archives/2008/06/cilvm.html"&gt;あやの日常あるいは平穏な日々: 【CI鯖】LVM拡張を試みる&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://www.maruko2.com/mw/CentOS_%E3%81%A7_LVM_%E7%89%A9%E7%90%86/%E8%AB%96%E7%90%86%E3%83%9C%E3%83%AA%E3%83%A5%E3%83%BC%E3%83%A0%E3%82%B5%E3%82%A4%E3%82%BA%E3%82%92%E7%B8%AE%E5%B0%8F%E3%81%99%E3%82%8B"&gt;CentOS で LVM 物理/論理ボリュームサイズを縮小する - maruko2 Note.&lt;/a&gt;&lt;br /&gt;
2010-12-29追記：こちら↑を参考にスワップパーティションは一旦削除してから拡張してその後スワップパーティションを作り直すほうがよいです。そうしない場合system-config-lvmで見るとLogVol00の物理領域がLogVol01を挟んで2つに分かれてしまいました。&lt;br /&gt;
&lt;br /&gt;
&lt;h4&gt;イメージファイルの拡張&lt;/h4&gt;&lt;br /&gt;
まずイメージファイルのフォーマットを確認します。&lt;br /&gt;
&lt;pre&gt;# qemu-img info /var/lib/libvirt/images/vm1.img&lt;/pre&gt;実行結果はこんな感じ。&lt;br /&gt;
&lt;pre&gt;image: /var/lib/libvirt/images/vm1.img
file format: raw
virtual size: 10G (10737418240 bytes)
disk size: 7.5G&lt;/pre&gt;もしfile format: rawとなっていなければ、qemu-img convertでrawに変換します。&lt;br /&gt;
&lt;br /&gt;
10Gに6G追加する場合は以下のようにします。イメージファイルのバックアップをとった上で、ddのseekを使って末尾に6Gの領域を追加します。&lt;br /&gt;
&lt;pre&gt;# cd /var/lib/libvirt/images
# cp vm1.img vm1.img.bak
# dd if=/dev/zero of=vm1.img bs=1G count=6 seek=10&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;# cd /var/lib/libvirt/images
# mv vm1.img vm1.img.bak
# dd if=/dev/zero of=zero6G.img bs=1G count=6
# cat vm1.img.bak zero6G.img &gt; vm1.img&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://hnakamur.blogspot.com/2010/12/kvmhddlive-cd.html"&gt;hnakamur’s blog: KVMのゲストのHDDをマウントしてLive CDからブート&lt;/a&gt;の手順でLive CDからブートします。&lt;br /&gt;
&lt;br /&gt;
テキストモード「Boot (text mode)」を選択し、ログインプロンプトが出たらrootでパスワード無しでログインします。&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;fdisk /dev/hda&lt;/pre&gt;Linux LVMのパーティションを一旦削除して、サイズを拡大して作り直し、パーティションタイプをLinux LVM(8e)にします。&lt;br /&gt;
/dev/hda2がLinux LVMの場合は、p、d、2、n、p、2、Enter、Enter、t、2、8e、w、qとなります。&lt;br /&gt;
&lt;br /&gt;
再起動します。&lt;br /&gt;
&lt;pre&gt;# reboot&lt;/pre&gt;&lt;br /&gt;
&lt;h4&gt;物理ボリュームの拡張&lt;/h4&gt;&lt;br /&gt;
テキストモード「Boot (text mode)」を選択し、ログインプロンプトが出たらrootでパスワード無しでログインします。&lt;br /&gt;
&lt;br /&gt;
現在の物理ボリュームの状態を確認します。&lt;br /&gt;
&lt;pre&gt;# pvs&lt;/pre&gt;&lt;br /&gt;
/dev/hda2を拡張します。&lt;br /&gt;
&lt;pre&gt;# pvresize /dev/hda2&lt;/pre&gt;&lt;br /&gt;
変更後の物理ボリュームの状態を確認します。&lt;br /&gt;
&lt;pre&gt;# pvs&lt;/pre&gt;&lt;br /&gt;
&lt;h4&gt;論理ボリュームの拡張&lt;/h4&gt;&lt;br /&gt;
ここではVolGroup00/LogVol00を拡張します。私の環境ではこれがルートパーティションになっています。&lt;br /&gt;
&lt;br /&gt;
現在の論理ボリュームの状態を確認します。&lt;br /&gt;
&lt;pre&gt;# lvs&lt;/pre&gt;&lt;br /&gt;
論理ボリュームを拡張します。&lt;br /&gt;
&lt;pre&gt;# lvextend -L+6G /dev/VolGroup00/LogVol00&lt;/pre&gt;&lt;br /&gt;
変更後の論理ボリュームの状態を確認します。&lt;br /&gt;
&lt;pre&gt;# lvs&lt;/pre&gt;&lt;br /&gt;
&lt;h4&gt;ファイルシステムの拡張&lt;/h4&gt;&lt;br /&gt;
マウント解除。&lt;br /&gt;
&lt;pre&gt;# umount /dev/VolGroup00/LogVol00&lt;/pre&gt;&lt;br /&gt;
ファイルシステムチェック。&lt;br /&gt;
&lt;pre&gt;# e2fsck -f /dev/VolGroup00/LogVol00&lt;/pre&gt;&lt;br /&gt;
ファイルシステムのリサイズ。&lt;br /&gt;
&lt;pre&gt;# resize2fs /dev/VolGroup00/LogVol00&lt;/pre&gt;&lt;br /&gt;
&lt;h4&gt;Live CDをシャットダウン&lt;/h4&gt;&lt;pre&gt;# shutdown -h now&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-1696947667736036211?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/1696947667736036211/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=1696947667736036211' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/1696947667736036211'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/1696947667736036211'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2010/12/lvmkvm.html' title='LVMを使用しているKVMのゲストのディスクイメージ拡張'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-6353166426499977182</id><published>2010-12-16T11:21:00.001+09:00</published><updated>2010-12-16T17:25:29.858+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='libvirt'/><category scheme='http://www.blogger.com/atom/ns#' term='CentOS'/><category scheme='http://www.blogger.com/atom/ns#' term='kvm'/><title type='text'>KVMのゲストのHDDをマウントしてLive CDからブート</title><content type='html'>&lt;h4&gt;Live CDの入手と配備&lt;/h4&gt;CentOS-5.5-x86_64-LiveCD.isoをCentOSミラーサイトからダウンロードして/var/lib/libvirt/images/に置きます（場所はどこでも可）。&lt;br /&gt;
&lt;br /&gt;
&lt;h4&gt;KVMでゲストを起動&lt;/h4&gt;libvirtで起動しようと試みましたが失敗（後述）したので、qemu-kvmコマンドで起動します。&lt;br /&gt;
&lt;pre&gt;/usr/libexec/qemu-kvm -m 1024 -smp 1 -boot d \
-drive file=/var/lib/libvirt/images/vm1.img,if=ide \
-cdrom /var/lib/libvirt/images/CentOS-5.5-x86_64-LiveCD.iso \
-vnc localhost:1&lt;/pre&gt;&lt;br /&gt;
この後UltraVNCなどのvncviewerで接続します。&lt;br /&gt;
&lt;br /&gt;
&lt;h4&gt;(失敗メモ) libvirtでCD-ROMからブートを試みるも失敗&lt;/h4&gt;&lt;br /&gt;
/etc/libvirt/qemu/vm1.xmlを以下のように書き換えます。&lt;br /&gt;
&lt;pre&gt;&amp;lt;domain type='kvm'&gt;
  &amp;lt;name&gt;ora1&amp;lt;/name&gt;
  &amp;lt;uuid&gt;97f129e6-9b87-9998-0247-d573d774be81&amp;lt;/uuid&gt;
  &amp;lt;memory&gt;2097152&amp;lt;/memory&gt;
  &amp;lt;currentMemory&gt;2097152&amp;lt;/currentMemory&gt;
  &amp;lt;vcpu&gt;1&amp;lt;/vcpu&gt;
  &amp;lt;os&gt;
    &amp;lt;type arch='x86_64' machine='rhel5.4.0'&gt;hvm&amp;lt;/type&gt;
    &amp;lt;boot dev='cdrom'/&gt;
    &amp;lt;boot dev='hd'/&gt;
  &amp;lt;/os&gt;
  &amp;lt;features&gt;
    &amp;lt;acpi/&gt;
    &amp;lt;apic/&gt;
    &amp;lt;pae/&gt;
  &amp;lt;/features&gt;
  &amp;lt;clock offset='utc'/&gt;
  &amp;lt;on_poweroff&gt;destroy&amp;lt;/on_poweroff&gt;
  &amp;lt;on_reboot&gt;restart&amp;lt;/on_reboot&gt;
  &amp;lt;on_crash&gt;restart&amp;lt;/on_crash&gt;
  &amp;lt;devices&gt;
    &amp;lt;emulator&gt;/usr/libexec/qemu-kvm&amp;lt;/emulator&gt;
    &amp;lt;disk type='file' device='disk'&gt;
      &amp;lt;driver name='qemu' cache='none'/&gt;
      &amp;lt;source file='/var/lib/libvirt/images/vm1.img'/&gt;
      &amp;lt;target dev='hda' bus='ide'/&gt;
    &amp;lt;/disk&gt;
    &amp;lt;disk type='file' device='cdrom'&gt;
      &amp;lt;driver name='qemu'/&gt;
      &amp;lt;source file='/var/lib/libvirt/images/CentOS-5.5-x86_64-LiveCD.iso'/&gt;
      &amp;lt;target dev='hdc' bus='ide'/&gt;
      &amp;lt;readonly/&gt;
    &amp;lt;/disk&gt;
    &amp;lt;interface type='network'&gt;
      &amp;lt;mac address='54:52:00:54:37:df'/&gt;
      &amp;lt;source network='default'/&gt;
    &amp;lt;/interface&gt;
    &amp;lt;serial type='pty'&gt;
      &amp;lt;target port='0'/&gt;
    &amp;lt;/serial&gt;
    &amp;lt;console type='pty'&gt;
      &amp;lt;target port='0'/&gt;
    &amp;lt;/console&gt;
    &amp;lt;input type='mouse' bus='ps2'/&gt;
    &amp;lt;graphics type='vnc' port='5901' autoport='no'/&gt;
  &amp;lt;/devices&gt;
&amp;lt;/domain&gt;
&lt;/pre&gt;変更内容は&lt;br /&gt;
&lt;pre&gt;&amp;lt;boot dev='cdrom'/&gt;
&lt;/pre&gt;と&lt;br /&gt;
&lt;pre&gt;&amp;lt;disk type='file' device='cdrom'&gt;
      &amp;lt;driver name='qemu'/&gt;
      &amp;lt;source file='/var/lib/libvirt/images/CentOS-5.5-x86_64-LiveCD.iso'/&gt;
      &amp;lt;target dev='hdc' bus='ide'/&gt;
      &amp;lt;readonly/&gt;
    &amp;lt;/disk&gt;
&lt;/pre&gt;の追加です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
上記の定義を反映。&lt;br /&gt;
&lt;pre&gt;# virsh define /etc/libvirt/qemu/vm1.xml
&lt;/pre&gt;&lt;br /&gt;
起動してコンソールに接続&lt;br /&gt;
&lt;pre&gt;# virsh start vm1; virsh console vm1
&lt;/pre&gt;&lt;br /&gt;
gparted-live-0.7.1-1.isoもダウンロードして/var/lib/libvirt/images/に配置し、&lt;br /&gt;
&amp;lt;source file='/var/lib/libvirt/images/CentOS-5.5-x86_64-LiveCD.iso'/&gt;&lt;br /&gt;
を&lt;br /&gt;
&amp;lt;source file='/var/lib/libvirt/images/gparted-live-0.7.1-1.iso'/&gt;&lt;br /&gt;
に変えてみても同じでした。&lt;br /&gt;
&lt;br /&gt;
おそらくCentOS-5.5-x86_64-LiveCD.isoとgparted-live-0.7.1-1.isoはシリアルコンソールで繋がるように作られていないということなのかと思います。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-6353166426499977182?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/6353166426499977182/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=6353166426499977182' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/6353166426499977182'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/6353166426499977182'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2010/12/kvmhddlive-cd.html' title='KVMのゲストのHDDをマウントしてLive CDからブート'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-3772378617261169916</id><published>2010-12-15T19:12:00.000+09:00</published><updated>2010-12-15T19:12:42.519+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='oracle'/><title type='text'>Oracleのデータベースをsysアカウントでエクスポートするときのコマンド</title><content type='html'>単にシングルクォートで囲むのはエラーになりました。Linux x86環境での話。&lt;br /&gt;
&lt;pre&gt;exp \"SYS/oraAdmin AS SYSDBA\" full=y file=db1.dmp log=exp_db1.log
&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-3772378617261169916?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/3772378617261169916/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=3772378617261169916' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/3772378617261169916'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/3772378617261169916'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2010/12/oraclesys.html' title='Oracleのデータベースをsysアカウントでエクスポートするときのコマンド'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-2205046351202315423</id><published>2010-12-13T18:02:00.001+09:00</published><updated>2010-12-13T18:03:16.906+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CentOS'/><category scheme='http://www.blogger.com/atom/ns#' term='heartbeat'/><title type='text'>CentOSでheartbeatでVIP引き継ぎ(その2)</title><content type='html'>&lt;a href="http://hnakamur.blogspot.com/2009/11/centosheartbeatvip.html"&gt;hnakamur’s blog: CentOSでheartbeatでVIP引き継ぎ&lt;/a&gt;をまたやってみて少し知識が増えたので追記。&lt;br /&gt;
&lt;br /&gt;
&lt;h4&gt;heartbeatのインストール時エラーの回避方法&lt;/h4&gt;&lt;br /&gt;
heartbeatのインストール時にエラーになる件は、一旦heartbeat-pilsとheartbeat-stonithを入れてからheartbeatを入れれば回避できるとのこと。&lt;br /&gt;
&lt;pre&gt;sudo yum install heartbeat-pils heartbeat-stonith
sudo yum install heartbeat
&lt;/pre&gt;&lt;br /&gt;
参考：&lt;a href="http://wiki.berrystyle.jp/?CentOS52_heardbeat%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%80%81%E5%88%9D%E6%9C%9F%E8%A8%AD%E5%AE%9A"&gt;ベリラボ - wiki - CentOS52_heardbeatインストール、初期設定&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h4&gt;/etc/ha.d/haresources&lt;/h4&gt;以下のようにネットワークアドレスのビット数やデバイスも指定可能。詳しくはサンプルファイル(/usr/share/doc/heartbeat-2.1.3/haresources)参照。&lt;br /&gt;
&lt;pre&gt;vm1 IPaddr::192.168.101.20/24/eth0
&lt;/pre&gt;&lt;br /&gt;
なお、このIPaddrは/etc/ha.d/resource.d/に置かれているスクリプト名で、手動でも実行可能です。&lt;br /&gt;
&lt;br /&gt;
手動VIP追加&lt;br /&gt;
&lt;pre&gt;sudo /etc/ha.d/resource.d/IPaddr 192.168.101.20/24/eth0 start&lt;/pre&gt;手動VIP削除&lt;br /&gt;
&lt;pre&gt;sudo /etc/ha.d/resource.d/IPaddr 192.168.101.20/24/eth0 stop&lt;/pre&gt;&lt;br /&gt;
&lt;h4&gt;ERROR: Setup problem: Couldn't find utility /bin/gawkの対処法&lt;/h4&gt;CentOSをインストール時にBaseのチェックもはずして最小構成にした場合の話です。&lt;br /&gt;
&lt;br /&gt;
heartbeatの実行中に/var/log/ha-logに以下のエラーが発生しました。&lt;br /&gt;
&lt;pre&gt;ResourceManager[2873][2943]: 2010/12/13_16:08:00 info: Running /etc/ha.d/resource.d/IPaddr 192.168.101.20 start
IPaddr[2962][2976]: 2010/12/13_16:08:00 ERROR: Setup problem: Couldn't find utility /bin/gawk
IPaddr[2945][2977]: 2010/12/13_16:08:00 ERROR:  Program is not installed
R
&lt;/pre&gt;&lt;br /&gt;
gawkが無いとインストールしようとしましたが、すでに入っていました。&lt;br /&gt;
&lt;br /&gt;
ググるとこちらに対処法が載ってました。&lt;br /&gt;
&lt;a href="http://www.gossamer-threads.com/lists/linuxha/users/46840"&gt;VIP not appearing when heartbeat starts | Linux-HA | Users&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
whichをインストールすれば解決します。&lt;br /&gt;
&lt;pre&gt;sudo yum install which&lt;/pre&gt;&lt;br /&gt;
&lt;h4&gt;実験用監視スクリプト&lt;/h4&gt;&lt;br /&gt;
&lt;pre&gt;#!/bin/sh

url=http://192.168.101.20/
timeout=2

while :
do
  response=`curl -s -S --connect-timeout $timeout $url`
  if [ $? -ne 0 ]
  then
    break
  fi

  echo "`date +%Y-%m-%dT%k:%M:%S` $response"

  sleep 1
done
&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-2205046351202315423?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/2205046351202315423/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=2205046351202315423' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/2205046351202315423'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/2205046351202315423'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2010/12/centosheartbeatvip2.html' title='CentOSでheartbeatでVIP引き継ぎ(その2)'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-1276841571609364978</id><published>2010-12-07T17:41:00.001+09:00</published><updated>2010-12-07T17:43:07.002+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CentOS'/><category scheme='http://www.blogger.com/atom/ns#' term='arping'/><category scheme='http://www.blogger.com/atom/ns#' term='VIP'/><title type='text'>手動でVIP切り替え実験</title><content type='html'>192.168.0.0/24のネットワークで&lt;br /&gt;
192.168.0.11 host1&lt;br /&gt;
192.168.0.12 host2&lt;br /&gt;
192.168.0.12 host3&lt;br /&gt;
で192.168.0.10をVIPとして使う場合。&lt;br /&gt;
（実際は他のネットワークで実験したのを読み替えてこの記事を書いているので間違っている可能性もあります）&lt;br /&gt;
&lt;br /&gt;
まず、host1にVIPを追加。&lt;br /&gt;
&lt;pre&gt;host1# ip addr add 192.168.0.10/24 dev eth0
&lt;/pre&gt;&lt;br /&gt;
確認。&lt;br /&gt;
&lt;pre&gt;host1# ip addr show
&lt;/pre&gt;&lt;br /&gt;
&lt;pre&gt;host3$ curl http://192.168.0.10/
# ⇒host1のページが表示される
&lt;/pre&gt;&lt;br /&gt;
VIPをhost1で削除して、host2に追加。&lt;br /&gt;
&lt;pre&gt;host1# ip addr del 192.168.0.10/24 dev eth0
&lt;/pre&gt;&lt;pre&gt;host2# ip addr add 192.168.0.10/24 dev eth0
host2# arping -q -A -I eth0 -c 1 192.168.0.10
&lt;/pre&gt;arpingでGratuitous ARPをうつ方法は&lt;br /&gt;
http://linux-ip.net/html/ether-arp.html&lt;br /&gt;
の"Example 2.2. Gratuitous ARP reply frames"を参考にしました。&lt;br /&gt;
send_arpというコマンドもあるそうですが標準ではインストールされていないのに対して、arpingはインストールされているのでこちらを使うほうがいいです。&lt;br /&gt;
&lt;br /&gt;
確認。&lt;br /&gt;
&lt;pre&gt;host3$ curl http://192.168.0.10/
# ⇒host2のページが表示される
&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-1276841571609364978?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/1276841571609364978/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=1276841571609364978' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/1276841571609364978'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/1276841571609364978'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2010/12/vip.html' title='手動でVIP切り替え実験'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-6061446742330119810</id><published>2010-12-04T17:21:00.000+09:00</published><updated>2010-12-04T17:21:58.228+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CentOS'/><category scheme='http://www.blogger.com/atom/ns#' term='ext4'/><title type='text'>CentOS5.5でext3ファイルシステムをext4に変換</title><content type='html'>参考：&lt;br /&gt;
[1] &lt;a href="http://www.fractalizer.ru/frpost_472/centos-migrating-root-and-any-other-filesystem-from-ext3-to-ext4/"&gt;FractalizeR’s WebSite » CentOS: Migrating root (and any other) filesystem from ext3 to ext4&lt;/a&gt;&lt;br /&gt;
[2] &lt;a href="https://ext4.wiki.kernel.org/index.php/Ext4_Howto"&gt;Ext4 Howto - Ext4&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;# yum update
# yum install e4fsprogs
&lt;/pre&gt;&lt;br /&gt;
まずはrootパーティション以外で実験。/etc/fstabを編集し対象パーティションのファイルシステムタイプをext3からext4に修正。ext3のファイルシステムはext4としてもマウントできる。&lt;a href="http://ja.wikipedia.org/wiki/Ext4"&gt;ext4 - Wikipedia&lt;/a&gt;参照。&lt;br /&gt;
&lt;pre&gt;# vi /etc/fstab
&lt;/pre&gt;&lt;br /&gt;
ext4対応のinitrdを作成。&lt;br /&gt;
&lt;pre&gt;# mv /boot/initrd-`uname -r`.img /boot/initrd-`uname -r`.img.old
# mkinitrd -v --with=ext4 /boot/initrd-`uname -r`.img `uname -r`
&lt;/pre&gt;&lt;br /&gt;
作成したinitrdを使うため再起動。&lt;br /&gt;
&lt;pre&gt;# reboot
&lt;/pre&gt;&lt;br /&gt;
再起動したら対象のパーティション（ここでは/dev/sdc2とします）をアンマウントして、ext4に変換。tune2fsではなくtune4fsを使用していることに注意。オプションの意味は&lt;a href="http://www.fractalizer.ru/frpost_472/centos-migrating-root-and-any-other-filesystem-from-ext3-to-ext4/"&gt;[1]&lt;/a&gt;参照。&lt;br /&gt;
&lt;pre&gt;# umount /dev/sdc2
# tune4fs -O extents,uninit_bg,dir_index,flex_bg -m 1 /dev/sdc2
&lt;/pre&gt;"Please run e4fsck on the filesystem."と言われるので実行します。&lt;a href="http://www.fractalizer.ru/frpost_472/centos-migrating-root-and-any-other-filesystem-from-ext3-to-ext4/"&gt;[1]&lt;/a&gt;ではe4fsckではなくfsckにしていますが、ここではe4fsckにしてみます。オプションは&lt;a href="http://www.fractalizer.ru/frpost_472/centos-migrating-root-and-any-other-filesystem-from-ext3-to-ext4/"&gt;[1]&lt;/a&gt;を真似します。&lt;br /&gt;
&lt;pre&gt;# e4fsck -pvfDC0 /dev/sdc1
/dev/sdc1: One or more block group descriptor checksums are invalid.  FIXED.
/dev/sdc1: Group descriptor 0 checksum is invalid.

/dev/sdc1: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY.
        (i.e., without -a or -p options)
&lt;/pre&gt;すると&lt;a href="http://www.fractalizer.ru/frpost_472/centos-migrating-root-and-any-other-filesystem-from-ext3-to-ext4/"&gt;[1]&lt;/a&gt;に書かれていた通り、-pオプションを外すように言われるので外して再実行。&lt;br /&gt;
&lt;pre&gt;# e4fsck -vfDC0 /dev/sdc1
&lt;/pre&gt;すると&lt;br /&gt;
&lt;pre&gt;e4fsck 1.41.9 (22-Aug-2009)
One or more block group descriptor checksums are invalid.  Fix&lt;y&gt;?
&lt;/pre&gt;と聞かれるのでyを押します。あとはしばらく待ちます。&lt;br /&gt;
無事変換が終わったらマウントします。&lt;br /&gt;
&lt;pre&gt;# mount /dev/sdc1
&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-6061446742330119810?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/6061446742330119810/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=6061446742330119810' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/6061446742330119810'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/6061446742330119810'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2010/12/centos55ext3ext4.html' title='CentOS5.5でext3ファイルシステムをext4に変換'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-9180044466290605108</id><published>2010-12-04T16:59:00.000+09:00</published><updated>2010-12-04T16:59:02.385+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='teraterm'/><title type='text'>TeraTermでの操作ログを接続先・日付毎に保存する</title><content type='html'>&lt;a href="http://hnakamur.blogspot.com/2010/11/tera-term.html"&gt;Tera Termでの自動ログイン&lt;/a&gt;のように接続先毎にショートカットを作るのが前提です。あとは、接続先毎にログファイルの設定を変えたiniファイルを作っておいてtterm.exeの/Fオプションで指定すればOKです。&lt;br /&gt;
&lt;br /&gt;
以下はsunshine11というホスト名用の設定です。&lt;br /&gt;
&lt;br /&gt;
[Setup]/[Additional Settings]&lt;br /&gt;
[Log]タブ&lt;br /&gt;
Default log file name：tterm_sunshine11-%Y-%m-%d.log&lt;br /&gt;
Default log save folder：C:\Users\hnakamur\Documents\TeraTerm&lt;br /&gt;
Auto start logging：チェックオン&lt;br /&gt;
[Setup]/[Save setup]でC:\Users\hnakamur\Documents\TeraTerm\tterm_sunshine11.iniに保存します。&lt;br /&gt;
&lt;br /&gt;
tterm.exeのショートカットは以下のようにします。&lt;br /&gt;
&lt;pre&gt;"C:\Program Files (x86)\teraterm\ttermpro.exe" /M=C:\Users\hnakamur\Documents\TeraTerm\sunshine11_local.ttl /F=C:\Users\hnakamur\Documents\TeraTerm\tterm_sunshine11.ini&lt;/pre&gt;&lt;br /&gt;
tterm_sunshine11.iniの内容は以下の通りです。&lt;br /&gt;
&lt;pre&gt;connect '192.168.11.101:22 /ssh /2 /auth=pageant /user=hnakamur'&lt;/pre&gt;&lt;br /&gt;
Linuxのscreenのログと違って、色つきlsのエスケープシーケンスは省いてログ出力されるので後から参照する際に便利そうです。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-9180044466290605108?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/9180044466290605108/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=9180044466290605108' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/9180044466290605108'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/9180044466290605108'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2010/12/teraterm.html' title='TeraTermでの操作ログを接続先・日付毎に保存する'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-2101198941737426708</id><published>2010-11-19T17:09:00.000+09:00</published><updated>2010-11-19T17:09:52.986+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CentOS'/><category scheme='http://www.blogger.com/atom/ns#' term='kvm'/><category scheme='http://www.blogger.com/atom/ns#' term='iptables'/><title type='text'>KVMでブリッジを使う設定でCentOSをインストール</title><content type='html'>&lt;p&gt;参考：&lt;a href="http://www.oss-d.net/index.php?%E4%BB%AE%E6%83%B3%E5%8C%96/KVM"&gt;CentOS/KVMによるサーバ仮想化 - OSSでLinuxサーバ構築&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;前提&lt;/p&gt;&lt;p&gt;DNSサーバ兼DHCPサーバがLAN内に存在。IPアドレスは192.168.0.1とします。&lt;/p&gt;&lt;p&gt;ホスト、ゲストとも固定IPを使用。IPアドレスはそれぞれ192.168.0.2、192.168.0.3とします。&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;ホスト側のネットワーク変更&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;/etc/sysconfig/network-scripts/ifcfg-br0を作成。&lt;/p&gt;&lt;pre&gt;# Bridge
DEVICE=br0
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.0.2
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
DNS1=192.168.0.1
TYPE=Bridge
DELAY=0
&lt;/pre&gt;&lt;br /&gt;
&lt;p&gt;/etc/sysconfig/network-scripts/ifcfg-eth0を編集（HWADDRは編集前の値をそのまま残す）。&lt;/p&gt;&lt;pre&gt;DEVICE=eth0
TYPE=Ethernet
HWADDR=00:00:00:00:00:00
ONBOOT=yes
BRIDGE=br0
&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;p&gt;以下のコマンドを実行してネットワーク再起動。&lt;/p&gt;&lt;pre&gt;# /etc/init.d/network restart
&lt;/pre&gt;&lt;br /&gt;
&lt;p&gt;ゲストのブリッジ用にホストのiptablesを変更。これを忘れるとゲストで名前解決が出来ないので注意。&lt;/p&gt;&lt;p&gt;/etc/sysctl.confを編集して以下の設定を追加または変更。&lt;/p&gt;&lt;pre&gt;net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 0
net.bridge.bridge-nf-call-arptables = 0
&lt;/pre&gt;&lt;br /&gt;
&lt;p&gt;以下のコマンドを実行して設定を即座に反映。&lt;/p&gt;&lt;pre&gt;# sysctl -p /etc/sysctl.conf
# /etc/init.d/libvirtd reload
&lt;/pre&gt;&lt;br /&gt;
&lt;p&gt;以下のコマンドでゲストOSをインストール（一旦DHCPでインストールします）。&lt;/p&gt;&lt;pre&gt;# virt-install --connect qemu:///system -n vm1 -r 512 --vcpus=1 \
 --disk path=/var/lib/libvirt/images/vm1.img,size=100 \
 --os-type linux --accelerate \
 --bridge=br0 \
 --location='http://ftp.riken.jp/Linux/centos/5.5/os/x86_64' \
 --extra-args='console=tty0 console=ttyS0,115200n8'
&lt;/pre&gt;&lt;br /&gt;
&lt;p&gt;インストールが終わったら、virsh consoleなどで繋いで、ゲストの/etc/sysconfig/network-scripts/ifcfg-eth0を以下のように書き換え（HWADDRは編集前の値をそのまま残す）。&lt;/p&gt;&lt;pre&gt;DEVICE=eth0
BOOTPROTO=none
HWADDR=00:00:00:00:00:00
ONBOOT=yes
NETMASK=255.255.255.0
IPADDR=192.168.0.3
GATEWAY=192.168.0.1
DNS1=192.168.0.1
TYPE=Ethernet
&lt;/pre&gt;&lt;p&gt;以下のコマンドでゲストのネットワークを再起動。&lt;/p&gt;&lt;pre&gt;# /etc/init.d/network restart
&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-2101198941737426708?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/2101198941737426708/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=2101198941737426708' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/2101198941737426708'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/2101198941737426708'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2010/11/kvmcentos.html' title='KVMでブリッジを使う設定でCentOSをインストール'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-8116654859668007014</id><published>2010-11-19T16:40:00.000+09:00</published><updated>2010-11-19T16:40:01.699+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ultravnc'/><category scheme='http://www.blogger.com/atom/ns#' term='putty'/><category scheme='http://www.blogger.com/atom/ns#' term='plink'/><title type='text'>UltraVNCのvncviewrとPuttyのplinkでVNCサーバに接続する手順</title><content type='html'>&lt;p&gt;前提&lt;/p&gt;&lt;ul&gt;&lt;li&gt;user1でhost1に接続する。&lt;/li&gt;
&lt;li&gt;pageantを使用。&lt;/li&gt;
&lt;li&gt;vncサーバはlocalhostだけlistenするようにしておく。&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
&lt;p&gt;準備&lt;/p&gt;&lt;p&gt;C:\Program Files\PuTTY\plink.exeのショートカットを作成し、プロパティでリンク先を以下のように編集。&lt;/p&gt;&lt;pre&gt;"C:\Program Files\PuTTY\plink.exe" -ssh -agent -N -L 5900:localhost:5900 user1@host1
&lt;/pre&gt;&lt;p&gt;-Lの引数はローカルポート、リモートホスト、リモートポート。vncサーバはlocalhostだけlistenするようにしてある前提なのでhost1ではなくlocalhostを指定する必要あり。&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;&lt;a href="http://www.uvnc.com/download/"&gt;UltraVNCのダウンロードページ&lt;/a&gt;から&lt;a href="https://www.microsoft.com/technet/security/advisory/2269637.mspx"&gt;vncviewer最新版&lt;/a&gt;をダウンロードしてzipを展開。&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;接続手順&lt;/p&gt;&lt;ol&gt;&lt;li&gt;上記で作成したplinkのショートカットを起動。&lt;/li&gt;
&lt;li&gt;vncviewer.exeを起動して以下のように入力し「Connect」を押す。&lt;br /&gt;
&lt;ul&gt;  &lt;li&gt;VNC Server:にはlocalhostと入力。&lt;/li&gt;
  &lt;li&gt;初回のみ「Options」押す→「Japanese Keyboard」にチェック→「OK」押す→「Save connection settings as default」チェック&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;br /&gt;
&lt;p&gt;切断手順&lt;/p&gt;&lt;ol&gt;  &lt;li&gt;vncviewerのウィンドウを閉じる。&lt;/li&gt;
  &lt;li&gt;plinkのウィンドウを閉じる。&lt;/li&gt;
&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-8116654859668007014?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/8116654859668007014/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=8116654859668007014' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/8116654859668007014'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/8116654859668007014'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2010/11/ultravncvncviewrputtyplinkvnc.html' title='UltraVNCのvncviewrとPuttyのplinkでVNCサーバに接続する手順'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-8768646680143846725</id><published>2010-11-19T16:23:00.003+09:00</published><updated>2010-12-19T16:31:59.916+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CentOS'/><category scheme='http://www.blogger.com/atom/ns#' term='vnc'/><title type='text'>CentOSにvncでGUIログインする設定</title><content type='html'>&lt;p&gt;参考1: &lt;a href="http://wiki.centos.org/HowTos/VNC-Server"&gt;HowTos/VNC-Server - CentOS Wiki&lt;/a&gt;&lt;/p&gt;&lt;p&gt;参考2: &lt;a href="http://d.hatena.ne.jp/bufferings/20081109/1226218869"&gt;CentOSでxinetdでVNCサーバーでGUIログイン - bufferings&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;「GNOME デスクトップ環境」パッケージグループがインストール済みであることが前提（ログイン後GNOME環境を使いたいので）。確認は以下のコマンドで。&lt;/p&gt;&lt;pre&gt;# env LANG=C yum grouplist hidden
&lt;/pre&gt;&lt;p&gt;Installed Groups:のセクションにGNOME Desktop Environmentがあればインストール済み。なければ以下のコマンドでインストール。&lt;/p&gt;&lt;pre&gt;# yum groupinstall "GNOME Desktop Environment"
&lt;/pre&gt;&lt;br /&gt;
&lt;p&gt;gdmが入っていなければインストール。&lt;/p&gt;&lt;pre&gt;# yum install gdm&lt;/pre&gt;&lt;br /&gt;
&lt;p&gt;vnc-serverパッケージをインストール。&lt;/p&gt;&lt;pre&gt;# yum install vnc-server
&lt;/pre&gt;&lt;br /&gt;
&lt;p&gt;パッケージでは&lt;a href="http://wiki.centos.org/HowTos/VNC-Server"&gt;HowTos/VNC-Server - CentOS Wiki&lt;/a&gt;の「2. Configuring un-encrypted VNC」に説明されているようなVNCの利用者毎にポートを分けるような設定になっている。この方式ではVNCのパスワードを入れるとGUIでログイン済みの状態になる。しかし、ユーザ毎にサーバ側を設定する必要があり面倒。&lt;/p&gt;&lt;p&gt;ここでは「5. Remote login with vnc-ltsp-config」に書かれている方式を使うことにした。ただし、vnc-ltsp-configパッケージは使わずに、&lt;a href="http://d.hatena.ne.jp/bufferings/20081109/1226218869"&gt;CentOSでxinetdでVNCサーバーでGUIログイン - bufferings&lt;/a&gt;を参考に手動で設定を行う。&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;xinetdからvncサーバを実行するのでvncserverは止めて自動起動も止める。&lt;/p&gt;&lt;pre&gt;# /etc/init.d/vncserver stop
# chkconfig vncserver off
&lt;/pre&gt;&lt;br /&gt;
&lt;p&gt;xinetdパッケージをインストール。&lt;/p&gt;&lt;pre&gt;# yum install xinetd
&lt;/pre&gt;&lt;br /&gt;
&lt;p&gt;/etc/servicesに以下の行を追加。&lt;/p&gt;&lt;pre&gt;vnc-5900        5900/tcp                        # vnc
&lt;/pre&gt;&lt;br /&gt;
&lt;p&gt;以下の内容で/etc/xinetd.d/vncを作成。&lt;/p&gt;&lt;pre&gt;service vnc-5900
{
        disable = no
        socket_type     = stream
        wait            = no
        user            = nobody
        group           = tty
        server          = /usr/bin/Xvnc
        server_args     = -inetd -query localhost -once -geometry 1024x768 -depth 16 -securitytypes=none
        log_on_failure  += USERID
}
&lt;/pre&gt;&lt;br /&gt;
&lt;p&gt;xinetd再起動。&lt;/p&gt;&lt;pre&gt;# /etc/init.d/xinetd restart
&lt;/pre&gt;&lt;br /&gt;
&lt;p&gt;OS起動時のランレベルを5(GUI)に変更。&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;/etc/inittabを編集して、id:の後の数字を5に変更。&lt;/p&gt;&lt;pre&gt;# Default runlevel. The runlevels used by RHS are:
#   0 - halt (Do NOT set initdefault to this)
#   1 - Single user mode
#   2 - Multiuser, without NFS (The same as 3, if you do not have networking)
#   3 - Full multiuser mode
#   4 - unused
#   5 - X11
#   6 - reboot (Do NOT set initdefault to this)
#
id:5:initdefault:
&lt;/pre&gt;&lt;br /&gt;
&lt;p&gt;ランレベル3の状態で起動していたら、以下のコマンドで5に変更。&lt;/p&gt;&lt;pre&gt;# init 5
&lt;/pre&gt;&lt;br /&gt;
&lt;p&gt;/etc/gdm/custom.confを編集。編集箇所のみ抜粋。&lt;/p&gt;&lt;pre&gt;[daemon]
RemoteGreeter=/usr/libexec/gdmgreeter

[security]
DisallowTCP=false

[xdmcp]
Enable=true
&lt;/pre&gt;&lt;br /&gt;
&lt;p&gt;gdm再起動&lt;/p&gt;&lt;pre&gt;# gdm-restart
&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-8768646680143846725?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/8768646680143846725/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=8768646680143846725' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/8768646680143846725'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/8768646680143846725'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2010/11/centosvncgui.html' title='CentOSにvncでGUIログインする設定'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-7609889825539289954</id><published>2010-11-19T15:13:00.001+09:00</published><updated>2010-11-19T15:14:43.800+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='teraterm'/><title type='text'>Tera Termでの自動ログイン</title><content type='html'>&lt;p&gt;参考1：&lt;a href="http://sourceforge.jp/magazine/10/01/08/0825239/3"&gt;Tera Termマクロ活用入門（1）：各種ログインを自動化する - SourceForge.JP Magazine : オープンソースの話題満載&lt;/a&gt;&lt;/p&gt;&lt;p&gt;参考2：Tera Termのヘルプ（[Help]/[Index]メニュー）&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;user1というユーザでhost1というホストに接続する例。pageantを使う前提。&lt;/p&gt;&lt;p&gt;以下の内容でC:\Program Files\teraterm\user1@host1.ttlというファイルを作成。&lt;/p&gt;&lt;pre&gt;connect 'host1 /ssh /2 /auth=pageant /user=user1'
&lt;/pre&gt;&lt;br /&gt;
&lt;p&gt;C:\Program Files\teraterm\ttermpro.exeのショートカットを作成し、プロパティのリンク先を以下のように変更。&lt;/p&gt;&lt;pre&gt;"C:\Program Files\teraterm\ttermpro.exe" /M=user1@host1.ttl&lt;/pre&gt;&lt;br /&gt;
&lt;p&gt;pageantを起動済みなら、このショートカットを起動するだけでログインまで完了します。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-7609889825539289954?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/7609889825539289954/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=7609889825539289954' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/7609889825539289954'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/7609889825539289954'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2010/11/tera-term.html' title='Tera Termでの自動ログイン'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-3035424702300348207</id><published>2010-10-14T13:36:00.000+09:00</published><updated>2010-10-14T13:36:27.552+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Subversion'/><category scheme='http://www.blogger.com/atom/ns#' term='svnsync'/><title type='text'>WindowsマシンにsvnsyncでSubversionレポジトリをミラーリングする手順</title><content type='html'>&lt;h3&gt;Windows用のsvnsyncを用意&lt;/h3&gt;&lt;p&gt;Windows用Subversionは&lt;a href="http://www.open.collab.net/jp/downloads/subversion/"&gt;CollabNet Subversionダウンロード&lt;/a&gt;からダウンロードできます。svnsyncはCollabNet Subversion Command-Line Clientには含まれないので、CollabNet Subversion Edge（サーバー）をダウンロード、インストールする必要があります。&lt;br /&gt;
&lt;/p&gt;&lt;h3&gt;ミラー先レポジトリの作成とセットアップ&lt;/h3&gt;&lt;pre&gt;C:\svn_repo&gt;svnadmin create PROJ
C:\svn_repo&gt;echo exit 0 &gt; PROJ\hooks\pre-revprop-change.bat
C:\svn_repo&gt;svnsync init file:///svn_repo/PROJ https://remote-subversion-server.example.com/svn/PROJ
&lt;/pre&gt;&lt;p&gt;なお、file:///にfile://C:/のようにドライブを含めるとエラーになりました。試した感じではfile:///でカレントドライブのディレクトリを見ているようです。&lt;/p&gt;&lt;h3&gt;ミラーリング実行&lt;/h3&gt;&lt;pre&gt;C:\svn_repo&gt;svnsync sync file:///svn_repo/PROJ&lt;/pre&gt;&lt;h3&gt;ロックが残ってしまった場合の削除方法&lt;/h3&gt;&lt;p&gt;ミラーリング実行中にCtrl+Cで止めた場合は、ロックが残ってしまい再度ミラーリングしようとすると以下のようなエラーが出ます。&lt;/p&gt;&lt;pre&gt;C:\svn_repo&gt;svnsync sync file:///svn_repo/PROJ
Failed to get lock on destination repos, currently held by ...&lt;/pre&gt;&lt;p&gt;以下のコマンドでロックを開放します。&lt;/p&gt;&lt;pre&gt;svn pdel --revprop -r 0 svn:sync-lock file:///lac_svn_repo/TECS
&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
参考：&lt;a href="http://malsserver.blogspot.com/2008/12/failed-to-get-lock-on-destination-repos.html"&gt;Malachi&amp;apos;s Server: Failed to get lock on destination repos, currently held by....&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-3035424702300348207?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/3035424702300348207/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=3035424702300348207' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/3035424702300348207'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/3035424702300348207'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2010/10/windowssvnsyncsubversion.html' title='WindowsマシンにsvnsyncでSubversionレポジトリをミラーリングする手順'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-3198210439906134818</id><published>2010-10-01T17:03:00.000+09:00</published><updated>2010-10-01T17:03:09.273+09:00</updated><title type='text'>CentOS5.5のyumレポジトリリストにrpmforgeを追加</title><content type='html'>&lt;a href="http://hnakamur.blogspot.com/2009/08/centosyumrpmforge.html"&gt;hnakamur’s blog: CentOSのyumレポジトリにrpmforgeを追加&lt;/a&gt;の時からURLが変わってました。&lt;br /&gt;
&lt;br /&gt;
参考：&lt;br /&gt;
&lt;a href="http://rpmrepo.org/RPMforge/Using"&gt;RPMforge/Using - RPMRepo Wiki&lt;/a&gt;&lt;br /&gt;
AdditionalResources/Repositories/RPMForge - CentOS Wiki&lt;br /&gt;
http://wiki.centos.org/AdditionalResources/Repositories/RPMForge?action=show&amp;redirect=Repositories%2FRPMForge&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;yum-prioritiesを導入&lt;/h2&gt;&lt;pre&gt;# yum install yum-priorities
# vi /etc/yum.repos.d/CentOS-Base.repo&lt;/pre&gt;&lt;blockquote&gt;[base], [addons], [updates], [extras] ... priority=1 &lt;br /&gt;
[contrib] ... priority=2&lt;br /&gt;
[centosplus] needs the same priority as [base], ... but should be left disabled (enabled=0)&lt;br /&gt;
Third Party Repos such as rpmforge ... priority=N  (where N is &gt; 10 and based on your preference)&lt;/blockquote&gt;&lt;h2&gt;rpmforgeのセットアップ&lt;/h2&gt;&lt;pre&gt;# wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.1-1.el5.rf.i386.rpm
pm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt
# rpm -i rpmforge-release-0.3.6-1.el5.rf.i386.rpm
# vi /etc/yum.repos.d/rpmforge.repo&lt;/pre&gt;&lt;p&gt;変更内容&lt;/p&gt;&lt;pre&gt;--- /etc/yum.repos.d/rpmforge.repo      2009/08/21 09:08:58     1.1
+++ /etc/yum.repos.d/rpmforge.repo      2009/08/21 09:09:11
@@ -9,3 +9,4 @@
 protect = 0
 gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag
 gpgcheck = 1
+priority = 11&lt;/pre&gt;&lt;p&gt;設定の確認&lt;/p&gt;&lt;pre&gt;$ sudo yum check-update&lt;/pre&gt;&lt;p&gt;rpmforgeの行が出ればOK。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-3198210439906134818?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/3198210439906134818/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=3198210439906134818' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/3198210439906134818'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/3198210439906134818'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2010/10/centos55yumrpmforge.html' title='CentOS5.5のyumレポジトリリストにrpmforgeを追加'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-7473343825662671199</id><published>2010-10-01T11:16:00.000+09:00</published><updated>2010-10-01T11:16:13.658+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CentOS'/><category scheme='http://www.blogger.com/atom/ns#' term='vmware'/><title type='text'>CentOSのvmにVMware Toolsのインストール</title><content type='html'>&lt;p&gt;コンロールでログインした状態で[ツールのインストール]ボタンを押す。&lt;/p&gt;&lt;pre&gt;# yum install perl
# mkdir /media/cdrom
# mount /dev/cdrom /media/cdrom
# cd /tmp
# tar zxf /media/cdrom/VMwareTools-8.4.4-301548.tar.gz
# cd vmware-tools-distrib
# ./vmware-install.pl
&lt;/pre&gt;&lt;p&gt;いろいろ聞かれるので全てリターンでデフォルト値を選択します。その後以下のコマンドを実行します。&lt;/p&gt;&lt;pre&gt;# /etc/init.d/network stop
# rmmod pcnet32
# rmmod vmxnet
# modprobe vmxnet
# /etc/init.d/network start
&lt;/pre&gt;&lt;br /&gt;
&lt;p&gt;表示されるメッセージによるとVMware Toolsをアンインストールしたいときは/usr/bin/vmware-uninstall-tools.plを実行すればよいそうです。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-7473343825662671199?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/7473343825662671199/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=7473343825662671199' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/7473343825662671199'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/7473343825662671199'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2010/10/centosvmvmware-tools.html' title='CentOSのvmにVMware Toolsのインストール'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-7636933033303876608</id><published>2010-10-01T10:37:00.000+09:00</published><updated>2010-10-01T10:37:27.544+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vmware'/><title type='text'>VMware Playerでvmのビープ音を消す</title><content type='html'>&lt;p&gt;VMware Playerでvmのビープ音を消すには*.vmxにmks.noBeep="TRUE"を追加してvm再起動でOKです。&lt;/p&gt;&lt;p&gt;試したVMware Playerのバージョンは3.1.2 build-301548です。&lt;/p&gt;&lt;p&gt;C:\Documents and Settings\[User Name]\Application Data\VMware\preferences.iniにmks.noBeep="TRUE"を追加してVMware Playerを再起動する方法は効きませんでした。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-7636933033303876608?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/7636933033303876608/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=7636933033303876608' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/7636933033303876608'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/7636933033303876608'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2010/10/vmware-playervm.html' title='VMware Playerでvmのビープ音を消す'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-4972111546194052204</id><published>2010-10-01T09:48:00.000+09:00</published><updated>2010-10-01T09:48:53.962+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vmware'/><title type='text'>vmwareのイメージのコピー</title><content type='html'>&lt;ol&gt;&lt;li&gt;コピー対象のゲストOSは停止しておく&lt;/li&gt;
&lt;li&gt;マイドキュメントの"My Virtual Machines"以下にあるフォルダをコピーしてリネーム&lt;/li&gt;
&lt;li&gt;VMware Playerで[ファイル]/[仮想マシンを開く]メニューで作成したフォルダ内の*.vmxを開く&lt;/li&gt;
&lt;li&gt;追加されたvmを選んで[仮想マシン設定の編集]ボタン⇒[オプション]タブの[仮想マシン名]を適宜変更⇒[OK]ボタン&lt;/li&gt;
&lt;li&gt;[仮想マシンの再生]ボタン⇒[コピーしました]ラジオボタンを選んで[OK]ボタン&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;vmの順序を並び替えたい場合は、登録済みのvmを[ファイル]/[仮想マシンを開く]メニューで一番上に来るのでそれで頑張れば出来る。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-4972111546194052204?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/4972111546194052204/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=4972111546194052204' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/4972111546194052204'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/4972111546194052204'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2010/10/vmware.html' title='vmwareのイメージのコピー'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-4842368534952401617</id><published>2010-09-25T18:25:00.002+09:00</published><updated>2010-09-25T18:26:37.903+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CentOS'/><category scheme='http://www.blogger.com/atom/ns#' term='PostgreSQL'/><title type='text'>CentOS: PostgreSQLインストール</title><content type='html'>&lt;p&gt;PostgreSQLは以前は&lt;a href="http://www.postgresql.org/download/linux#yum"&gt;PostgreSQL: Linux packages&lt;/a&gt;の通りレポジトリを追加してインストールしていましたが、8.4ならupdatesレポジトリにあったのでそちらから入れてみました。&lt;/p&gt;&lt;pre&gt;# yum install postgresql84-server
# /sbin/service postgresql initdb
# /etc/init.d/postgresql start
# /sbin/chkconfig postgresql on
# /sbin/chkconfig postgresql --list
postgresql      0:off   1:off   2:on    3:on    4:on    5:on    6:off
&lt;/pre&gt;&lt;p&gt;PostgreSQLのユーザとデータベース作成&lt;/p&gt;&lt;pre&gt;# sudo su - postgres
-bash-3.2$ createuser -DRSEP user
Enter password for new role:
Enter it again:
-bash-3.2$ createdb -E utf8 -O user userdb
&lt;/pre&gt;&lt;br /&gt;
&lt;pre&gt;# vi /var/lib/pgsql/data/pg_hba.conf
&lt;/pre&gt;&lt;br /&gt;
&lt;p&gt;127.0.0.1のidentの前の行にmd5メソッドを追加&lt;/p&gt;&lt;pre&gt;host    all         all         127.0.0.1/32          md5
host    all         all         127.0.0.1/32          ident
&lt;/pre&gt;&lt;br /&gt;
&lt;pre&gt;# /etc/init.d/postgresql restart
&lt;/pre&gt;&lt;br /&gt;
&lt;p&gt;接続テスト&lt;/p&gt;&lt;pre&gt;$ psql -h localhost -U user -W userdb
Password for user user:
psql (8.4.4)
Type "help" for help.

userdb=&gt;
&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-4842368534952401617?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/4842368534952401617/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=4842368534952401617' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/4842368534952401617'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/4842368534952401617'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2010/09/centos-phppostgresql.html' title='CentOS: PostgreSQLインストール'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-3756762216402861264</id><published>2010-09-25T16:18:00.001+09:00</published><updated>2010-09-25T16:25:01.705+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CentOS'/><category scheme='http://www.blogger.com/atom/ns#' term='screen'/><title type='text'>CentOS: screen設定メモ</title><content type='html'>&lt;pre&gt;# yum install screen
&lt;/pre&gt;&lt;br /&gt;
&lt;pre&gt;$ mkdir ~/log
$ vi ~/.screenrc
&lt;/pre&gt;&lt;br /&gt;
&lt;pre&gt;escape ^Zz
autodetach on
logfile "/home/hnakamur/log/screen-%H-%Y%m%d-%n.log"
deflog on
&lt;/pre&gt;&lt;br /&gt;
&lt;pre&gt;$ vi ~/.bash_profile
&lt;/pre&gt;&lt;p&gt;以下の1行を追加&lt;/p&gt;&lt;pre&gt;screen
&lt;/pre&gt;&lt;br /&gt;
&lt;p&gt;参考：&lt;a href="http://d.hatena.ne.jp/yanma_4/20080330/1206803656"&gt;screenで覚えたことメモ - 半無限長キープ&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-3756762216402861264?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/3756762216402861264/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=3756762216402861264' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/3756762216402861264'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/3756762216402861264'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2010/09/centos-screen.html' title='CentOS: screen設定メモ'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-2328807683182165961</id><published>2010-09-25T15:55:00.000+09:00</published><updated>2010-09-25T15:55:16.094+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CentOS'/><category scheme='http://www.blogger.com/atom/ns#' term='keychain'/><title type='text'>CentOS: keychainでssh-agentを管理</title><content type='html'>&lt;pre&gt;# yum install keychain
&lt;/pre&gt;&lt;br /&gt;
&lt;p&gt;ログイン時に実行するコマンドを設定&lt;/p&gt;&lt;pre&gt;$ vi ~/.bash_profile
&lt;/pre&gt;&lt;p&gt;以下の2行を追加&lt;/p&gt;&lt;pre&gt;/usr/bin/keychain ~/.ssh/id_rsa
source ~/.keychain/$HOSTNAME-sh
&lt;/pre&gt;&lt;br /&gt;
&lt;p&gt;一旦ログアウトしてログインしてみる(PuTTYの例)。&lt;/p&gt;&lt;pre&gt;login as: hnakamur
Authenticating with public key "imported-openssh-key" from agent
Last login: Sat Sep 25 15:49:51 2010 from 192.168.11.2

 * keychain 2.7.0 ~ http://www.funtoo.org
 * Found existing ssh-agent: 3594
 * Adding 1 ssh key(s): /home/hnakamur/.ssh/id_rsa
Enter passphrase for /home/hnakamur/.ssh/id_rsa: &lt;strong&gt;パスワードを入力&lt;/strong&gt;
 * ssh-add: Identities added: /home/hnakamur/.ssh/id_rsa

[hnakamur@sunshine12 ~]$ &lt;strong&gt;ssh vm01&lt;/strong&gt;
Last login: Sat Sep 25 15:47:14 2010 from 192.168.122.1
[hnakamur@vm01 ~]$ &lt;strong&gt;パスワード入力せずにログインできた&lt;/strong&gt;
&lt;/pre&gt;&lt;br /&gt;
&lt;p&gt;参考：&lt;a href="http://www.cyberciti.biz/faq/ssh-passwordless-login-with-keychain-for-scripts/"&gt;keychain: Set Up Secure Passwordless SSH Access For Backup Scripts&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-2328807683182165961?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/2328807683182165961/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=2328807683182165961' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/2328807683182165961'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/2328807683182165961'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2010/09/centos-keychainssh-agent.html' title='CentOS: keychainでssh-agentを管理'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-8985519125999345906</id><published>2010-09-25T15:25:00.000+09:00</published><updated>2010-09-25T15:25:37.950+09:00</updated><title type='text'>virt-cloneでvmをコピー</title><content type='html'>&lt;p&gt;例としてvm01からvm02にコピーするとします。&lt;/p&gt;&lt;p&gt;libvirtのネットワーク設定を編集します。&lt;/p&gt;&lt;pre&gt;# vi /etc/libvirt/qemu/networks/default.xml
&lt;/pre&gt;&lt;p&gt;vm02用の固定IPのエントリを追加します。&lt;/p&gt;&lt;pre&gt;&amp;lt;network&gt;
  &amp;lt;name&gt;default&amp;lt;/name&gt;
  &amp;lt;uuid&gt;bdb361fe-cea5-45a0-b6d9-b862ab49ad07&amp;lt;/uuid&gt;
  &amp;lt;forward mode='nat'/&gt;
  &amp;lt;bridge name='virbr0' stp='on' forwardDelay='0' /&gt;
  &amp;lt;ip address='192.168.122.1' netmask='255.255.255.0'&gt;
    &amp;lt;dhcp&gt;
      &amp;lt;range start='192.168.122.2' end='192.168.122.99' /&gt;
      &amp;lt;host mac='52:54:00:43:62:2F' name='vm01' ip='192.168.122.101' /&gt;
      &amp;lt;host mac='52:54:00:43:62:30' name='vm02' ip='192.168.122.102' /&gt;
    &amp;lt;/dhcp&gt;
  &amp;lt;/ip&gt;
&amp;lt;/network&gt;
&lt;/pre&gt;&lt;br /&gt;
&lt;p&gt;編集した内容を反映させます。&lt;/p&gt;&lt;pre&gt;# virsh net-define /etc/libvirt/qemu/networks/default.xml
# virsh net-destroy default
# virsh net-start default
&lt;/pre&gt;&lt;br /&gt;
&lt;p&gt;状態確認&lt;/p&gt;&lt;pre&gt;# ps ww -C dnsmasq
  PID TTY      STAT   TIME COMMAND
 3096 ?        S      0:00 /usr/sbin/dnsmasq --strict-order --bind-interfaces
 --pid-file=/var/run/libvirt/network/default.pid --conf-file=
  --listen-address 192.168.122.1 --except-interface lo
 --dhcp-range 192.168.122.2,192.168.122.99 --dhcp-lease-max=98
 --dhcp-host 52:54:00:43:62:2F,vm01,192.168.122.101
 --dhcp-host 52:54:00:43:62:30,vm02,192.168.122.102
&lt;/pre&gt;&lt;br /&gt;
&lt;p&gt;コピー&lt;/p&gt;&lt;pre&gt;# virt-clone --original vm01 --name vm02 --file /var/lib/libvirt/images/vm02.img --mac 52:54:00:43:62:30
&lt;/pre&gt;&lt;br /&gt;
&lt;p&gt;ホストの/etc/hostsに作成したvmのエントリ追加&lt;/p&gt;&lt;pre&gt;# vi /etc/hosts
&lt;/pre&gt;&lt;p&gt;以下の行を追加&lt;/p&gt;&lt;pre&gt;192.168.122.102         vm02
&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-8985519125999345906?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/8985519125999345906/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=8985519125999345906' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/8985519125999345906'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/8985519125999345906'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2010/09/virt-clonevm.html' title='virt-cloneでvmをコピー'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-2226656837983506706</id><published>2010-09-18T23:40:00.004+09:00</published><updated>2011-01-04T13:57:09.414+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CentOS'/><category scheme='http://www.blogger.com/atom/ns#' term='kvm'/><title type='text'>CentOS5.5でkvm</title><content type='html'>qemuを入れずにkvm-qemu-imgを入れる。&lt;br /&gt;
&lt;pre&gt;# yum install kvm-qemu-img kvm libvirt virt-manager
# modprobe kvm-amd
# /etc/init.d/libvirtd start
# virt-install --connect qemu:///system -n vm01 -r 512 --vcpus=1 \
 --disk path=/var/lib/libvirt/images/vm01.img,size=10 \
 --os-type linux --accelerate \
 --os-variant=virtio26 \
 --network network:default \
 --location='http://ftp.riken.jp/Linux/centos/5.5/os/i386' \
 --extra-args='console=tty0 console=ttyS0,115200n8'
&lt;/pre&gt;&lt;br /&gt;
http://www.centos.org/modules/newbb/viewtopic.php?topic_id=25077&amp;forum=41&lt;br /&gt;
http://www.listware.net/201007/centos-virt/101980-centos-virt-virt-install-error-on-centos-54-64bit-and-kvm.html&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;virt-install \
 --connect qemu:///system \
 --name vm02 \
 --ram 512 \
 --vcpus=1 \
 --file /var/lib/libvirt/images/vm02.img \
 --file-size=10 \
 --nographics \
 --os-type=linux \
 --os-variant=virtio26 \
 --network network:default \
 --accelerate \
 --location='http://ftp.riken.jp/Linux/centos/5.5/os/x86_64' \
 --extra-args='ks=http://192.168.122.1/vm02-ks.cfg console=tty0 console=ttyS0,115200n8'
&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-2226656837983506706?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/2226656837983506706/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=2226656837983506706' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/2226656837983506706'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/2226656837983506706'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2010/09/centos55kvm.html' title='CentOS5.5でkvm'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-1183452135787581827</id><published>2010-09-17T18:52:00.003+09:00</published><updated>2010-09-18T09:21:05.310+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CentOS'/><category scheme='http://www.blogger.com/atom/ns#' term='nginx'/><title type='text'>CentOS5.5でnginx</title><content type='html'>&lt;p&gt;参考：http://serverfault.com/questions/114895/why-is-nginx-more-popular-than-lighttpd&lt;br /&gt;
nginxは軽量級のウェブサーバーで、ロードバランサーとしてもリバースプロキシーとしても使えるそうです。&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;http://articles.slicehost.com/2008/12/17/centos-installing-nginx-via-yum&lt;br /&gt;
によるとEPELにもパッケージがあるそうなのですが、&lt;br /&gt;
http://download.fedora.redhat.com/pub/epel/5/x86_64/repoview/nginx.html&lt;br /&gt;
バージョン0.6.39と古いので&lt;a href="http://sysoev.ru/"&gt;nginxホームページ&lt;/a&gt;からソースを落としてインストールすることにします。&lt;br /&gt;
&lt;/p&gt;&lt;p&gt;&lt;a href="http://wiki.nginx.org/NginxHttpSslModule"&gt;NginxHttpSslModule&lt;/a&gt;によるとSSLを使うにはconfigureで--with-http_ssl_moduleオプションを指定しておく必要があります。&lt;/p&gt;&lt;pre&gt;$ wget http://sysoev.ru/nginx/nginx-0.8.50.tar.gz
$ sudo yum install openssl-devel pcre-devel
$ tar zxf nginx-0.8.50.tar.gz
$ cd nginx-0.8.50
$ ./configure --with-http_ssl_module
$ make
$ sudo /usr/local/sbin/checkinstall
Requiresにopenssl, pcreを追加
$ sudo rpm -i /usr/src/redhat/RPMS/x86_64/nginx-0.8.50-1.x86_64.rpm
&lt;/pre&gt;&lt;p&gt;&lt;a href="http://articles.slicehost.com/2009/2/20/centos-nginx-configuration"&gt;http://articles.slicehost.com/2009/2/20/centos-nginx-configuration&lt;/a&gt;と&lt;br /&gt;
&lt;a href="http://503.mydns.jp/2010/06/nginx/"&gt;http://503.mydns.jp/2010/06/nginx/&lt;/a&gt;&lt;br /&gt;
を参考にしつつ設定。&lt;/p&gt;&lt;p&gt;iptables設定&lt;/p&gt;&lt;pre&gt;# /sbin/iptables -A RH-Firewall-1-INPUT -p tcp -m tcp --dport 80 -j ACCEPT
# /sbin/iptables -A RH-Firewall-1-INPUT -p tcp -m tcp --dport 443 -j ACCEPT
# /etc/init.d/iptables save
# /etc/init.d/iptables restart
&lt;/pre&gt;&lt;br /&gt;
&lt;p&gt;グループとユーザ作成&lt;/p&gt;&lt;pre&gt;# /usr/sbin/groupadd -g 201 nginx
# /usr/sbin/useradd -u 201 -g nginx -d / -s /sbin/nologin nginx
&lt;/pre&gt;&lt;br /&gt;
&lt;pre&gt;# mkdir /usr/local/nginx/conf.d
# mkdir /var/log/nginx
# vi /usr/local/nginx/conf/nginx.conf
&lt;/pre&gt;&lt;br /&gt;
&lt;pre&gt;user  nginx;
worker_processes  1;
error_log  /var/log/nginx/error.log;
pid        /var/run/nginx.pid;

events {
    worker_connections  1024;
}

http {
    include       /usr/local/nginx/conf/mime.types;
    default_type  application/octet-stream;

    sendfile        on;
    keepalive_timeout  65;
    gzip  on;
    gzip_comp_level 2;
    gzip_proxied any;
    gzip_types      text/plain text/html text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript;

    include /usr/local/nginx/conf.d/*.conf;

    server {
        listen 80;
        server_name sunshine12;
        location / {
            root /usr/local/nginx/html;
            index index.html index.htm;
        }
    }
    server {
        listen 443 ssl;
        ssl_certificate /usr/local/nginx/conf/server.crt;
        ssl_certificate_key /usr/local/nginx/conf/server.key;
        server_name sunshine12;
        location / {
            root /usr/local/nginx/html;
            index index.html index.htm;
        }
    }
}
&lt;/pre&gt;&lt;br /&gt;
&lt;pre&gt;# vi /etc/init.d/nginx
&lt;/pre&gt;&lt;br /&gt;
&lt;pre&gt;#!/bin/bash
#
# nginx        Startup script for the nginx Web Server
#
# chkconfig: - 85 15
# description: nginx is a World Wide Web server.  It is used to serve \
#              HTML files and CGI.
# processname: nginx
# config: /usr/local/nginx/conf/nginx.conf
# pidfile: /usr/local/nginx/logs/nginx.pid

# Source function library.
. /etc/rc.d/init.d/functions

# Path
nginx='/usr/local/nginx/sbin/nginx'
prog=nginx
RETVAL=0

start() {
        echo -n $"Starting $prog: "
        daemon $nginx
        RETVAL=$?
        echo
        return $RETVAL
}

stop() {
        echo -n $"Stopping $prog: "
        killproc $nginx
        RETVAL=$?
        echo
        return $RETVAL
}

reload() {
    echo -n $"Reloading $prog: "
    killproc $nginx -HUP
    RETVAL=$?
    echo
    return $RETVAL
}

# See how we were called.
case "$1" in
  start)
        start
        ;;
  stop)
        stop
        ;;
  restart)
        stop
        start
        ;;
  reload)
        reload
        ;;
  *)
        echo $"Usage: $prog {start|stop|restart|reload}"
        exit 1
        ;;
esac

exit $RETVAL
&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;# chmod +x /etc/init.d/nginx
&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-1183452135787581827?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/1183452135787581827/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=1183452135787581827' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/1183452135787581827'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/1183452135787581827'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2010/09/centos55nginx.html' title='CentOS5.5でnginx'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-7635142507141001221</id><published>2010-09-17T10:35:00.001+09:00</published><updated>2010-09-17T10:36:11.935+09:00</updated><title type='text'>CentOSでcheckinstallを使う</title><content type='html'>&lt;pre&gt;$ &lt;strong&gt;sudo yum install gcc make gettext rpm-build&lt;/strong&gt;
$ &lt;strong&gt;wget&amp;nbsp;http://asic-linux.com.mx/~izto/checkinstall/files/source/checkinstall-1.6.2.tar.gz&lt;/strong&gt;

$ &lt;strong&gt;tar zxf checkinstall-1.6.2.tar.gz&lt;/strong&gt;
$ &lt;strong&gt;cd checkinstall-1.6.2&lt;/strong&gt;
$ &lt;strong&gt;make&lt;/strong&gt;
$ &lt;strong&gt;sudo make install&lt;/strong&gt;
$ &lt;strong&gt;sudo ln -s /usr/local/lib/installwatch.so /usr/local/lib64/installwatch.so&lt;/strong&gt;
$ &lt;strong&gt;sudo /usr/local/sbin/checkinstall&lt;/strong&gt;

checkinstall 1.6.2, Copyright 2009 Felipe Eduardo Sanchez Diaz Duran
           This software is released under the GNU GPL.

The checkinstallrc file was not found at:
/usr/local/sbin/../checkinstallrc

Assuming default values.

The package documentation directory ./doc-pak does not exist.
Should I create a default set of package docs?  [y]: y

Preparing package documentation...OK

Please choose the packaging method you want to use.
Slackware [S], RPM [R] or Debian [D]? &lt;strong&gt;R&lt;/strong&gt;
...
$ &lt;strong&gt;sudo rpm -i /usr/src/redhat/RPMS/x86_64/checkinstall-1.6.2-1.x86_64.rpm&lt;/strong&gt;
&lt;/pre&gt;&lt;br /&gt;
&lt;p&gt;パッケージとしてインストールされたことを確認&lt;/p&gt;&lt;pre&gt;$ &lt;strong&gt;rpm -qi checkinstall&lt;/strong&gt;
&lt;/pre&gt;&lt;br /&gt;
&lt;p&gt;参考：&lt;a href="http://d.hatena.ne.jp/massat/20100817/1282044839"&gt;http://d.hatena.ne.jp/massat/20100817/1282044839&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-7635142507141001221?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/7635142507141001221/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=7635142507141001221' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/7635142507141001221'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/7635142507141001221'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2010/09/centoscheckinstall.html' title='CentOSでcheckinstallを使う'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-4392289202398858027</id><published>2010-09-17T10:18:00.001+09:00</published><updated>2010-09-17T10:23:37.934+09:00</updated><title type='text'>CentOSでselinuxをオフにする</title><content type='html'># sed -i -e '/^SELINUX=/s/=.*/=disabled/' /etc/selinux/config&lt;br /&gt;
# reboot&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-4392289202398858027?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/4392289202398858027/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=4392289202398858027' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/4392289202398858027'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/4392289202398858027'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2010/09/centosselinux.html' title='CentOSでselinuxをオフにする'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-3363077178983694715</id><published>2010-09-11T09:45:00.009+09:00</published><updated>2010-09-25T14:50:20.450+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CentOS'/><title type='text'>CentOS5.5のクリーンインストール</title><content type='html'>今まではKVMを使うときにホストをUbuntuでゲストをCentOSにしていたのですが、CentOS5.5も出たことだし、ホストもCentOSに変えようと思い立ちクリーンインストールしました。そのときのメモです。&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;ネットワークインストールのISOイメージをダウンロード。&lt;/li&gt;
&lt;li&gt;http://ftp.riken.jp/Linux/centos/5.5/isos/x86_64/CentOS-5.5-x86_64-netinstall.iso&lt;/li&gt;
&lt;li&gt;CD-Rに焼く。Windows 7だとダウンロードしたファイルをエクスプローラで選びポップアップメニューの[ディスクイメージの書き込み]でOK。&lt;/li&gt;
&lt;li&gt;CD-Rで起動して、パッケージインストール元は以下のように設定。場所は別マシンでブラウザで開いて確認しておきます。&lt;/li&gt;
&lt;li&gt;タイプ：ftp、ホスト：ftp.riken.jp、ディレクトリ：/Linux/centos/5.5/os/x86_64/&lt;/li&gt;
&lt;li&gt;パッケージ選択ではBaseも含めて全てのチェックを外して回る。全部外しても起動できます（今まで知らなかった）。必要なものはあとから随時インストールするということで。→kvmのゲストOSセットアップ時にDHCPでうまくいかないので結局yum install @baseでベースはインストールした。&lt;/li&gt;
&lt;li&gt;ネットワークの設定。IPv6はオフに。IPv4で固定アドレスを設定するときは一旦DHCPで進んでから戻って設定するとゲートウェイとネットマスクが入力済みになっていて楽。&lt;/li&gt;
&lt;li&gt;インストールが終わって起動したらログインして不要なサービスを停止&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
まず現状を確認&lt;br /&gt;
&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;# chkconfig --list&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;haldaemon       0:off   1:off   2:off   3:on    4:on    5:on    6:off&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;ip6tables       0:off   1:off   2:on    3:on    4:on    5:on    6:off&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;iptables        0:off   1:off   2:on    3:on    4:on    5:on    6:off&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;kudzu           0:off   1:off   2:off   3:on    4:on    5:on    6:off&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;lvm2-monitor    0:off   1:on    2:on    3:on    4:on    5:on    6:off&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;mcstrans        0:off   1:off   2:on    3:on    4:on    5:on    6:off&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;messagebus      0:off   1:off   2:off   3:on    4:on    5:on    6:off&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;multipathd      0:off   1:off   2:off   3:off   4:off   5:off   6:off&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;netconsole      0:off   1:off   2:off   3:off   4:off   5:off   6:off&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;netfs           0:off   1:off   2:off   3:on    4:on    5:on    6:off&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;netplugd        0:off   1:off   2:off   3:off   4:off   5:off   6:off&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;network         0:off   1:off   2:on    3:on    4:on    5:on    6:off&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;rawdevices      0:off   1:off   2:off   3:on    4:on    5:on    6:off&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;rdisc           0:off   1:off   2:off   3:off   4:off   5:off   6:off&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;restorecond     0:off   1:off   2:on    3:on    4:on    5:on    6:off&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;sshd            0:off   1:off   2:on    3:on    4:on    5:on    6:off&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;syslog          0:off   1:off   2:on    3:on    4:on    5:on    6:off&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;tcsd            0:off   1:off   2:off   3:off   4:off   5:off   6:off&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;
不要なサービス停止&lt;br /&gt;
&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;# chkconfig haldaemon off;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;chkconfig kudzu off;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;chkconfig lvm2-monitor off;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;chkconfig mcstrans off;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;chkconfig messagebus off;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;chkconfig netfs off;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;chkconfig rawdevices off;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;chkconfig restorecond off&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;
変更後の状態確認&lt;br /&gt;
&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;# chkconfig --list&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;haldaemon       0:off   1:off   2:off   3:off   4:off   5:off   6:off&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;ip6tables       0:off   1:off   2:on    3:on    4:on    5:on    6:off&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;iptables        0:off   1:off   2:on    3:on    4:on    5:on    6:off&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;kudzu           0:off   1:off   2:off   3:off   4:off   5:off   6:off&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;lvm2-monitor    0:off   1:on    2:off   3:off   4:off   5:off   6:off&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;mcstrans        0:off   1:off   2:off   3:off   4:off   5:off   6:off&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;messagebus      0:off   1:off   2:off   3:off   4:off   5:off   6:off&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;multipathd      0:off   1:off   2:off   3:off   4:off   5:off   6:off&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;netconsole      0:off   1:off   2:off   3:off   4:off   5:off   6:off&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;netfs           0:off   1:off   2:off   3:off   4:off   5:off   6:off&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;netplugd        0:off   1:off   2:off   3:off   4:off   5:off   6:off&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;network         0:off   1:off   2:on    3:on    4:on    5:on    6:off&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;rawdevices      0:off   1:off   2:off   3:off   4:off   5:off   6:off&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;rdisc           0:off   1:off   2:off   3:off   4:off   5:off   6:off&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;restorecond     0:off   1:off   2:off   3:off   4:off   5:off   6:off&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;sshd            0:off   1:off   2:on    3:on    4:on    5:on    6:off&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;syslog          0:off   1:off   2:on    3:on    4:on    5:on    6:off&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;tcsd            0:off   1:off   2:off   3:off   4:off   5:off   6:off&lt;/span&gt;&lt;/blockquote&gt;あとはiptablesやsshdの設定などをするのですが、ここでは記述を省略。&lt;br /&gt;
&lt;br /&gt;
ちなみにディスクの使用量はこんな感じでした。合計86MB使用。&lt;br /&gt;
&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;# df -k&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Filesystem &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1K-blocks &amp;nbsp; &amp;nbsp; &amp;nbsp;Used Available Use% Mounted on&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;/dev/mapper/VolGroup00-LogVol00&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 141376216 &amp;nbsp; &amp;nbsp;845368 133233416 &amp;nbsp; 1% /&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;/dev/sda1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 101086 &amp;nbsp; &amp;nbsp; 12635 &amp;nbsp; &amp;nbsp; 83232 &amp;nbsp;14% /boot&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;tmpfs &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;4089468 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0 &amp;nbsp; 4089468 &amp;nbsp; 0% /dev/shm&lt;/span&gt;&lt;/blockquote&gt;&lt;div&gt;追加でインストールするパッケージ&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;vim-common&lt;/li&gt;
&lt;li&gt;sudo&lt;/li&gt;
&lt;li&gt;man&lt;/li&gt;
&lt;li&gt;which&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-3363077178983694715?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/3363077178983694715/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=3363077178983694715' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/3363077178983694715'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/3363077178983694715'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2010/09/centos55.html' title='CentOS5.5のクリーンインストール'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-790001631812914874</id><published>2010-01-31T16:18:00.004+09:00</published><updated>2010-01-31T16:37:56.120+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><title type='text'>AndroidのViewSwitcherのサンプル</title><content type='html'>&lt;p&gt;参考URL
&lt;ul&gt;
  &lt;li&gt;&lt;a href="http://developer.android.com/reference/android/widget/ViewSwitcher.html"&gt;ViewSwitcher | Android Developers&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="http://ctctlabs.com/index.php/blog/detail/android_dont_overlook_viewswitcher/"&gt;Android: Don’t Overlook ViewSwitcher — Constant Contact Labs&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;

&lt;p&gt;メモ&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;a href="http://ctctlabs.com/index.php/blog/detail/android_dont_overlook_viewswitcher/"&gt;上のブログ記事&lt;/a&gt;ではJavaからaddView()を呼んでいますが、代わりに以下のサンプルのようにリソースで子要素にしてもよいです。&lt;/li&gt;
  &lt;li&gt;&lt;a href="http://developer.android.com/reference/android/widget/ViewSwitcher.html"&gt;APIレフェレンス&lt;/a&gt;に書いてある通りViewSwitcherは子要素を2つか持てません。3つ目の子要素を定義するとRuntimeExceptionが出ました。&lt;/li&gt;
  &lt;li&gt;リソースのXML内で&lt;code&gt;android:inAnimation="@android:anim/fade_in"&lt;/code&gt;のように属性を指定すればアニメーションできます。ただし、これをつけるとEclipseでLayoutタブに切り替えたときに&lt;code&gt;NotFoundException: Could not find anim resource matching value 0x01A0000 (resolved name: fade_in) in current configuration.&lt;/code&gt;と表示されてプレビューが表示できません。まあ、どのみちxmlのタブでソースを直接編集しますので致命的ではないです。&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;src/sample/viewswitcher2.ViewSwitcher2.java&lt;/p&gt;
&lt;pre&gt;package sample.viewswitcher2;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ViewSwitcher;

public class ViewSwitcher2 extends Activity implements OnClickListener {
    private ViewSwitcher mSwitcher1;
    
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        mSwitcher1 = (ViewSwitcher) findViewById(R.id.switcher1);
        
        Button showAnswerButton = (Button) findViewById(R.id.switch_button);
        showAnswerButton.setOnClickListener(this);

        Button goNextButton = (Button) findViewById(R.id.next_button);
        goNextButton.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                mSwitcher1.showPrevious();
            }
        });
    }

    @Override
    public void onClick(View v) {
        // 2つ目のビューでshowPrevious()を呼ばずにshowNext()を呼んでも1つ目に戻る。
        mSwitcher1.showNext();
    }
}&lt;/pre&gt;
&lt;p&gt;res/layout/main.xml&lt;/p&gt;
&lt;pre&gt;&amp;lt;?xml version="1.0" encoding="utf-8"?&gt;
&amp;lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="fill_parent"
    android:layout_height="fill_parent"&gt;
    &amp;lt;ViewSwitcher android:id="@+id/switcher1"
        android:layout_width="fill_parent" android:layout_height="wrap_content"
        android:inAnimation="@android:anim/fade_in" android:outAnimation="@android:anim/fade_out"&gt;
        &amp;lt;Button android:id="@+id/switch_button" android:layout_width="wrap_content"
            android:layout_height="wrap_content" android:text="@string/show_answer" /&gt;
        &amp;lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
            android:orientation="vertical" android:layout_width="fill_parent"
            android:layout_height="fill_parent"&gt;
            &amp;lt;TextView android:layout_width="fill_parent"
                android:layout_height="wrap_content" android:text="@string/this_is_the_answer" /&gt;
            &amp;lt;Button android:id="@+id/next_button" android:layout_width="wrap_content"
                android:layout_height="wrap_content" android:text="@string/go_next" /&gt;
        &amp;lt;/LinearLayout&gt;
        &amp;lt;!-- TextView android:layout_width="fill_parent"
            android:layout_height="wrap_content" android:text="third view" / --&gt;
    &amp;lt;/ViewSwitcher&gt;
&amp;lt;/LinearLayout&gt;&lt;/pre&gt;

&lt;p&gt;res/values/strings.xml&lt;/p&gt;
&lt;pre&gt;&amp;lt;?xml version="1.0" encoding="utf-8"?&gt;
&amp;lt;resources&gt;
    &amp;lt;string name="app_name"&gt;ViewSwitcher2&amp;lt;/string&gt;
    &amp;lt;string name="show_answer"&gt;Show Answer&amp;lt;/string&gt;
    &amp;lt;string name="this_is_the_answer"&gt;This is the answer!&amp;lt;/string&gt;
    &amp;lt;string name="go_next"&gt;Go Next&amp;lt;/string&gt;
&amp;lt;/resources&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-790001631812914874?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/790001631812914874/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=790001631812914874' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/790001631812914874'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/790001631812914874'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2010/01/androidviewswitcher.html' title='AndroidのViewSwitcherのサンプル'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-8140633463910377055</id><published>2009-12-26T22:03:00.001+09:00</published><updated>2009-12-26T22:08:52.089+09:00</updated><title type='text'>Windows 7環境でEmacs 23.1をセットアップ</title><content type='html'>&lt;p&gt;&lt;a href="http://dotthx.com/dotthxblog/2009/02/gnu-emacs-on-windows.html"&gt;GNU Emacs on Windows&lt;/a&gt;を参考にしました。&lt;/p&gt;
&lt;p&gt;ユーザー環境変数HOMEを%HOMEDRIVE%%HOMEPATH%として設定して、~/.emacs.d/init.el (.init.elでは読み込まれないようでした)を以下の内容で作成しました。&lt;/p&gt;
&lt;pre&gt;;; Don't display start-page
(setq inhibit-startup-message t)

;; Hide menu-bar
(tool-bar-mode -1)

;; Window configuration
(if window-system (progn
  (setq initial-frame-alist '((width . 80) (height . 42) (top . 0) (left .
200)))
))&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-8140633463910377055?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/8140633463910377055/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=8140633463910377055' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/8140633463910377055'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/8140633463910377055'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2009/12/windows-7emacs-231.html' title='Windows 7環境でEmacs 23.1をセットアップ'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-1171715692681552781</id><published>2009-12-19T10:24:00.003+09:00</published><updated>2009-12-19T12:23:52.949+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='UL80AG'/><category scheme='http://www.blogger.com/atom/ns#' term='ASUS'/><title type='text'>UL80AGのリカバリー方法</title><content type='html'>&lt;h2&gt;2組のリカバリーディスク&lt;/h2&gt;
&lt;p&gt;UL80AGでは初めて使うときにリカバリーのDVDを作成するよう促されます。これで作成したリカバリーディスクと付属のリカバリーディスクでそれぞれリカバリーして違いを調べてみました。&lt;/p&gt;
&lt;p&gt;ちなみに、後からリカバリーディスクを作る場合は
[スタートメニュー]→[すべてのプログラム]→[ASUS Utility]→[AI Recover Burner]
でいけるようです。空のDVDが4枚必要と言われますが実際には3枚ですみました
(たぶんMS-Officeプリインストールモデルだと4枚なのでしょう)。&lt;/p&gt;

&lt;h2&gt;作成したリカバリーディスクを使ってリカバリー&lt;/h2&gt;
&lt;p&gt;作成したリカバリーディスクで起動するとリカバリーが始まります。メディア交換指示に従って2枚目、3枚目を入れていきます。3枚目が読み終わるとここまでの所要時間が表示されます(約30分でした)。&lt;/p&gt;
&lt;p&gt;次に"ASUS Preload Wizard"というダイアログが表示されます。ドロップダウンで[Japanese (日本語)]を選択し[次へ]を押します。&lt;/p&gt;
&lt;p&gt;[Recovery WizardはASUS製ノートパソコン専用です。…]の画面が表示されたら[次へ]を押します。&lt;/p&gt;
&lt;p&gt;次は「以下のオプションから1つ選択」の画面です。選択肢は以下の3つ。&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;HDDの1つめのパーティションに対して、Windowsリカバリーを実施します。
    &lt;p&gt;既存のパーティションテーブルの1つめのパーティションにWindowsをリカバーします。&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;HDDを新たに1パーティションで管理し、Windowsリカバリーを実施します。
    &lt;p&gt;一旦パーティションを全て削除し、ハードディスク全体をCドライブにしてそこにWindowsをリカバーします。&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;HDDを新たに2パーティションで管理し、Windowsリカバリーを実施します。
    &lt;p&gt;一旦パーティションを全て削除し、ハードディスクの60%をCドライブ、40%をDドライブとしCドライブにWindowsをリカバーします。&lt;/p&gt;
  &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;なお、実際にはどの選択肢を選んでもFAT32の隠しパーティションが1つ作られてそこにリカバーメディアのイメージが格納されます。上でいう「1つめ」や「全体」はこの隠しパーティションを除いた話です。3つの選択肢について UL80 Series User’s Manual for English Edition(E4873) (&lt;a href="http://asus.com/product.aspx?P_ID=Yt2NRqvmKZo3SnVW&amp;amp;content=download"&gt;ASUSTeK Computer Inc. UL80Ag&lt;/a&gt;からダウンロードできます) p.15 に説明があります(隠しパーティションについては触れられていません)。&lt;/p&gt;
&lt;p&gt;[これによりプリインストールされたアプリケーションを工場出荷時の状態に戻すことができます。…]の画面では[次へ]を押します。&lt;/p&gt;
&lt;p&gt;[今すぐリカバリーを実行しますか? 「終了」をクリックし、リカバリーを実行します。]の画面では[終了]を押します。するとリカバリーが始まります。&lt;/p&gt;
&lt;p&gt;[Recovery finish. Press OK to shutdown your system.]の画面が表示されたら[OK]を押すと電源が落ちます。&lt;/p&gt;
&lt;p&gt;電源スイッチを押して起動すると、Windowsの初回起動時の設定が始まりますので、ユーザー名やパスワードなどを適宜設定します。&lt;/p&gt;
&lt;p&gt;一通り設定が終わると、ASUSのCM動画(数十秒程度)が再生されます。&lt;/p&gt;
&lt;p&gt;それが終わると、[ウイスルバスター 2010]というダイアログが表示されています。[同意して有効にする]を押すとお試し版が使えるようです。が、私は&lt;a href="http://www.avast.com/jpn/avast_4_home.html"&gt;avast! Home Edition&lt;/a&gt;を使うので、[後で有効にする]を押して閉じます。&lt;/p&gt;
&lt;p&gt;閉じると[AI Recovery Remind]画面があり[工場出荷時の状態のWindowsのコピーが作成されていません。…]と言われていますが、作成済みなので[Windowsの起動時に表示しない]チェックボックスにチェックをつけて右上の×ボタンを押して閉じます。&lt;/p&gt;

&lt;h2&gt;付属のリカバリーディスクを使ってリカバリー&lt;/h2&gt;
&lt;p&gt;付属の3枚のメディア&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;(a) "Windows 7 Recovery Media for Windows 7 Products"&lt;/li&gt;
&lt;li&gt;(b) "Driver&amp;Utility Ver 1.0"&lt;/li&gt;
&lt;li&gt;(c) "CyberLink Power2Go 6.0"&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;でリカバーしてみました。
(もう一枚の"Adobe Reader Ver 8.0"というメディアは不要です。
 "Driver&amp;Utility Ver 1.0"にAdobe Reader 9が入っているので。)&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;(a)で起動して途中でメディア交換指示が出たら(b)を入れます。
&lt;p&gt;(a)で起動したらパーティション構成をどうするかの3つの選択肢(上記のものと同じ)が提示されます。
&lt;/li&gt;
&lt;li&gt;再起動後(b)のSETUPを実行してドライバとユーティリティソフトを入れます。&lt;/li&gt;
&lt;li&gt;(c)でPower2Goをインストール。&lt;/li&gt;
&lt;li&gt;1.が終わってから起動する度に[システム準備ツール 3.14]というダイアログが表示されます。
　ダイアログの中身はこんな感じ。
&lt;ul&gt;
&lt;li&gt;[システムクリーンアップアクション]ドロップダウン
  &lt;ul&gt;
    &lt;li&gt;システムのOOBE (Out-of-Box Experience) に入る (←デフォルト選択)&lt;/li&gt;
    &lt;li&gt;システム監査モードに入る&lt;/li&gt;
  &lt;/ul&gt;
&lt;li&gt;[一般化する]チェックボックス&lt;/li&gt;
&lt;li&gt;[シャットダウン オプション]ドロップダウン
  &lt;ul&gt;
    &lt;li&gt;シャットダウン&lt;/li&gt;
    &lt;li&gt;再起動 (←デフォルト選択)&lt;/li&gt;
    &lt;li&gt;終了&lt;/li&gt;
  &lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;デフォルト状態で[OK]を押すと、ユーザ名／パスワードなどの初期設定が始まります。&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;リカバリーディスクを作成した場合と比べると以下の点が違いました。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;初回設定後の動画が再生されない。&lt;/li&gt;
&lt;li&gt;スタートメニューにASUSフォルダがない。
  &lt;p&gt;作成したリカバリーディスクでリカバーした場合はここに"Asus WebStorage"がインストールされていました。&lt;a href="http://www.asuswebstorage.com/"&gt;ASUS WebStorage&lt;/a&gt;
からダウンロードしてインストールすれば同じように使えるかもしれません。が、試していないので不明です。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;ウィルスバスター 2010のお試し版が入らない。
&lt;p&gt;必要なら&lt;a href="http://virusbuster.jp/vb2010/trial2/?WT.srch=1&amp;amp;cid=paid&amp;amp;sem_detection"&gt;ウイルスバスター2010 30日無料体験版&lt;/a&gt;からダウンロードできます。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;Adobe Reader 9が英語版になっている。
&lt;p&gt;日本語版にしたい場合は、英語版をアンインストールして&lt;a href="http://www.adobe.com/jp/products/reader/"&gt;Adobe - Reader 9&lt;/a&gt;から日本語版をダウンロード、インストールします。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;他にも違いがあるかもしれませんが、気づいたのは以上です。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-1171715692681552781?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/1171715692681552781/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=1171715692681552781' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/1171715692681552781'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/1171715692681552781'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2009/12/ul80ag.html' title='UL80AGのリカバリー方法'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-1257636836035891325</id><published>2009-12-19T09:01:00.006+09:00</published><updated>2009-12-19T14:06:56.716+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='UL80AG'/><category scheme='http://www.blogger.com/atom/ns#' term='ASUS'/><title type='text'>ASUS UL80AGを購入しました</title><content type='html'>&lt;h2&gt;UL20Aと悩みましたがUL80AGにしました&lt;/h2&gt;
&lt;p&gt;当初UL20Aを買おうかと思っていたのですが、Amazonの20%引き47,840円を目の当たりにしながら躊躇してたらあっという間に20%引きが終わってしまいました。他の店で買うか悩んだのですが結局&lt;a href="http://www.amazon.co.jp/dp/B002TSBQMM"&gt;AmazonでUL80AG&lt;/a&gt;を買いました。2kgなら持ち運びもできるし、Linuxのインストールとかでは光学ドライブがあるほうが楽だし。あと、&lt;a href="http://www.amazon.co.jp/dp/B00243GS48"&gt;BUFFALOの増設メモリ PC2-6400 (DDR2-800) 2GB D2/N800-2G/E&lt;/a&gt;もあわせて買いました。&lt;/p&gt;
&lt;h2&gt;入っていたパーツのメモ&lt;/h2&gt;
&lt;dl&gt;
  &lt;dt&gt;ハードディスク&lt;/dt&gt;
  &lt;dd&gt;Seagate Momentus 5400.6 320G ST9320325AS&lt;/dd&gt;
  &lt;dt&gt;メモリ&lt;/dt&gt;
  &lt;dd&gt;hynix 2GB 2Rx8 PC2-6400S-666-12&lt;/dd&gt;
  &lt;dt&gt;無線LAN&lt;/dt&gt;
  &lt;dd&gt;Atheros AR9285
    &lt;p&gt;2chによるとRealtek RTL8191SE Wireless LAN 802.11n PCI-E NICの場合もあるらしいです(UL20AかUL80AGかはわかりませんが)。&lt;/p&gt;
  &lt;/dd&gt;
  &lt;dt&gt;タッチパッド&lt;/dt&gt;
  &lt;dd&gt;ELAN PS/2 Port Smart-Pad&lt;/dd&gt;
&lt;/dl&gt;
&lt;h2&gt;ドライバ／ユーティリティ／マニュアルのダウンロードページ&lt;/h2&gt;
&lt;a href="http://asus.com/product.aspx?P_ID=Yt2NRqvmKZo3SnVW&amp;amp;content=download"&gt;ASUSTeK Computer Inc. UL80Ag&lt;/a&gt;
&lt;h2&gt;起動オプション&lt;/h2&gt;
&lt;dl&gt;
  &lt;dt&gt;ESC&lt;/dt&gt;&lt;dd&gt;ブートメディア選択&lt;/dd&gt;
  &lt;dt&gt;F2&lt;/dt&gt;&lt;dd&gt;BIOSメニュー&lt;/dd&gt;
&lt;/dl&gt;
&lt;p&gt;詳しくは UL80 Series User's Manual for English Edition 参照。
上記の&lt;a href="http://asus.com/product.aspx?P_ID=Yt2NRqvmKZo3SnVW&amp;amp;content=download"&gt;ダウンロードページ&lt;/a&gt;にあります。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-1257636836035891325?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/1257636836035891325/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=1257636836035891325' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/1257636836035891325'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/1257636836035891325'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2009/12/asus-ul80ag.html' title='ASUS UL80AGを購入しました'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-5499518030220143556</id><published>2009-12-14T16:25:00.002+09:00</published><updated>2009-12-14T16:29:34.888+09:00</updated><title type='text'>KVMでシリアルコンソールからCentOS 5.4をインストール</title><content type='html'>&lt;p&gt;&lt;a href="http://hnakamur.blogspot.com/2009/12/centos-54vncsshkvmcentos-54.html"&gt;CentOS 5.4のホストにvnc+sshトンネリングで接続してkvmでCentOS 5.4をゲストとしてインストール&lt;/a&gt;のように苦労しなくても、シリアルコンソールでインストールする手順が&lt;a href="http://d.hatena.ne.jp/pcmaster/20091025/p2"&gt;CentOS 5.4でKVMを試してみた。 〜 コンソール編 〜 - 理想未来はどうなった？&lt;/a&gt;で紹介されていました。&lt;/p&gt;
&lt;p&gt;ただ、&lt;code&gt;--os-variant=virtio26&lt;/code&gt;を指定すると&lt;code&gt;internal error unsupported disk type 'vda'&lt;/code&gt;などというエラーが出たのでこれは外しました。というわけで以下のコマンドでインストール。&lt;/p&gt;
&lt;pre&gt;# virt-install --connect qemu:///system -n vm01 -r 512 --vcpus=1 \
 --disk path=/var/lib/libvirt/images/vm01.img,size=10 \
 --os-type linux --accelerate \
 --network network:default \
 --location='http://ftp.riken.jp/Linux/centos/5.4/os/i386' \
 --extra-args='console=tty0 console=ttyS0,115200n8'&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-5499518030220143556?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/5499518030220143556/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=5499518030220143556' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/5499518030220143556'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/5499518030220143556'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2009/12/kvmcentos-54.html' title='KVMでシリアルコンソールからCentOS 5.4をインストール'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-7229966610957810394</id><published>2009-12-14T14:54:00.006+09:00</published><updated>2009-12-14T15:25:37.360+09:00</updated><title type='text'>CentOS 5.4のホストにvnc+sshトンネリングで接続してkvmでCentOS 5.4をゲストとしてインストール</title><content type='html'>&lt;p&gt;&lt;a href="http://wiki.centos.org/HowTos/KVM"&gt;HowTos/KVM - CentOS Wiki&lt;/a&gt;は古いとのことですが、それなりに参考にしました。&lt;/p&gt;
&lt;pre&gt;# yum install kvm kmod-kvm qemu virt-manager
# groupadd kvm
# usermod -G kvm -a yourusername&lt;/pre&gt;
&lt;p&gt;ここで一旦リブート。&lt;/p&gt;
&lt;pre&gt;# reboot&lt;/pre&gt;
&lt;p&gt;再起動後以下のようにしてインストーラを実行。&lt;code&gt;-curses&lt;/code&gt;オプションは使えないようなので&lt;code&gt;-vnc&lt;/code&gt;オプションを使ってVNCを使います。&lt;/p&gt;
&lt;pre&gt;# qemu-img create -f qcow2 vm1.img 10G
# wget http://ftp.riken.jp/Linux/centos/5.4/isos/i386/CentOS-5.4-i386-netinstall.iso
# qemu-kvm -hda vm1.img -cdrom CentOS-5.4-i386-netinstall.iso -m 512 -boot d -vnc :1&lt;/pre&gt;
&lt;p&gt;私はMacBookからリモートのホストOSにsshでつないで作業していたので、&lt;a href="http://www.jinx.de/JollysFastVNC.html"&gt;JollysFastVNC&lt;/a&gt;というソフトを使い、"Security Type"を"SSH"にして、"SSH Options"を"-L 5901:localhost:5901 yourremotehostname"のように設定してSSHトンネリングで接続しました。なお、JollysFastVNCはalpha版のせいか表示が更新されないことがよくあるので、TABなどを押すか、一旦ウィンドウを閉じて繋ぎ直したりしてしのぎます。&lt;/p&gt;
&lt;p&gt;VNCでつながったら、Linuxのブート画面になっているのでlinux textリターンと入力してテキストモードでインストールします。&lt;/p&gt;
&lt;p&gt;"Hostname Configuration"の画面では"manually"にしてvm1などとホスト名を入力します。&lt;/p&gt;
&lt;p&gt;あとは&lt;a href="http://hnakamur.blogspot.com/2009/10/centos.html"&gt;hnakamur’s blog: CentOSのネットワークインストール&lt;/a&gt;の「libvirtに登録」と同様にしてlibvirtに登録します。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-7229966610957810394?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/7229966610957810394/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=7229966610957810394' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/7229966610957810394'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/7229966610957810394'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2009/12/centos-54vncsshkvmcentos-54.html' title='CentOS 5.4のホストにvnc+sshトンネリングで接続してkvmでCentOS 5.4をゲストとしてインストール'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-5404164680400574457</id><published>2009-11-18T23:33:00.005+09:00</published><updated>2009-11-19T00:07:33.263+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='scanner'/><category scheme='http://www.blogger.com/atom/ns#' term='imageFORMULA'/><title type='text'>Canon ドキュメントスキャナ imageFORMULA DR-150を購入</title><content type='html'>&lt;a href="http://cweb.canon.jp/imageformula/lineup/dr/dr-150/index.html"&gt;キヤノン：ドキュメントスキャナー　DR-150&lt;/a&gt;
&lt;ul&gt;
  &lt;li&gt;ScanSnap fi-5110E0Xは薄い紙だとダブルフィードになりやすい。が、同じ本で試すとDR-150は大丈夫。これは便利。&lt;/li&gt;
  &lt;li&gt;ACアダプタは別売りですが、通信用のUSBケーブル1本と給電用のUSBケーブル1本が付属してそれだけで使えます。さらに給電用のUSBケーブルは接続しなくても使えます（読み込みが遅くなりますが）。&lt;/li&gt;
  &lt;li&gt;Adobe Acrobatは付属していませんが、付属のCaptureOnTouchで取り込むとPDF保存するときに日英対応のOCRがかけられます。&lt;/li&gt;
  &lt;li&gt;ScanSnap fi-5110E0Xよりは斜めになりにくい感じ。CaptureOnTouchの[斜行補正]はオンにしているが、全く斜めにならないわけではない。ということはシートフィーダの性能が効いているのかな。&lt;/li&gt;
  &lt;li&gt;300dpiなら読み取り速度は十分。400dpiはかなり遅い。&lt;/li&gt;
  &lt;li&gt;白黒/200dpiと誤差拡散/200dpiの画質はいまいち。解像度は300dpiで使うことにした。&lt;/li&gt;
  &lt;li&gt;スキャンオプションで[先読みスキャン]、試しに[標準]にしてみたら読み込み速度がページの最下部だけ遅くなる。本によっては両面読み込みで1ページおきにページ最下部に横線が入るせいで、Kindleでの余白除去と自動ズームの倍率がページごとにかわるのが嫌なんですが、これで解消されるかと期待したが変わらず。結局[先読みスキャン]に戻しました。&lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-5404164680400574457?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/5404164680400574457/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=5404164680400574457' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/5404164680400574457'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/5404164680400574457'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2009/11/canon-imageformula-dr-150.html' title='Canon ドキュメントスキャナ imageFORMULA DR-150を購入'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-202273930353606472.post-5523903084660874294</id><published>2009-11-12T18:20:00.006+09:00</published><updated>2009-11-12T19:00:25.837+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CentOS'/><category scheme='http://www.blogger.com/atom/ns#' term='heartbeat'/><title type='text'>CentOSでheartbeatでVIP引き継ぎ</title><content type='html'>&lt;h2&gt;はじめに&lt;/h2&gt;
&lt;p&gt;&lt;a href="http://www.amazon.co.jp/Linux-DB-%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E6%A7%8B%E7%AF%89-%E9%81%8B%E7%94%A8%E5%85%A5%E9%96%80-Magazine-SELECTION/dp/4798120723/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1258017634&amp;amp;sr=8-1"&gt;Amazon.co.jp： Linux-DB システム構築/運用入門 (DB Magazine SELECTION): 松信 嘉範: 本&lt;/a&gt;とググってみつけた&lt;a href="http://www.hot-linux.org/redhat/?rec_no=25"&gt;Hot Linux - heartbeat(1.2.x)のインストール/設定(Redhat9,WhiteBoxEL4)&lt;/a&gt;などのページを参考に試しました。heartbeatの設定ファイルはv1形式にしました。&lt;/p&gt;
&lt;p&gt;cent1 (192.168.122.21)とcent2 (192.168.122.22)の2台で相互監視する例を試しました。&lt;/p&gt;
&lt;h2&gt;インストール&lt;/h2&gt;
&lt;pre&gt;$ sudo install heartbeat heartbeat-pils heartbeat-stonith&lt;/pre&gt;
&lt;a href="http://bugs.centos.org/view.php?id=2821"&gt;0002821: &amp;quot;yum install heartbeat&amp;quot; fails - CentOS Bug Tracker&lt;/a&gt;のバグのため、heartbeatのインストールはもう一度実行する必要がありました。
&lt;pre&gt;$ sudo install heartbeat&lt;/pre&gt;
&lt;h2&gt;設定&lt;/h2&gt;
&lt;h3&gt;ファイアウォールでUDPのポート694を開ける&lt;/h3&gt;
&lt;p&gt;言わずもがなということで巷の説明では省略されていますが、忘れててはまったので私の場合は注意が必要です。&lt;/p&gt;
&lt;pre&gt;$ sudo vi /etc/sysconfig/iptables&lt;/pre&gt;
&lt;p&gt;以下の行を適当なところに挿入します。&lt;/p&gt;
&lt;pre&gt;-A RH-Firewall-1-INPUT -p udp -m udp --dport 694 -j ACCEPT&lt;/pre&gt;
&lt;pre&gt;$ sudo /etc/init.d/iptables restart
$ sudo /sbin/iptables -L&lt;/pre&gt;
&lt;p&gt;以下の行が含まれることを確認。&lt;/p&gt;
&lt;pre&gt;ACCEPT     udp  --  anywhere             anywhere            udp dpt:ha-cluster 
&lt;/pre&gt;

&lt;h3&gt;/etc/ha.d/ha.cf&lt;/h3&gt;
&lt;p&gt;cent1では以下のようにします。&lt;/p&gt;
&lt;pre&gt;use_logd yes

keepalive 500ms
deadtime 10
warntime 5
initdead 60

ucast eth0 192.168.122.22

auto_failback off
#auto_failback on

node cent1
node cent2

uuidfrom nodename&lt;/pre&gt;
&lt;p&gt;cent2ではucastの行を以下のようにします。&lt;/p&gt;
&lt;pre&gt;ucast eth0 192.168.122.21&lt;/pre&gt;

&lt;p&gt;当初&lt;code&gt;uuidfrom nodename&lt;/code&gt;の行を忘れてはまったので注意。この指定が無いと、/var/lib/heartbeat/hb_uuidをマシンのUUIDとして使うので、仮想イメージファイルをクローンして作ったためか同じ内容になってしまい、以下のようなエラーが延々とログに出ることになります。&lt;/p&gt;
&lt;pre&gt;heartbeat[14054]: 2009/11/12_18:17:32 WARN: nodename cent1 uuid changed to cent2
heartbeat[14054]: 2009/11/12_18:17:32 WARN: nodename cent2 uuid changed to cent1
heartbeat[14054]: 2009/11/12_18:17:32 WARN: nodename cent1 uuid changed to cent2&lt;/pre&gt;

&lt;h3&gt;/etc/ha.d/haresources&lt;/h3&gt;
&lt;p&gt;プライマリのノードと仮想IPアドレスを設定します。ですのでcent1でもcent2でも同じ内容にします。&lt;/p&gt;
&lt;pre&gt;cent1 192.168.122.90&lt;/pre&gt;

&lt;h3&gt;/etc/ha.d/authkeys&lt;/h3&gt;
&lt;p&gt;2台ともLAN内なので認証はcrcにしました。&lt;/p&gt;
&lt;pre&gt;auth 1
1 crc&lt;/pre&gt;
&lt;pre&gt;$ sudo chmod 600 /etc/ha.d/authkeys&lt;/pre&gt;

&lt;h2&gt;実験&lt;/h2&gt;
&lt;p&gt;cent1、cent2ともコマンドを実行する端末とは別に端末を起動しておいて&lt;code&gt;tail -f /var/log/ha-log&lt;/code&gt;を実行しておくと動きを見られてよいです。&lt;/p&gt;
&lt;p&gt;まず、cent1でheartbeatを起動します。&lt;/p&gt;
&lt;pre&gt;cent1$ sudo /etc/init.d/heartbeat start&lt;/pre&gt;
&lt;p&gt;起動してしばらくすると、仮想IPアドレスが設定されます。ipコマンドで確認するなら以下のようにします。&lt;/p&gt;
&lt;pre&gt;cent1$ /sbin/ip addr show eth0
2: eth0: &lt;BROADCAST,MULTICAST,UP,LOWER_UP&gt; mtu 1500 qdisc pfifo_fast qlen 1000
    link/ether 52:54:00:12:34:56 brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.21/24 brd 192.168.122.255 scope global eth0
    inet 192.168.122.90/24 brd 192.168.122.255 scope global secondary eth0:0
    inet6 fe80::5054:ff:fe12:3456/64 scope link 
       valid_lft forever preferred_lft forever&lt;/pre&gt;
&lt;p&gt;ifconfigで確認する場合は以下のようにします。&lt;/p&gt;
&lt;pre&gt;cent1$ /sbin/ifconfig -a eth0:0
eth0:0    Link encap:Ethernet  HWaddr 52:54:00:12:34:56  
          inet addr:192.168.122.90  Bcast:192.168.122.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          Interrupt:10 Base address:0xc000&lt;/pre&gt;
&lt;p&gt;cent1だけ起動してcent2を起動しない場合はha.cfのinitdeadの設定値、この場合は60秒後に仮想IPアドレスが設定されました。&lt;/p&gt;
&lt;p&gt;cent1を起動してすぐにcent2も起動した場合はcent1のログに&lt;code&gt;Link cent2:eth0 up&lt;/code&gt;と出力されてから13秒後に仮想IPアドレスが設定されました。ha.cfのdeadtimeが10秒という設定なので、これ+αということのようです。&lt;/p&gt;
&lt;p&gt;次に、cent2でheartbeatを起動します。&lt;/p&gt;
&lt;pre&gt;cent2$ sudo /etc/init.d/heartbeat start&lt;/pre&gt;
&lt;p&gt;ログを見て起動が完了したことを確認したら、cent1でheartbeatを停止してみます。&lt;/p&gt;
&lt;pre&gt;cent1$ sudo /etc/init.d/heartbeat stop&lt;/pre&gt;
&lt;p&gt;ログを見て仮想IPが引き継がれた旨が表示されたらipまたはifconfigで確認してみると無事引き継がれていることを確認できました。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/202273930353606472-5523903084660874294?l=hnakamur.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnakamur.blogspot.com/feeds/5523903084660874294/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=202273930353606472&amp;postID=5523903084660874294' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/5523903084660874294'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/202273930353606472/posts/default/5523903084660874294'/><link rel='alternate' type='text/html' href='http://hnakamur.blogspot.com/2009/11/centosheartbeatvip.html' title='CentOSでheartbeatでVIP引き継ぎ'/><author><name>hnakamur</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_bG_2-jTPSJc/So5IsMRGDnI/AAAAAAAAACo/lSLqMBqVJ7s/S220/look_right.jpg'/></author><thr:total>0</thr:total></entry></feed>
