2011年12月17日土曜日

Lubuntu11.10にUT-VPNをインストールする

Lubuntu 11.10にUT-VPNをインストールする際にハマったのでメモ。
インストールに成功したものの、

$ utvpnclient start

segmentation fault (core dump)

というエラーが発生。

解決策はこちら
http://wiki.livedoor.jp/taiki_kondo/d/UT-VPN/Debian#content_1_2_6

Ubuntu 11.10は重い、Lubuntu 11.10は軽い

2個ぐらい前の記事にUbuntu 11.10をインストールして使った記事を書きましたが
やはりUbuntu 11.10は重くて断念。

代わりにUbuntu 11.10をGNOMEではなくLXDE環境をベースにした Lubuntu 11.10
をインストール。
公式サイト
http://lubuntu.net/

日本語Wiki
http://ja.wikipedia.org/wiki/Lubuntu

実際使ってみると非常に軽くて、その割には標準でChromiumが入ってたり
ニコニコ動画見れたりFlash対応してたりと非常に良いディストリビューション。

今はもうWindowsXPを起動する事は滅多になくずっとLubuntu 11.10を
常用しています。

細かいカスタマイズとかHow toは
http://yasshan.way-nifty.com/lubuntu/

この辺が詳しいです。

オススメです。

2011年11月29日火曜日

ESXi 5.0 にて、CPU仮想支援機構(Intel-VT or AMD-V)について

ESXi 5.0 環境でCPUの支援機構であるIntel-VTまたはAMD-Vが
ちゃんと有効になっているかどうかをチェックする方法を調べた。

http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1011712

これ。なぜかうちのサーバ ProLiant ML115 G5は returnが 1 になって
返ってくる。BIOS設定でちゃんと有効にしたのに!どういうことだろう。
CPUも対応しているのになぁ・・・・。

2011年11月5日土曜日

今更ながら、Ubuntu 11.10 Desktop版をインストール


またしても長らくブログを書いていませんでした。
ちょっとWindows使っていると色々と雑念が・・というか
なんかつい遊んでしまって全然コンピュータの勉強にならないので
思い切ってメインマシンにUbuntuを入れてみました。

falcon@lin:~$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=11.10
DISTRIB_CODENAME=oneiric
DISTRIB_DESCRIPTION="Ubuntu 11.10"

最新のLinuxデスクトップがどんなものか期待ですw

とりあえず標準で入ってたEmpathyというチャットソフトを使ってみたんですが
あまりにも設定できる項目が少なくまともに使えないのでアンインストール。

今Ubuntuから書き込んでいますが、Google IMEに慣れきっているせいか
標準のIMEもなんか使い辛い・・・。

後はなんかやっぱり重い気がする。
でも凄いのは初期状態から特に何もしていないのにニコニコ動画とか
見れるし音声がちゃんと出る点。デバイスドライバ関係の
自動認識はかなりよくなっている模様。
Debian最小インストールからデスクトップ環境を構築してもこの辺はかなり
苦労するところなだけに凄いと思う。
色々いじり倒してWindows要らないってレベルまで使い込んでみようと思います。

2011年9月15日木曜日

ニコニコでツボったw

http://www.nicovideo.jp/watch/sm15052902


http://www.nicovideo.jp/watch/sm15375685

この2つ面白いwww
特に1番目のネコVSプリンターは超可愛いので思わず記事にしてしまう始末。

2011年8月29日月曜日

Galaxy S2の保護フィルム

長らく放置気味だなぁ・・・w
Galaxy S2買いました!
どの保護フィルムがいいのかと色々調べてたんですが



これがいいみたいですね。注文してみます!

2011年6月19日日曜日

SoftBankのフォトビジョン

http://cinema-magazine.com/m/tb/?n=1311&i=35&d=0619
↑上記で言っているような少々問題のあるSoftBankの売り方に
見事にやられてしまいました。2台も契約させられた・・・・・・・。
違約金は2万といって解約はさせてもらえない。

ああ、欝だ・・・・・。フォトビジョン詐欺にご注意を。。。

2011年4月11日月曜日

福島第一原子力発電所の画像

福島第一原子力発電所の画像 です。
こんなに破壊されてる・・・・これはヤバい・・・。マジで・・・。

2011年4月10日日曜日

ブログメンテナンス

ブログメンテナンスしました。
WordPressで公開していたブログから、Bloggerに載せ替えたので
HTMLタグとかが違うものにしないといけない箇所とかあったんで
ガリガリ置き換えていきました。過去記事が幸いにも少なかったので
そこまで大量ではなかったのが救いでした。

コードの表示をSyntax Highlightしたいなと思って
Google Prettyprint を入れました。
なかなか良さそうな感じ。インフラ関連の記事ばかり書いているから
若干コード表示の色が不適切な気がします。

開発関連の記事を書けば問題ないね!

2011年4月9日土曜日

Proftpdのセキュリティ強化

FTPサーバへ接続した際に、そのFTPサーバのソフト名、バージョン情報、ホストのLAN内のIPアドレス(プライベートIPアドレス)
等が表示されることがありますが、この情報を外部に与えるのはセキュリティ的によろしくない。

というわけで、下記の設定を施しておく。(Proftpdの場合)
# vim /etc/proftpd/proftpd.conf

ServerIdent on "FTP Server"

これでクライアントが接続してもバナー表示は
FTP Server

と出るだけで何の情報も得ることができなくなる。

2011年3月3日木曜日

Debian lennyからsqueezeへアップグレード

Debian squeezeがいつの間にか最近リリースされていました!
Debian 6.0 Squeeze released
Debian 「squeeze」 リリース情報

squeezeが安定版になったので、lennyからsqueezeへアップグレード
する必要があります。その手順を記載致します。

基本的には下記ページの手順に従います
第4章 Debian 5.0 (lenny) からのアップグレード

かなり長いですね・・。さすが公式のドキュメント・・。
充実しています。

では早速要点を抽出して記載してみます。。

まず既存のlenny環境を最新状態に更新します。
apt-get update
apt-get upgrade

そして、既存のlennyに向けてあるapt-lineをsqueezeに
向けます。
vim /etc/apt/sources.list

sources.listファイル中の lenny と書かれてある箇所を全て
squeeze に置き換えます。
その際URLに volatile と書かれている2行については、下記2行に
置き換えます。
deb http://ftp.jp.debian.org/debian/ squeeze-updates main
deb-src http://ftp.jp.debian.org/debian/ squeeze-updates main

この情報についてはvolatile announceに詳細が書かれてあります。
どうやらvolatileリポジトリの管轄が変わったようですね。

ディスク容量が足りなくなってアップグレード失敗する可能性を減らす為に
aptで拾ってきたパッケージのキャッシュをクリアします。
apt-get clean

aptのトランザクションが中途半端になっているパッケージが無いか
どうかをチェックし、問題を解決しておきます。
dpkg --audit

上記コマンドで何もパッケージが出力されないことを確認します。
dpkg -l | grep ^rc

先頭にrcと書かれてあるパッケージがあれば、不要なものは
下記コマンドでアンインストールしておきます。
dpkg -P 

squeezeに向けたapt-lineの情報を更新します。
apt-get update

次にいよいよsqueezeへアップグレードする第一ステップを実行します。
色々質問ダイアログが環境によって出てくると思いますが
ほぼデフォルトで問題ありません。
環境によるのでどれを選択するのが正解とは言えませんので
ここではデフォルトを選択するということで。
apt-get upgrade

大量に更新がかかります。

公式ドキュメントにもある通り、安全にアップグレードする為
まず最初にカーネルを更新します。
apt-get install linux-image-2.6-686

次にudevパッケージも先に更新しておきます。
apt-get install udev

そして再起動します。
reboot

いよいよsqueezeへ本格的にアップグレードします!
apt-get dist-upgrade
reboot
apt-get autoremove

autoremoveで古かったり不要なパッケージを削除します。
dist-upgradeしたら dash を使いますか?と質問ダイアログが
出てきますが、これはよく知りません。パフォーマンスがあがる
とか書いてあるので「はい」と答えて問題なく動いています。

古いカーネルがもう要らない場合は下記コマンドで削除します。
apt-get remove linux-image-2.6.26-2-686
dpkg -P linux-image-2.6.26-2-686


GRUBがGRUB2に更新されており、古いGRUBをチェインロードで
呼び出す形になっていると思いますが、これも最初から
新しいGRUBで起動したい場合は下記コマンドを実行します。
upgrade-from-grub-legacy


再起動してみて問題なく起動出来ればアップグレード完了です。

お疲れ様でした。

2011年2月24日木曜日

USB boot Linux - Live-Helper -

今回は掲題の通り、1本のUSBメモリからPCをUSB bootして
自分で構築した独自のLinux環境を起動する Live-Helperに
ついて書きたいと思います。
この手のツールにはRemastersysやその他のツールがあるようです
が、Live-Helperの良いところは
【最小構成の軽量Linux環境を独自にカスタマイズ出来る】
という点です。
現在Live-Helperは情報が雑然としており、バージョンアップ
による仕様変更が多発し、本家の英語ドキュメント(公式)
さえも間に合っていない程活発に開発されているようです。

以前作業環境として、Debianをインストールして、Debian上で
Live-Helperを動かしてみたんですが、上手くいかずに挫折した
ので、今回はUbuntu 10.10(Desktop版)を使用して見ることに
しました。結果上手くいったので手順を載せてみます。

1. Live-Helperのインストール
下記コマンド一発で楽々インストール
apt-get -y install live-helper

2. バージョンの確認
前述のとおりバージョンによって仕様が違う為確認しておきます。
Ubuntuのバージョン
cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=10.10
DISTRIB_CODENAME=maverick
DISTRIB_DESCRIPTION="Ubuntu 10.10"


次にLive-Helperのバージョン
dpkg -l | grep live-helper
ii  live-helper                          2.0~a21-1                                       Debian Live - System Build Scripts (transitional package)


Live-Helperはapt-getでいれたものです。

☆注意
Debian(lenny)のLive-Helperはバージョンが古く、
lh_config コマンド(アンダーバーが間にくる)や
lh_build コマンドになっています。
UbuntuのLive-Helperはバージョンが新しく、
lh config コマンド(スペースが間にくる)や
lh build コマンドになっています。

3. 作業環境の構築
私は /root/ 直下に work というディレクトリを作成してrootで作業しました。
mkdir -v /root/work
cd /root/work/

UbuntuからLive-Helperを利用すると、Ubuntu Live USB Linuxを
作成するか、Debian Live USB Linuxを作成するか選べます。
最初Ubuntu Live USB Linuxを作成してみたのですが、なぜか
原因不明ですがテスト起動した際に正常に起動できず
(initramfs)> みたいなプロンプト表示になってしまったので
諦めてDebian Live USB Linuxを作成してみました。

4. 最小限の構成でテスト
以下のコマンドで最小構成のDebian Live USB Linuxが出来上がります。
lh config --mode debian -b usb-hdd
lh build

たった上記2コマンド。
-b usb-hdd の指定は、USBメモリから起動できるイメージを作成する
際に利用する引数です。VMware Player等の仮想環境でとりあえず
テストして、上手くいったらUSBメモリ用のイメージを作成する
という作り方をすれば、いちいち本物のUSBメモリに書き込んで
テストする手間が省けるため、通常は上記ではなく下記で
テストします。
lh config --mode debian -b iso
lh build

カレントディレクトリ内に [binary.iso] というファイルが出来上がる
ので、このイメージファイルを仮想環境でテスト起動してみます。
上手くいけばとりあえず第一段階はクリアです。

5. カスタマイズ
4.の要領でビルド出来るようになったら、今度は自分好みにカスタマイズ
してみます。
以後は、ビルド(lh build)しなおす度にビルド直前に下記コマンドを実行してからビルドします。
lh clean

カスタマイズする方法は色々あるようですが、私はなるべくシンプルに
出来るように、設定をシェルスクリプトに全部書くことにしました。

vim /root/setup.sh

#!/bin/sh

# --mode ubuntu は上手くいかないので --mode debian でテスト

lh config --language ja --bootappend-live \
"locale=ja_JP.UTF-8 klayout=jp quickreboot" \
--packages "screen partimage vim less ssh lsof" \
--mode debian \
--distribution lenny \
--username falcon \
--hostname falcon-system \
--mirror-bootstrap "http://ftp.jp.debian.org/debian/" \
--mirror-binary "http://ftp.jp.debian.org/debian/" \
--mirror-chroot "http://ftp.jp.debian.org/debian/" \
--mirror-chroot-security "http://security.debian.org/" \
--mirror-binary-security "http://security.debian.org/" \
--iso-volume falconLive \
--syslinux-timeout 10 \
--syslinux-splash "config/binary_syslinux/falcon.jpg" \
--binary-images usb-hdd \
--archive-areas "main contrib non-free"

chmod a+x ../setup.sh

lh config コマンドの引数について順次説明します。
【省略形】|【フルスペル】

説明 or コメント
の要領で書きます。

-l|--language ja

言語設定を日本語に設定。

--bootappend-live "locale=ja_JP.UTF-8 klayout=jp quickreboot"

Live Linux起動時のBootパラメータ指定。
locale=ja_JP.UTF-8 で日本語のロケールを設定
klayout=jp ←非常に重要。情報が混乱している為
サイトによっては kmodel=ja keyb=jp106 等があるが
今回のバージョンでは、日本語のキーレイアウトに設定
したいなら、klayout=jpのみを指定する。
この指定により、下記コマンドと同等の効果が得られる模様
dpkg-reconfigure console-data

[qwerty]→[jp106]キーボードを選択
起動後のLive Linuxで適切なキーマップになる。
quickreboot で再起動時のメディアの取り外しの確認を省略できる。
ちなみに persistent をつけてしまうとBug#500672
に遭遇し、正常に起動することができない。←ハマりました。

-p|--packages "screen partimage vim less ssh lsof"

Live Linux環境へインストールするパッケージを記述。
とりあえずテストで適当にいれてみた。 ssh を入れることで
Live Linux起動時に自動的にsshサーバが立ち上がるので遠隔ログイン可能に。

--mode debian

"debian"と"emdebian"と"ubuntu"が指定可能。今回はdebianで。

-d|--distribution lenny

今回は--mode debianなので、 lenny or squeeze or sid のどれかを指定出来ると思う。
--mode ubuntu だとUbuntuの開発コードネームを指定するのかなと。
安定した環境で構築したいので現在の安定版 lenny を選択する。

--username falcon

Live Linux起動時に自動的にログインするユーザ名。falconにしましたw
なお、パスワードは自動的に "live" になります。このパスワードを変更してビルドする方法
はちょっとまだ調べきれていません。知っている人教えてください><

--hostname falcon-system

Live Linuxのホスト名を設定する。falcon-systemにしましたw
Sambaをインストールすれば NetBIOS経由でLAN内でホスト名による名前解決が出来そうですね。

-m|--mirror-bootstrap "http://ftp.jp.debian.org/debian/"

--mirror-binary "http://ftp.jp.debian.org/debian/"
--mirror-chroot "http://ftp.jp.debian.org/debian/"
--mirror-chroot-security "http://security.debian.org/"
--mirror-binary-security "http://security.debian.org/"

Live-Helperスクリプトからパッケージを拾いに行くサーバの指定
及びLive Linux起動時の /etc/apt/sources.list ファイルの内容指定。
この辺は --mode debian を選んだなら日本のdebianサイトを指定。
--mode ubuntu の場合はUbuntuの日本サイトを指定する。

--iso-volume falconLive

メディアにコピーした際のボリューム名の指定。
この引数そのものを省略すると
(--modeで指定した値) (--distributionで指定した値) (イメージ作成時の日付)
という形で名前がつけられます。お好みで。

--syslinux-timeout 10

この引数を省略すると、Live Linux起動時にEnterキーを押下しない限りブートシーケンス
が走らない。放置してても自動的にKernelを起動する秒数を指定する。

--syslinux-splash "config/binary_syslinux/falcon.jpg"

この引数は省略して問題ありません。
Live Linux起動時の背景となる壁紙を指定します。
syslinuxなのでsyslinuxの壁紙に設定できる条件を満たした壁紙ファイルを作成する必要があります。
条件: 640x480 解像度で、 256色 .jpg or .png 画像だったかな。

-b|--binary-images usb-hdd

この引数を省略すると、自動的に iso が指定されたことになります。
ビルド時に、CD(光学メディア)焼き用のイメージファイルを作成するか
USBメモリコピー用のイメージファイルを作成するか、その他にも
iso-hybrid or net or tar
等が指定できるようですが、isoとusb-hdd だけ抑えておけばいいかなと。
今回はUSBメモリ用をつくるので、 usb-hdd を指定する。

--archive-areas "main contrib non-free"

apt-getで拾ってくる際のリポジトリ範囲にどのカテゴリに属する
ソフトウェアを含めるかを指定する。
この引数を省略すると main のみが指定されたことになります。
多くのソフトが欲しいのでフル指定しています。
重要:古いバージョンでは --categories という引数でしたが
今回のバージョンでは --archive-areas に変更されています


とりあえず現状はこんな感じです。
これで、ビルドする際は下記コマンドで
cd /root/work
lh clean
../setup.sh
lh build

これで、/root/work/の下に binary.img ファイルが生成されます。
--binary-images iso 指定していた場合は binary.iso が生成されます。
後は binary.iso の場合はライティングソフトでCDにISO焼きすれば出来上がり。
binary.img の場合は ddコマンドで
dd if=binary.img of=

とすれば書き込めます。USBメモリのデバイスの指定は
例えば
/dev/sdb
等になります。
/dev/sdb1
等とパーティション番号まで指定してしまわないようにご注意ください。
※USBメモリの中身は全て消えてしまいます。

Live Linux起動時に "home-rw" という名前のラベルがついたパーティションは
自動的に /home に書き込み可能でマウントされるという情報や
"live-rw"という名前のラベルがついたパーティションは
/ 以降全ての領域に書き込み可能で差分を保存できるという情報も
ネット上にはあるのですが、なぜか上手くいきませんでした。
既存のデータを削除せずラベル名だけ付けるには
tune2fs -L live-rw /dev/sdb2


パーティションをフォーマットする際にラベルをつけるには
mkfs.ext3 -L live-rw /dev/sdb2

等とします。

でも自動的にマウントしてくれないので、現状はfstabにラベル指定でごまかしています。
他にも色々テクニックがあるようですが、とりあえず今回はこの辺まで・・・。

【追記】
--mode debian

等の、ハイフン ハイフン とハイフンを2個連続で書くとブログの仕様で
ハイフンが1個に化けてしまっている箇所がありますのでご注意下さい。
記述ミスではありません。

2011年2月2日水曜日

最強デフラグソフト PerfectDisk

最近やたらとディスクアクセスが遅いなと感じ始めていたので、普段メインで使っている
WindowsXPマシンのHDDをデフラグしてみました。
普段はたまにWindows標準のデフラグツール
[%SystemRoot%\system32\dfrg.msc]
を使用しているのですが、どうもやっぱり貧弱なようで。
何が問題かというと、ただデフラグするだけで最適化はしないんですね。
ファイルが断片化してあるのをまとめるだけで、まとめた後空いたスペースを
ぎゅっと詰めて後から書き込まれるファイルが断片化
しにくいように、またスムーズに書き込めるようにしたり
ファイルのアクセス頻度に応じて並べる位置を変えたりといった
最適化処理が全くされないのです。
有名どころで、最もパフォーマンスチューニングに効果があるデフラグソフトと言えば
なんといっても PowerX PerfectDisk 11 Pro でしょう。

O&O Defragや Diskeeper等ありますが、PerfectDiskはそれらのソフトとは
一線を画しています。

1. SmartPlacementという独自最適化アルゴリズムを搭載している。
 このアルゴリズムは特許取得済みで他のソフトは真似する事が出来ません。
2. MFT(Master File Table、HDD先頭にあるBootセクタの次の領域)や
システムファイル(pagefile.sys等Windowsが普段ロックしているファイル)
等の最適化にも対応している。
3. ファイルの使用頻度で最適に並べた後、空き領域をまとめて確保する機能を搭載している。
4. Microsoftの承認を受けています。
 安全だということですね。

上記は氷山の一角に過ぎず、その他にも色々とパフォーマンスを引き出す機能を搭載しているようです。

間違いなくPerfectDiskがWindowsをデフラグする上では最強だと思います。

フリーソフトで済ませたいという方にはMyDefrag がオススメです。
会社のPCに製品であるPerfectDiskをインストールするわけには
いかないので、会社のPCへはMyDefragをインストールしました。

ポイントとしては、よく巷で「高速にデフラグ出来る!」とか「作業しながらでも負荷が少なくデフラグ出来る!」
とかあると思うのですが、それらは結局中途半端で、本当に最大限のパフォーマンスを引き出そうと思うならば
本気でデフラグする必要があります。PerfectDiskは多少デフラグに
時間がかかるものの、効果は絶大です。
その理由は、しっかり手を抜かずに完璧にデフラグしているからに他なりません。
時間がかかる問題なんて、寝ている間とか出かけている間に
デフラグさせておけばいいのです。
大体作業しながらデフラグなんて効率が非常に悪くてやらない方がいいと思います。

PowerX PerfectDisk 11 Pro

2011年2月1日火曜日

Linuxで消してしまったファイルを復元

私はそんなミスは今までに1度もしたことがないのですが、

rm -rf /

みたいな感じにLinuxサーバ上で とあるディレクトリ以下を全部削除するみたいな
ミスをしてしまうと、多分絶望しますよね。

そういう場合に使えるのは PhotoRec しかないと
思っていました。たまたま
下記の記事↓
Linuxでうっかりrm -rfしちゃったけど復活出来たよー\(^o^)/
を見つけました。extundeleteですか!
そんなのがあるんですね!万が一の際には
使ってみようと思います。

2011年1月28日金曜日

RedHat Linux 全自動インストール

IT業界悲しいかな、私が好きなDebianでシステム構築を行う事はまずなく、
現地の環境はLinuxと言えばほぼ100% RedHat Linuxです。
職場で当然扱っているわけですが、RedHat Linuxの全自動インストールの検証に少し携わったので
掲載してみようかと思います。

全自動インストールの方法は複数あります。
1. DVD1枚のみで全自動インストール
2. DVDなしでPXE Bootからネットワークインストール
3. DVDもネットワークもなくローカルディスク(パーティション)から別のディスク(パーティション)へインストール

2. のネットワークインストールはさらに詳細に分かれて
2.1. NFSインストール
2.2. httpインストール
2.3. ftpインストール

というのがあります。
用途に応じて最適な手法を選択すればいいと思います。
全ての手法を書ききるのはちょっと大変なので、今回は簡単な
1枚のDVDだけで全自動インストールについて書いてみます。今回はRedHat Linux ES 5.5 64bitで検証しましたが
おそらく32bitでも、多少のバージョン違いでも出来ると思います。

作業はLinuxサーバ上で実施します。
RedHat Linuxをインストールした時に、/root/ディレクトリ直下に
anaconda-ks.cfg というファイルが出来上がるのですが
このファイルさえあれば、作業に使うLinuxサーバはDebianだろうがUbuntuだろうがCentOSだろうがFedoraだろうが構いません。

では早速簡単な手順を紹介・・・。
概ね @ITの記事 の通りでいいのですが、この記事にも間違った部分がありちょっと躓きました。

まずRedHatのDVDの.isoイメージファイルまたはDVD本体を用意し
適当なディレクトリへmountします。

mount -v -t iso9660 -o loop,ro rhel-server-5.5-i386-dvd.iso /media/


物理的なDVDメディアをサーバに挿入している場合はこんな感じ↓
mount -v -t iso9660 -o ro /dev/cdrom /media/

環境に応じて適宜読み替えてください。

mountしたら、lsやdf等のコマンドで正常にmount出来ている事を確認します。

確認できたら、ディスクの中身を作業用ディレクトリへ全部コピーします。
mkdir -v /tmp/redhat
cp -vpr /media/* /tmp/redhat/
cp -vp /media/.discinfo /tmp/redhat/

最後の /media/.discinfo ファイルもコピーすることを忘れないように気をつけてください。
/media/* で指定しても bash は * を解釈する際に
.(ドット)から始まる隠しファイルを無視します。
この .discinfo ファイルが RedHatのインストーラディスクであるという定義がなされてある為
このファイルをコピーし忘れると インストールメディアが見つかりません とエラーを吐かれて自動インストールに失敗します。
躓いていたポイントが、この .discinfo ファイルのコピー漏れでした。

コピーが終わったら RedHat インストール時に /root/ に生成される anaconda-ks.cfg を
作業用ディレクトリへコピーします。
cp -vp anaconda-ks.cfg /tmp/redhat/isolinux/ks.cfg

ファイル名は anaconda-ks.cfg のままでもいいのですが、長いので ks.cfg についでにリネームしつつコピーしています。

次に、どういう設定でRedHatをインストールしたいかの定義をks.cfgに記述します。
ks.cfgはただのテキストファイルなので vi 等のエディタで編集可能です。
vim /tmp/redhat/isolinux/ks.cfg

ks.cfgの詳細についてはRedHatのサイト等を参考にします。

次にks.cfgを起動時に読み込ませる為にisolinux.cfgファイルを編集します。
vim /tmp/redhat/isolinux/isolinux.cfg


default linux
prompt 1
timeout 600
display boot.msg
F1 boot.msg
F2 options.msg
F3 general.msg
F4 param.msg
F5 rescue.msg
label linux
kernel vmlinuz
append ks=cdrom:isolinux/ks.cfg initrd=initrd.img

要点は
--
append ks=cdrom:/isolinux/ks.cfg initrd=initrd.img
--
とks.cfgの場所を/tmp/redhat/からみての
相対パスで指定している事と
--
default linux
・・・<中略>
label linux
--
のように、default行とlabel行が同じ文字列で、そのlabelにks.cfgのパスを記述する事です。

最後に/tmp/redhat/ の中身を全て1つの.isoイメージファイルに固めて、出来上がりとなります。
固めるコマンドは下記
cd /tmp/redhat/
mkisofs -r -l -J -o /tmp/autoRedHat.iso -b isolinux/isolinux.bin  -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table .

-o オプションで出力先.isoイメージファイルを指定します。
その他のオプションはBootable ISOイメージを作成する際に必要なオプションだと思われます。
最後の
--
-boot-info-table
--
の後に半角スペースを1個空けて .(ドット) を打つのを忘れないように気をつけて下さい。
最後の .(ドット)でカレントディレクトリ(つまり /tmp/redhat/ )をISOイメージに
固めるソースディレクトリに指定しています。

しばらく待つと /tmp/autoRedHat.iso ファイルが出来上がります。
このファイルをDVDへ iso 焼きして、サーバの光学ドライブに挿入し、DVDからBootすると
ks.cfg で定義した通りに全自動でRedHatのインストールが走ります。

以上~

2011年1月25日火曜日

HELLSING

HELLSINGというアニメを見ました。
このアニメ超面白いです。ノリとしては
吸血鬼と殺戮がある為月姫・・とはちょっと違いますが
まぁ吸血鬼っていう点と、ゾンビ化して襲ってきたりするので
High School Of the Dead と
さらにブラックラグーンを組み合わせたような(?)
感じのアニメでした。主人公が強すぎですねw

2011年1月21日金曜日

WordPress + SQLite

WordPressのチューニングに関する続きです。
前回の投稿でlighttpd(Webサーバ)とPHPは動くようになったかと思います。
今回はこの構成に、データベースを追加し、WordPressを
いよいよ動くようにするお話です。

WordPressは通常データベースにはMySQLを使います。
しかし再三述べているように、MySQLは非常に重いです。
今回は軽いデータベースとしてSQLite
を使用します。
重要な点なのですが、SQLiteはデータベース"サーバ"ではありません。
MySQL等のデータベースサーバは常に常駐(Daemonize)し、何もしてない間も
メモリを消費し続けたままですが、SQLiteは
必要なときに呼び出されるだけで、普段は全くリソースを消費しません。
この点は非常に大きいです。さらに動作時の負荷もかなり軽いので、パフォーマンスチューニングには
もってこいというわけですね。

WordPressのデータベースにSQLiteを使用する際はこのプラグインを使用します。

ただし残念ながらこのプラグインは更新が遅れており、
現在はWordPress v 2.9.2 までしか対応しておりません。

試行錯誤してなんとか最新版を使おうとしてみたのですが
どうしても上手くいきませんでした。
どなたが上手くいった方いらっしゃいましたらコメント下さい・・・。
その為現在アップデート通知を無視して、 v2.9.2 の古いバージョンで運用しております。

早速導入手順です。
apt-get -y install php5-sqlite

まずphp5からSQLiteを扱えるようにphp5-sqlite
パッケージをインストールします。
次にWordPress本体をインストールします。
上記で述べた通り、WordPressは古いバージョンを落とす必要があります。
WordPress公式サイト過去のバージョンリンクをクリックし、
v 2.9.2のtar.gz形式のファイルのURLを確認し、ダウンロードします。
cd /usr/local/src/
wget -c http://ja.wordpress.org/wordpress-2.9.2-ja.tar.gz

ダウンロードしたWordPressを展開し、DocumentRootへ配置します。
tar -zxvf wordpress-2.9.2-ja.tar.gz
mv -v ./wordpress /var/www/blog

wordpressディレクトリを /var/www/ へ
配置しましたが、この際わざとディレクトリ名を blog に変更しています。
blog に変更することで、ブログのURLが
http://ドメイン名/blog/
となっていい感じになるからです。

次いってみましょう。
cd /usr/local/src/
wget -c http://downloads.wordpress.org/plugin/pdo-for-wordpress.2.7.0.zip
unzip pdo-for-wordpress.2.7.0.zip
cd pdo-for-wordpress/
mv -v * /var/www/blog/wp-content/
cd /var/www/blog/wp-content/
rm -f readme.txt


WordPressのwp-content/ ディレクトリの中に
pdo-for-wordpress/ ディレクトリ内のファイルとディレクトリを全て配置
し、不要なreadme.txt を削除しています。
注意しなければならない点としては、
pdo-for-wordpress/ ディレクトリ内の pdo/ ディレクトリ丸ごとと
db.php が wp-content/ ディレクトリ直下に存在しているという点です。

cd /var/www/
chown -R www-data:www-data ./blog
cp -vp wp-config-sample.php wp-config.php

DocumentRootへ移動し、WordPressのディレクトリやファイル全ての所有者とグループを www-data に設定します。
www-data はDebianのWebサーバを動かすシステムユーザ及びグループです。

次にwp-config.php ファイルを修正します。
修正した箇所は以下です。
diff -u wp-config-sample.php wp-config.php

--- wp-config-sample.php        2010-02-16 23:09:11.000000000 +0900
+++ wp-config.php       2010-12-30 17:19:08.000000000 +0900
@@ -37,6 +37,8 @@

/** データベースの照合順序 (ほとんどの場合変更する必要はありません。) */
define('DB_COLLATE', '');
+
+define('DB_TYPE', 'sqlite');   // mysql or sqlite

/**#@+
* 認証用ユニークキー


define('DB_COLLATE', '');

の行の下に
define('DB_TYPE', 'sqlite');

を追記するだけですね。
// mysql or sqlite

はただのコメントになります。あってもなくても動作は変わりません。

ここまで設定したら、一度lighttpdを再起動して
/etc/init.d/lighttpd restart

WordPressセットアップURLへアクセスします。
http://サーバのドメイン名/blog/

Webブラウザで簡単にセットアップが実行できます。
セットアップ実行後はadminアカウントで自動生成されたパスワードでログインします。
自動生成されたパスワードは覚えにくいので、後で設定画面から変更する事が可能です。

ちょっと長くなりましたが、とりあえずWordPressセットアップまで~

以上。

2011年1月19日水曜日

ドメイン名変更

ブログのURL(というかドメイン名)を変更しました。
旧: http://falconws.mine.nu/blog
新: http://falconws.dyndns.org/blog

本当は変更したくなかったのですが、変更した理由は
MSN Messenger(Live Messenger)のチャットにおいて、
http://任意のドメイン名.mine.nu
というような、http:// でリンクする文字列かつ、ドメインが[mine.nu]に所属する文字列を
ブロッキング(フィルタリング)するように仕様変更されているようで
そのせいで、例えば私が誰か知人にブログのURLを示した際
チャットが送信できずにエラーで返ってくるということが多々あり煩わしくなったからです。

自宅のDNSサーバの設定変更、WordPressのURL設定変更、
ブログアクセス解析の設定変更(まだ動作確認は取れず)、
自宅ルータの設定変更、作業に使うPC3台ぐらいのブックマークの修正、
リモートアクセスに使っているPuTTYのセッションのアドレス修正等など
色々な箇所の修正が必要で大変でした。
まだ修正漏れや設定ミスがもしかしたらあるかも・・・・。

MSにディスられたmine.nu・・・

これ経緯はどうも、チャットでURL送ってウイルスばら撒くBot対策のようです。
2chスレとかに情報があったのを読んだ気がします・・・。
ことあるごとにドメイン名変えてたらやってられんぞこんなの。。。

2011年1月18日火曜日

北九州のパソコンショップ

知り合いのパソコンショップの店長のブログです。
この記事でもまた工夫を凝らしてお客さんのためにカスタム
システムを構築していますね。いつもお疲れ様です!

2011年1月17日月曜日

WordPressアクセス解析導入

WordPressで構築したBlogですが、アクセス解析はどうするのかとググってみたら こちら のサイトに紹介があったので、Googleの提供する
Google Analytics
を導入してみました。さてどんな感じか楽しみです。

2011年1月12日水曜日

Linux のメモリー・フットプリントを削減する

Linuxサーバのメモリを節約しようと色々調べていたら良サイト発見。
Linux のメモリー・フットプリントを削減する

一読の価値がありますよ!

WordPressチューニング、Webサーバ

WordPressを動かすのに必要なWebサーバのチューニングについてです。

まず、Apache2は重いと再三述べていますのでApache2を使わない事は
今更書くまでも無いことですね。
lighttpdを使います。

ディストリビューションはDebianなので、とても簡単にインストールできます。
下記のコマンドを実行します。
apt-get -y install lighttpd

ちなみに、下記コマンドでlighttpdの説明が読めます。
apt-cache search lighttpd
lighttpd - 最小限のメモリしか使用しない高速で軽量なウェブサーバ

次にlighttpdの設定ファイルですが、下記にあります。
/etc/lighttpd/lighttpd.conf

この設定ファイルをバックアップしてオリジナルを残しておいて
後は好きに編集します。
phpと連携する為に下記を設定します。
diff -u lighttpd.conf.org lighttpd.conf

--- lighttpd.conf.org   2010-02-01 04:14:11.000000000 +0900
+++ lighttpd.conf       2010-12-20 23:00:42.000000000 +0900
@@ -13,6 +13,7 @@
"mod_access",
"mod_alias",
"mod_accesslog",
+            "mod_fastcgi",
"mod_compress",
#           "mod_rewrite",
#           "mod_redirect",
@@ -165,3 +166,12 @@
}
}

+fastcgi.server = (
+".php" =>
+    ("localhost" =>
+        (
+            "socket" => "/tmp/php-fastcgi.socket",
+            "bin-path" => "/usr/bin/php-cgi"
+        )
+    )
+)

diff の出力結果だけだと分かりにくいと思いますので詳細を。
まず16行目に
"mod_fastcgi",

を追記します。

次に設定ファイルの末尾に下記を追加します。
fastcgi.server = (
".php" =>
("localhost" =>
    (
        "socket" => "/tmp/php-fastcgi.socket",
        "bin-path" => "/usr/bin/php-cgi"
    )
)
)

この辺の情報ソースは こちらを参考にさせて
頂きました。ありがとうございます。
公式のソースはこちら

上記設定をして 下記コマンドでphpをインストール
apt-get -y install php5 php5-cgi

ここまでして下記コマンドでlighttpdを再起動して設定を読み込み
phpinfo() の確認をする。
/etc/init.d/lighttpd restart
vim /var/www/index.php

<?php
phpinfo();
?>

chown www-data:www-data /var/www/index.php

後はWebブラウザからアクセスしてphpinfo() が動作する事を
確認してくださいまし。

以上、今日はここまで~

2011年1月4日火曜日

WordPressサーバチューニングのポイント

WordPressサーバのチューニングのポイントを載せます。

以前の記事でも書いたのですが、このWordPressサーバはBuffaloのLS-GLをDebian Lenny化
して構築しています。その為メモリが128MBしかなく、CPUは266MHzと超低スペックです。
WordPressはWebサーバ(一般的にはApache2)とPHP(Webサーバと連携して動作)と
MySQL(データベース)の3つを連携させて動作させます。

1.Webサーバの選定
WebサーバとしてはApache2が一般的に使われていますが、Apache2はメモリ消費量がかなり
大きいです。Webサーバは軽量さに定評のあるlighttpd
採用します。これでCPU、メモリリソースともに大幅に節約できます。

2. PHP環境の最適化
PHPは2点程最適化しました。まず1点目はphp.iniファイルを修正してメモリ使用量の上限を小さく設定し
メモリ消費を抑えた点。詳細は後ほどの記事で書く予定です。
2点目はPHP-APCの導入。APCとはAlternative PHP Cacheの略称で、キャッシュを活用して
PHPの処理速度を向上させるものです。

3. データベースの選定
MySQLは大量にメモリを消費します。従ってもっと軽いデータベースを採用する必要があります。
SQLiteを採用し、リソースを節約しました。

以上3点程のチューニングがメインとなっております。それぞれの具体的な設定方法等は
後ほどの記事にて書く予定です。

今日はここまで・・・・

2011年1月3日月曜日

実家帰省中~

現在北九州の実家に帰省中~
実家に居ると家事しなくていいし、仕事も休みとっているし・・・
だらだらと堕落してしまいそうだ・・・。とはいえ実家に居ても
ちゃんとパソコンしてるんだけど・・。実家のLinuxサーバに
プリンタとスキャナ認識させて、WindowsマシンからLinux
サーバ上のスクリプトファイルをダブルクリックするだけで
スキャナが動くようスクリプトをWSHで書いたり・・・。

なんか夢中になって実家のインフラ整えてるといつの間にか
朝の5時まで没頭してた。


オレ涙目w