2011/12/23

BlogPress update

iPhone/iPad用ブログ管理アプリの BlogPressがやっと更新されました。 iOS5になった時と記憶していますが、管理画面で公開済や一時保管中の記事が見えないという不具合がありました。 一気に書いて公開してしまえば問題無いとはいうものの、私なりに遂行して何度も保存と編集し直しをする者にとっては致命的でした。 更新後、早速こうして記事を書いてみました。 おぉ、あたり前ですがちゃんと直っている。素晴らしい。 日本語入力IMEの表示カラムにもちゃんと対応しているようです。カーソルが隠れたかな? と思っても、少し待てばスクロールしてくれます。有り難や、有り難や。 追記。 何だか改行がダメっぽい...

2011/10/02

ディスクイメージを再構成をしてスパースファイルを小さくする

一時的に作成されたファイルにより大きくなってしまったスパースファイルを小さくする為に、イメージの再構成をします。

例によって、これは未来の私宛のメモです。
ホスト名やディレクトリ名などは架空のものであり現実とは関係ありません

環境
ワーク領域に SDHCカードを/dataにマウントして使用する。
元のファイルはXen guestマシン(Linux)用のイメージファイルとする。
イメージファイルはホストマシンの/data_local 配下にある。

OLD image: /data_local/xen/domains/alpha/disk.img

OLD imageで動いていた仮想マシンをshutdown.

ホストマシンで SDHCをマウント
# mount /data

念のためバックアップ
# cp --sparse=auto /data_local/xen/domains/alpha/disk.img /data/old_disk.img.BAK
# cksum /data_local/xen/domains/alpha/disk.img /data/old_disk.img.BAK

古いイメージファイルを削除
# rm /data_local/xen/domains/alpha/disk.img

NEW image用 sparse file作成
# dd if=/dev/zero of=/data_local/xen/domains/alpha/disk.img bs=1024k seek=2048 count=0
# du /data_local/xen/domains/alpha/disk.img
0 /data_local/xen/domains/alpha/disk.img

ファイルシステム作成
# mkfs -t ext3 /data_local/xen/domains/alpha/disk.img

新旧imageをマウント
# mkdir -p /mnt/old /mnt/new
# mount -o loop /data/old_disk.img.BAK /mnt/old
# mount -o loop /data_local/xen/domains/alpha/disk.img /mnt/new
# df

コピー
# rsync -Saxv /mnt/old/ /mnt/new

アンマウント
# umount /mnt/old /mnt/new
# ls -l /data/old_disk.img.BAK /data_local/xen/domains/alpha/disk.img
# du -m /data/old_disk.img.BAK /data_local/xen/domains/alpha/disk.img
# umount /data
# df

alpha再起動
# xm create alpha.cfg
# xm list




2011/09/21

iPhoneアプリ bloggerからの投稿テスト

iPhone用 Google blogger公式アプリケーション、その名もズバリ blogger から投稿テスト。

----
フライトモードにしてオフラインで追記してみた。

続けて新規作成しようとしたが、未アップロード記事の編集画面になる。
オフラインで記事の書き溜めはできないみたいです。
オンラインでサーバーにdraft保存すれば書き溜め可能のようです。
つたない検証なので間違っていたらごめんなさい。
----
再度試してみたら、フライトモードでも複数記事を書き溜めできました。
BlogPressのアドバンテージはタグの選択入力くらいしかない気がしてきました。しかもBlogPressは日本語入力カラムが編集画面にかぶってカーソルが見えなくなるし...

2011/09/18

ゲストマシンをディスクイメージとしてバックアップする

そもそもゲストマシンはディスクイメージとして存在しているので、ホストマシンがそのファイルをコピーするだけで良いのですが、スパースファイルを再構成することで一度大きくなってしまったディスクイメージを小さくしましょう、という意図があります。
(SSDが潤沢にあればこんなことしなくて良いのに!)

また、ホストマシン側は 4GBのSSDしか使用できない環境なので、今回はゲストマシン側だけで何とかします。
(SSDが潤沢にあればこんなことしなくて良いのに!!)

なお、このblogは例によってメモ for 未来の私 です。

ゲストマシン環境
ディスクマウント状態はこんな感じ
/dev/xvda3 /dataは SDHCです。
バックアップ対象は /(/dev/xvda1) だけです。
バックアップ保存先は /data(/dev/xvda3) です。
/dev/xvda1 none swap sw 0 0
/dev/xvda2 / ext3 rw,noatime,nodiratime,errors=remount-ro 0 0
/dev/xvda3 /data ext3 rw,noatime,nodiratime 0 0

ホストマシン側から見ると
/dev/xvda1 と /dev/xvda2 は EeePC 4G-X 上のSSDに保存されている ディスクイメージファイル(スパースファイル)です。
/dev/xvda3 は外付けSDHC(/dev/sdc1)です。
ホストマシン側でマウントしているデバイスはゲストマシンでマウントできないため、ホストマシンは /dev/sdc1はマウントしていません。
仮想マシン起動用のcfgはこんな感じ(抜粋)
disk = [
  'file:/data_local/xen/domains/alpha/disk.img,xvda2,w',
  'phy:/dev/sdc1,xvda3,w',
  'file:/data_local/xen/domains/alpha/swap.img,xvda1,w',
]

バックアップ手順
1. ディスクイメージ作成
2GBのスパースファイルを作成します。
作成先は /data/tmp/disk.img です。
# dd if=/dev/zero of=/data/tmp/disk.img bs=1024M seek=2 count=0

2. ファイルシステム作成
作成したディスクイメージに ext3ファイルシステムを構築します。
対話的に y/n を聞かれることがあるので、自動的に y を答えるようにします。
# echo "y" | /sbin/mkfs -t ext3 /data/tmp/disk.img

3. 作成した空ディスクをマウント
ループバックデバイスとして作成したディスクを /mnt/tmp にマウントします。
# mount -o loop /data/tmp/disk.img /mnt/tmp

4. コピー
rsyncを使用して、/(ファイルすべて) を /mnt/tmp にコピーします。
ただし、SDHCである /data/ と マウントしている /mnt/tmp/ は除外します。
90秒スリープしているのはバッファの内容を書きこむのを待っているため。sleepしなくても良いのですが、なんとなく。
# /usr/bin/rsync -Sax / /mnt/tmp --exclude "/data/" --exclude "/mnt/tmp/"
# sleep 900

5. アンマウント
マウントを解除します。
# umount /mnt/tmp

6. GNU tarでアーカイブ
gzip や bzip2 では sparseとしての扱いが出来ずに、今回であれば 2GBのファイルとして扱ってしまいますが、sparseファイルが扱える GNU tar (Sオプション)を使い、/data/tmp/disk.img から /data/Dropbox/backup/disk.img.tgz を作成します。
# cd /data/tmp
# tar -Szcf /data/Dropbox/backup/disk.img.tgz ./disk.img

/data/Dropbox は Dropbox同期ディレクトリになっているので、ここに保存した disk.img.tgz はDropboxクラウドやLAN同期を経由して手元のMacにも転送されます。
これでバックアップは終了です。


これらバックアップはスクリプトにして、cronで週3回ほど自動実行させています。
スクリプトはこんな感じ。バックアップ開始/終了をtwitterにpostしています。

USERNAME@SERVER:# cat backup_image.sh
#! /bin/sh
set -x

TMP_DIR=/data/tmp
TMP_IMAGE=disk.img
DST_DIR=/data/Dropbox/backup
DST_FILE=disk.img.tgz
MNT_POINT=/mnt/tmp
TMP_FILE=/tmp/tmp.$$

TW_POST=/home/root/bin/twitter_post.pl

# mount check
# if mounted /mnt/tmp , this script will finish.
df | grep '/mnt/tmp$' > /dev/null
test $? -eq 0  &&  exit

#
if [ -f $TW_POST ]; then
    HM=`date +%H:%M`
    echo "disk image backup start at $HM" > $TMP_FILE
    $TW_POST $TMP_FILE
    rm $TMP_FILE
fi


test -f $TMP_DIR/$TMP_IMAGE  &&  rm -f $TMP_DIR/$TMP_IMAGE

# make new 2GB sparse file
dd if=/dev/zero of=$TMP_DIR/$TMP_IMAGE bs=1024M seek=2 count=0
echo "y" | /sbin/mkfs -t ext3 $TMP_DIR/$TMP_IMAGE

# mount image
test ! -d $MNT_POINT  &&  mkdir -p $MNT_POINT
mount -o loop $TMP_DIR/$TMP_IMAGE $MNT_POINT

# mount check
# if NOT mounted /mnt/tmp , this script will finish.
df | grep '/mnt/tmp$' > /dev/null
if [ $? -ne 0 ]; then
    if [ -f $TW_POST ]; then
        HM=`date +%H:%M`
        echo "disk cannot mounted. abort. $HM" > $TMP_FILE
        $TW_POST $TMP_FILE
        rm $TMP_FILE
    fi
    exit
fi
   

# copy
/usr/bin/rsync -Sax / $MNT_POINT --exclude "/data/" --exclude "$MNT_POINT/"
sleep 900

umount $MNT_POINT

test -f $DST_DIR/$DST_FILE  &&  rm -f $DST_DIR/$DST_FILE

(cd $TMP_DIR ; tar -Szcf $DST_DIR/$DST_FILE ./$TMP_IMAGE )

rm -f $TMP_DIR/$TMP_IMAGE

if [ -f $TW_POST ]; then
    HM=`date +%H:%M`
    echo "disk image backup finished at $HM" > $TMP_FILE
    $TW_POST $TMP_FILE
    rm $TMP_FILE
fi

2011/09/17

Xen

禅。
唐突ですが、自宅サーバを仮想化しました。

これまでも設定ファイルなどをtarで固めて外部ストレージに書きだしてバックアップとしていたのですが、いざ故障が発生してサーバ移行を強いられた時にちまちまアプリケーションをインストールして設定ファイルから環境を戻して... というのがすごく面倒くさいのではないかと、感じたからです。
これまでも自宅サーバは幾度かの世代交代を行ってきて、そのたびに数日の稼働をかけながら復旧させていたのですがあまりにも面倒臭い。
もちろん、再設定を行うことで知識は深まるメリットはあるものの、正直やっぱり面倒くさい。

ならば、いつ本体が故障して新ハードウェアになったとしても、従来の環境をガッツリ戻せたほうが便利なのではないかと、そう思ったわけです。
というわけで、禅です。

自宅サーバ2011のスペック、環境について
ASUS EeePC 4G-X (日本発売EeePC初代モデル)
CPU Intel Celeron M 900MHz の 600MHz駆動
Mem DDR2 2GB に増設
eth0を使う(wlan0ではXenが使えない)
SSD 4GB(デフォルト)
SDHC 32GB

設計(最終的な環境)
ホストマシン、ゲストマシン ともに Debian GNU/Linux 6.0(squeeze)
仮想環境はXenを使用する。(EeePCはIntel-VTなど無いので、KVMは使用できない)
ホストマシン(domain-0)は SSD上に構築。メモリ割り当ては約0.5GB
ゲストマシン(domain-U)は SSD上にイメージファイルで構築。メモリ割り当ては1.5GB
ゲストマシン用のストレージとして SDHCを物理デバイスとして使用する。

なお、このblogは例によってメモ for 未来の私 です。

Xen 4.0 インストール
# aptitude install xen-linux-system-2.6.32-5-xen-68 xen-tools

他に入れたかもしれませんが、結局入っているXen関連は以下のとおりです。たぶん aptitudeが入れてくれるはずです。
debootstrapも入っています。
asatsuki@eeetan:~$ dpkg -l | grep -i xen
ii  libc6-xen                             2.11.2-10                    Embedded GNU C Library: Shared libraries [Xen version]
ii  libxenstore3.0                        4.0.1-2                      Xenstore communications library for Xen
ii  linux-image-2.6.32-5-xen-686          2.6.32-35squeeze2            Linux 2.6.32 for modern PCs, Xen dom0 support
ii  xen-hypervisor-4.0-i386               4.0.1-2                      The Xen Hypervisor on i386
ii  xen-linux-system-2.6-xen-686          2.6.32+29                    Xen system with Linux 2.6 for modern PCs (meta-package)
ii  xen-linux-system-2.6.32-5-xen-686     2.6.32-35squeeze2            Xen system with Linux 2.6.32 on modern PCs (meta-package)
ii  xen-tools                             4.2-1                        Tools to manage Xen virtual servers
ii  xen-utils-4.0                         4.0.1-2                      XEN administrative tools
ii  xen-utils-common                      4.0.0-1                      XEN administrative tools - common files
ii  xenstore-utils                        4.0.1-2                      Xenstore utilities for Xen

Xen設定
/etc/xen/xend-config.sxp で(本体)内部ネットワークにブリッジを生成するオプションを有効化(コメント外し)します。
 (network-script network-bridge)

grub設定
環境にもよりますが、Xen対応カーネルは grub的に言うと (0番目から数えて)4番目に該当するので、
/etc/grub/grub.cfg に set default="4" を書いておきます。
(menuentryの順番を書き換えて Xen対応カーネルを 0番目にして、set default="0"のままにしておくという方法もあります)

Xen-tools 設定
仮想環境構築を手助けしてくれる xen-toolsの設定ファイル /etc/xen-tools/xen-tools.conf を編集します。
変更場所は以下のとおりです。
(括弧内はもちろんこのblogのためのコメントです)
 dir = /data_local/xen  (仮想環境のイメージファイル作成場所。お好みのディレクトリに)
 size   = 2Gb (仮想イメージファイルサイズ)
 memory = 1536MB (割り当てるメモリ 1.5GB)
 swap   = 128Mb (スワップファイルサイズ)
 fs     = ext3 (ディスクフォーマット)
 dist   = `xt-guess-suite-and-mirror --suite` (Default distribution to install.)
 image  = sparse (スパースファイルでディスクイメージを作成)
 gateway    = 192.168.1.1 (ネットワーク関連設定)
 netmask    = 255.255.255.0 (ネットワーク関連設定)
 broadcast  = 192.168.1.255 (ネットワーク関連設定)
 arch = i386 (CPUアーキテクチャを指定)

仮想イメージ作成
(ゲストマシンのIPアドレスを 192.168.1.204とした場合)
# xen-create-image --hostname SERVERNAME --ip 192.168.1.204
おなじみのDebianインストールをして、終了させます。
/etc/xen/SERVERNAME.cfg が作成されているはず...です。

/etc/xen/SERVERNAME.cfg設定
bootローダーを pygrub に変更します。
これをしないとXenが正常に起動しませんでした。
bootloader = '/usr/lib/xen-default/bin/pygrub'

ホストマシンの SDHCは /dev/sdc1 として認識されているので、これをゲストマシンに
/etc/xen/SERVERNAME.cfg を編集して SDHCを割り当てます。
disk = [
  'file:/data_local/xen/domains/alpha/disk.img,xvda2,w',
  'phy:/dev/sdc1,xvda3,w',
  'file:/data_local/xen/domains/alpha/swap.img,xvda1,w',
]
             
file:~ はイメージファイルを指定する方法、
phy:~ は物理デバイスを指定する方法です。

このへんで一度ホストマシンを再起動しておきましょう。

ゲストマシン起動

# xm create -c SERVERNAME
ゲストサーバ SERVERNAME が起動して、そのコンソールに接続する... はずです。
ここでいろいろインストールするもよし、あとで行うもよし。
ホストマシンのSDHC /dev/sdc1 は ゲストマシンでは/dev/xvda3 として認識されているはずなので、/etc/fstabに書いておきます。
 /dev/xvda3 /data ext3 noatime,nodiratime 0 0
とりあえず shutdown させてホストマシンに戻ります。
コンソールから抜けるには Ctrl + ] を使います。

仮想(ゲスト)マシンの自動起動
ホストマシンを再起動したときにゲストマシンも自動的に起動する設定です。
/etc/xen/auto ディレクトリを作成し、その下にゲストマシンの cfgファイルを置きます。
実際にはシンボリックリンクを作成します。
# ln -s /etc/xen/SERVERNAME.cfg /etc/xen/auto/SERVERNAME.cfg

ものすごく雑ですが、これでゲストマシンが作成されました。
あとはゲストマシンに apache, mysql, php, squid, postfix, bind, dhcp 他、そのたもろもろサービスをインストール&構築してサーバ環境を構築しましょう。

Have Fun!

execute Dropbox on Text Based Linux

仮想化した自宅サーバのバックアップ方法として、ディスクイメージファイルを dropboxにアップロードする方法を検討しました。

サーバはCLIなので、TextBasedLinuxInstall を参考にインストールします。
参考に、というかそのままなのですが、ここにメモ for 未来の私。

Step-by-step versionの手順を踏みます。

1. Dropboxを利用するユーザでログイン
rootで動かすにはセキュリティ的にも不安があるので、一般ユーザでDropboxを動かすようにします。

2. wgetでソースをダウンロード
ホームディレクトリにダウンロードします。
$ cd ~/
$ wget -O dropbox.tar.gz "http://www.dropbox.com/download/?plat=lnx.x86"   
(64bit ver.の場合は wget -O dropbox.tar.gz "http://www.dropbox.com/download/?plat=lnx.x86_64"   )

3. tarボールを展開する...まえにチェック
tar t します

$  tar -tzf dropbox.tar.gz
4. 展開
tar x します
 $ tar -xvzf dropbox.tar.gz 
~/.dropbox/
~/.dropbox-dist/
2つのディレクトリが展開されます。

5. ランゲージ設定
環境変数 LANG を設定します。
私はCLIでしか使用しないので、'C'です。
$ export LANG=C LC_ALL=C
ログイン時に自動的に指定したいときは ~/.bashrc や ~/.profile などに この一行を入れておきます。

6. dropboxd起動
dropboxdを起動すると ~/Dropbox ディレクトリを作成します。
もし、異なるディレクトリを Dropboxファイル格納ディレクトリにしたい場合は、
そのディレクトリ(/data/Dropbox など)を作成し、~/Dropbox -> /data/Dropdox などのようにシンボリックリンクを作成します。
受け皿が用意できたら心を鎮めてプロセスを起動します。
$ ~/.dropbox-dist/dropboxd
初回起動時は怪しげなURLが数秒後とに表示されるので、別マシン(Mac や Windows)のWebブラウザからリンクに移動します。
This client is not linked to any account... Please visit https://www.dropbox.com/cli_link?host_id=謎の文字列  to link this machine.

うまくいけば Linuxマシンがクライアントとして認証され、上記メッセージは停止してクライアントとしての動作が開始します。

インストールはここまで終了です。

dropboxd は一般プロセスなので、ログインして起動しなければなりません。
nohup ~/.dropbox-dist/dropboxd &
でログアウトあとでも動くようにしても良いのですが、サーバ再起動後などはログインしなおしてまた実行しなければいけません。
そこで、プロセスの有無をチェックしてなければ起動するスクリプトを 1日1回程度 cronで実行するようにします。

スクリプトはこんな感じ

USERNAME@SERVER:~$ cat /home/USERNAME/bin/exec_dropbox.sh
#! /bin/sh
# check dropbox process, exec if dropbox process isn't exist.
A=`ps -ef | grep dropbox | grep '/home/USERNAME/.dropbox-dist/dropbox' | grep -v grep | sed '/^$/d' | wc -l`

if [ $A -eq "0" ]; then
    nice -n +19 /home/USERNAME/.dropbox-dist/dropboxd &
#    echo "execute dropbox"
fi

crontabはこんな感じ

USERNAME@SERVER:~$ crontab -l | grep dropbox
# execute dropbox
25 8 * * *    /home/USERNAME/bin/exec_dropbox.sh > /dev/null 2>&1


サーバ仮想化についてはまた後日...

2011/07/30

Lion Library

先日MacBook Pro 15インチを購入しました。
本当は13インチで検討していたのですが、2011/7/20発表のMacBook Airが Core i7プロセッサを搭載して、そりゃ反則だろう! MacBook Pro13インチの立場はどうなるんだ?! と憤慨し(何に?)、ProがAirに負けるわけにいかないので(誰と勝負しているんだ?)、15インチを買ったというわけです(なんだこりゃ)

前環境(MacBook)のデータはタイムマシン経由などで引き継げるのですが、なにぶん前々環境(MacBookG4)の10年前のPanther時代から引き継がれて既に使用していないファイルも多々有りそうなので、今回は一から構築しました。

前Macのデータは以下のコマンドでUSB接続HDDに保存しておきます。
(HDD320GはUSB接続HDD名です。適宜環境に合わせて読み替えてください)

OldMacBook> cp -R ~ /Volumes/HDD320G/

新MacBook ProにUSB HDDを接続して、各アプリケーションに関連したデータを個別にコピーします。
が、そこでわかる新事実、
Lionではfinderからライブラリ(Library)ディレクトリがデフォルトで不可視らしいので、ターミナルからコマンドラインでシンボリックリンク(ソフトリンク)を作成してfinderからアクセスできるようにします。

NewMacBookPro> ln -s ~/Library ~/Link2Library

これで Link2Library というディレクトリ(のようなもの)がホームに現れるので、そこから ライブラリ ディレクトリにアクセスできます。

後でわかったのですが、こんなの事をしなくても
Lionのライブラリフォルダはどこにいった?のようにfinderのツールバーにある「移動」をOptionを押しながらクリックすれば見えるそうです。
(でも忘れそうなので、環境構築が終わるまではシンボリックリンクは残しておきました)

アドレスブック、iCal、Firefox、Thunderbird、Virtualbox などのデータを ライブラリ配下にコピーして環境の移行完了。
ホーム配下のミュージック、ピクチャ なども旧環境通りにファイルを配置して、かなりスムーズに環境移行が出来ました。

感想: やっぱりMacBook Proは速い。

2011/07/25

キンエン、キツエン

禁煙と喫煙をよく間違えそうになります。
キンエン と キツエン で ひと文字しか違っていないのがよろしくないのではないでしょうか。

モノゴトAとBがあり、Aを覚えておかなければならない時に、
「Aである」
と覚えれば苦労はありませんが、
なぜか
「Bではない」
と覚えてしなうと酷く混乱を招くことになります。

先日飲食店に入ったときも、
「煙草は吸いますか?」
と案内の店員さんに対して即答できずに
「ン だったか ツ だったか、ツ ではなく ン の方だったよな」
と悩んでいたら、言葉が通じない客と思われたのか ピースサインを口元で作ってゼスチャーされてしまいました。

その点、英語はいいですね。
「ノー スモーキング」
とりあえず頭に「ノー」を言えば間違いありません。
また日本語の特徴で「喫煙席ですか」と「禁煙席ですか」の問いに対して答えを異なるものにする必要があります。

だからと言って日本語がダメだとか、ンキエン と ツキエン にしろと言うつもりはありませんよ。

ノータバコ、タバコハダメデス。



2011/07/21

2011-07-15 富士登山

2011-07-15 富士登山

毎年登っている職場の人から「今年一緒に登らないか」と、登山マイナス3週間に誘われたままその気になって、生まれて初めて富士山に登ってきました。
準備としてマイナス2週間から9皆のオフィスまで階段で登り、低カロリー低脂肪の食材を取るようにして体重を少し減らし、会社から徒歩で帰宅するなどして少しずつ身体を作っていきました。

登山スケジュールは、「22時頃から富士宮口新五合目から登り始めて山頂で御来光を拝み、下山は御殿場口方面に降りて途中宝永山第一火口を経由して富士宮口コースの六合目に戻ってくる」コースです。


登山当日に事件発生。
昼頃に最終パッキングを確認し、写真を撮ろうとするとデジカメ(Pentax OptioM20)の電源が入らない。
昨日の夜は動いていたのに、今日になって入らない。理由は不明。暑さのせいか? 電池を入れ替えても同じ症状なので本体の故障と判断しました。
今日は一生に一度かもしれぬ富士登山なのでカメラを持っていかない訳にはいきませんから、急遽ヨドバシカメラに飛んでいき、ほとんど検討もしないで Canon PowerShot A1200を 10800円で買ってきました。
出かけるまで昼寝しようと思っていたのになぁ...






ポカリスエット900ml、水500ml。dryタイプTシャツ、dry長袖シャツ、フリース、カッパ、食料、携帯酸素、缶ビール、ライト、スパッツ、ファーストエイド、メモ帳、ストック、ザックの装備です。この他デジカメがあります。

京王高尾駅で車のメンバーと合流し、21時頃に富士山スカイラインの旧料金所に着くと7/15〜車両規制の文字が...
静岡県富士山マイカー規制のお知らせ(https://www2.pref.shizuoka.jp/all/file_download1060.nsf/pages/5BF5B044E15B2775492578B9004259A2)
やむなく水ケ塚パーキングまで戻って車を停めて(駐車料金1000円)、シャトルバス(往復1300円)に乗って、30分ほどで富士宮口新五合目に到着。







シャトルバス内では瞼を閉じて瞑想&休息しました。
♪登るのか、登れるのか、おびえる心よ~恐るな心ひらけよ~ (イデオン調で)
だんだん気分が高揚してきます。

新五合目、標高2400m、22時15分、登山開始です。
本当ならば、各号目でtwitterでツイートしていこうと思ったのですが、そこはsoftbankの弱み、スタート地点の新五合目ですら電波がかなり弱く不安定でした。かろうじて一言つぶやいた後は電源を切ってザックの一番深い位置にしまいました。一方docomoは抜かりなくしっかりと電波が届いているようでした。

Climb On!!

六合目まで約15分。斜度も低く小手調べ程度で、まだまだ余裕があります。鼻呼吸でOK。
新七合目まで約50分。23:20頃。ここは少々長く辛かった。動いているうちは平気ですが、休憩で止まると汗が引いてかなり身体が冷えます。
七合目まで約30分。標高は3000mを超えます。このあたりから高山病になる人もいるのですが、運良く私はかかりませんでした。
八合目、九合目、九号五勺、十号目(山頂)までもそれぞれ約30〜40分程度。斜度も徐々にきつくなってきます。
休憩後歩き始めて5分間で身体が温まり、10分間は快調に登り、残りは息も上がり気味で時々止まって休息しながら登るという感じです。とはいえ長く休むと身体が冷えるので、数分歩いて1分休むといったペースです。
九合目を過ぎると山小屋に宿泊した人たちも登り始めるので渋滞が生じ、すこしキツイ岩場になると列が止まって数十秒間休息が取れたのが助かりました。












九合目の自販機で、缶ジュースは400円です。
山小屋も開いておりカップ麺やお汁粉などの温かいものも食べられるようですが、私は持参したカロリーメイトでエネルギー補充しました。

ほぼ満月の夜なので足元は明るいものの写真を撮るまでにはいかず、各合目にある山小屋以外の登山中写真は殆どありません。
立ち止まってカメラを取り出して写真を撮影してまたカメラをしまう、という動作が面倒くさい。歩くペースを乱したくない、疲れていて写真どころではない、というのが本当の理由です。







ときおり立ち止まって振り返ると、眼下には雲海が広がり、その切れ目からは外界の街の灯りが輝いています。
安全な街の世界とは異なり、ここは一歩間違えば転落して怪我・死亡の危険があり、かつ助けてくれる人もいないかもしれない世界(二重遭難になるので助けは期待できない)、普段生活する空間とは全く異なる空間を意識しました。だからこそ観る風景は感慨深いのでしょう。
TVや写真ではおなじみの光景を実際にこの目で見られたのは感動以外のなにものでもありません。
植物も虫もおらず、静寂で、風の音と闇が支配する世界です。
(登山者はたくさんいますが)



































7/16 4時10分、山頂到着。約5時間55分で登りきりました。





御来光を拝みながらASAHIで乾杯です。
富士山頂上付近の地面は固まった溶岩のせいか、火星の写真のように赤いのです。








本当の山頂(3776m)の剣ヶ峰は疲れていた&混雑していたのでパス、火口をめぐるお鉢巡り約90分も疲れていたのでパス、帰って寝たい一心で下山開始です。
富士宮口コースの下山道は登山道と共用のため道が狭く、また斜面が急で岩場が多く膝に負担がかかり過ぎるので登山部リーダーの計らいで、御殿場口コースを下り宝永山火口経由で富士宮口コースに戻るようにしました。ー






岩と砂ばかりで不毛の地の御殿場口コースは南東側に位置するため強い日差しを遮る樹々もないため、かなり体力を消耗しました。白く見えるのは雪です。







途中で富士山下山名物(?)砂走りで膝の負担を軽減しながら高度を稼ぎ、無事富士宮新五合目まで降りてきました。
帰路に山中湖近くの 紅富士の湯 で温泉&食事&休息をしてに無事に帰宅しました。
数年前から登りたいと思っていた富士山に誘ってくれた&ザックやストックの登山道具を貸してくれた職場の人たちに感謝しています。
登るのは決して楽ではありませんが、登りきった達成感や山頂からの眺めは苦労を差し引いても有り余ると思うので、体力のある方はぜひ一度登ってみることをお勧めします。


登山当日に故障した(と思われた)デジカメ Pentax OptioM20ですが、帰宅した日に確認したら何事もなかったように動き出しました。
よほど富士山に登りたくなかったんでしょうねぇ。

2011/06/07

東京湾ツーリング

2010-06-05 東京湾ツーリング

週末は梅雨の合間の晴れの日だったので、保田のばんやの湯に入って食堂で美味い魚を食べようと思いたち、出かけて来ました。

朝5時に出発。お台場からR357に乗って東へ、船橋を過ぎてから 茜浜に寄ろうとして食品コンビナート方面に県道15号に入ったものの、2箇所ある茜浜への交差点が判らずそのまま千葉市に入ってしまいました。
雲で富士山は見えそうにもないし、夜景を眺める訳でもないので、引き返さずにスルーです。
幕張メッセを抜けて再びR357に戻ってひたすら南下。

時間が早かったので、富津岬に寄ることにしました。岬や最○端があると行かざるを得ない習性です。これは仕方ない。

先客にカワサキZZR 5台のグループが居ました。スズキRF乗りとしてはそのすぐ隣に停めるのははばかられたので、少し離れたところに停めました。
ヘタレですみません。













富津公園の展望台は素晴らしい建造物です。高さもかなりあります。
一筆書きで全ての階段を通ることが出来るのでしょうか?













展望台の頂上から東京湾側、富津市側を眺めるとこんな感じでした。
少し霞がかっているので富士山どころか三浦半島すらはっきり見ることができませんでした。

岬を後にして、R465で大貫、佐貫町と下ってR127に至のですが、この道は良い意味で田舎の道で素晴らしかった。途中に東京湾観音もあるので、もう一度行ってみたいと思っています。

R127を南下して、タイトなクランクカーブを二つ越えると、保田漁協 ばんやの湯が右側に見えて来ます。右折レーンのある見通しの良い交差点なのでわかりやすいでしょう。
時刻は9時を少し過ぎたところで、9時半オープンの食堂ですがなかに入って待つ事は出来るとの事でしたが、私はまず風呂が目当てだったので迷わず向かいのばんやの湯に行きました。

R127の途中、金谷フェリーから降りて来たと思われるバイク2人組もちょうど私を追い掛けるようにしてばんやに到着し、食堂に向かっていたようです。その一台はRF900だったので良く覚えています。

入浴料500円を払って3桁の番号が書かれたカードをもらい、脱衣所へ移動します。カードの番号と同じ番号のロッカーを探しましたが...ありません。ロッカーはどれでも良いようです。カードの扱いに悩んでいると、見かねたガチムチのお兄さんが優しく教えてくれました。カードを扉の内側にあるスリットに入れて外側から窓を通して番号が見えるようにしておけば鍵が有効になって閉められるそうです。

お湯の温度は低く無色透明。ただし高炭酸のためジッとしていると細かな泡が肌に付いて来ます。泡がいつ生成されるのかジッと見ていましたが判らずじまいでした。
メインの湯船以外に2,3人くらいが入れる広さの薬草風呂があります。この日は柿の葉風呂でした。

入浴客は入れ替わりながら常に3,4人程で空いていました。
漁師さんなのか筋肉質の体格の良いお兄さんかご老人が多く、私だけひ弱なボディ。

ひとっ風呂浴びて空腹状態で隣の食堂へ向かいます。時刻は10:30、待ち時間なしで席へ案内されました。周囲を見渡すと独り客は見当たらず、みなグループや家族連れでした。
さ、淋しくなんかないんだから!

壁に貼られた短冊メニューを眺めて悩んだ末、イカかき揚げ丼とスルメイカ刺をオーダー。イカがダブっていても気にしない。
隣のご夫婦からイカ好き野郎と思われているに違いありません。

待つこと数分、来ましたよ。







どーん。
かき揚げがそびえ立っています。
3枚ほど乗っていたでしょうか。下のご飯に行き着くには最低1枚分のかき揚げを胃に納めなければなりません。衣は重く、サクサク感は少なめ、これはキツイ。
油がキツく感じ始めたところに、遅れて刺身が到着しました。







ばーん。
刻んだゲソにキモを和えた小鉢が添えられていて、それに醤油を混ぜたものに刺身を絡めて食べます。
美味しい、美味しいんだけれどいかんせん量が多い。
イカって食べすぎると気分悪くなってくるんですね...
量が多いためドギーバック(プラ容器 有料10円)が用意されているものの、かき揚げと刺身だし、だいいちバイクなので持って帰れません。
残すのは申し訳ないと思いご飯と刺身は完食したものの、かき揚げは1枚分位残しました。漁師さんごめんなさい。
かき揚げ丼 880円、刺身は680円だったと思います。

すっかり満腹になり、もう移動するのも面倒くさい。鋸山に登って日本寺に行くのも考えていましたが、かき揚げで身重の体では無理...
ばんやで温泉に入って食事するという目的は果たしたので、もう帰ろう...

木更津まで戻ってアクアラインも良いけれど、ここは金谷からフェリーで決めよう。久里浜に渡れば東京湾一周ツーリングの達成です。
ばんやから数kmほど北上して金谷フェリーターミナルに到着。11:15頃。
毎時20分にフェリーの便があり、急げば乗れたのですが見送って次の便にしました。
理由はお土産購入のためと、トイレに行きたかったから。

バイクは10台ほど、自動車は20台くらい乗っていたでしょうか。正直車輌デッキはガラガラですが、乗客はツアーの団体さんもいたので結構乗って居ました。
「鎌倉行ったら銭洗弁天に行くんだー 」と子供が楽しそうでした。








縛られるRF。







最上階デッキからの眺め。






いつも長距離フェリーの2等船室(雑魚寝部屋)なので、座れるフェリーにちょっと感動しました。椅子っていいなぁ。
40分ほどで久里浜フェリーターミナルに到着した後は空模様が怪しかったので、金沢文庫から首都高に乗って一路自宅へノンストップで帰りました。

15:33自宅到着。
走行距離は220kmでした。


2011/05/02

EeePC 4G-X + Debian squeeze で SD(SDHC)カード使う

マウント関連 

EeePC 4G-XではSDHCカードが使用できます。
4GBの内蔵SSDでは容量不足のため、/data パーティションは 32GB SDカードにしています。
SDカードを挿入して出力された /var/log/syslog の内容を見ると、/dev/sdb が SDカードスロットだと判明しました。
(同じLinuxやDebianでもバージョンが異なると対応するデバイスも異なる可能性があるので、かならず確認して下さい)

ファイルシステムを作成します。
# mkfs -t ext3 /dev/sdb1

/etc/fstabに以下を追記します
/dev/sdb1 /data  ext3 defaults,noatime 0 0

第4フィールドのオプションに 'sync,dirsync' を指定してみたところ、すばらしくパフォーマンスが悪かったので外しました。

lennyの時は shutdown時に正しくsync/umountせずに終了し、毎回ファイルシステムを破壊してしまうために 事前にejectが必要でしたが、squeezeでは改善されて(いまのところは)大丈夫のようです。

 

他サービスとの兼ね合い 

今回、上記のように /data パーティションを SDカードに指定し、その領域にMySQL DBファイルく置く設定にしました。
しかしPC起動時にSDカードをマウントするよりも先に MySQLが起動しようとしてしまい、DBファイルがない旨のエラーが出てしまいました。
解決方法は以下のどちらかです。
  1. MySQLの起動を遅らせる
  2. MySQLより先にSDカードをマウントさせる
今回、/data パーティションは apacheなどの他サービス用のデータも格納しているので前者のような個別対応ではなく、SDカードを先にマウントさせるようにしました。
各種サービスは /etc/rc?.d/S?? で起動されるので、それよりも前にマウントするように設定します。
具体的にはテンプレートファイル /etc/init.d/skeleton を元にして、起動/停止用に /etc/init.d/sdmount というファイルを作成し、S01で他のサービスよりも先に実行させます。その内容は、8秒(根拠はありません)待って、mount -a するだけの簡単なスクリプトです。
今回は手を抜いたので、stop時には特になにもしていません。

#! /bin/sh
### BEGIN INIT INFO
# Provides: sdmount
# Required-Start:
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: re-mount all device
# Description: /dev/sdb1(SDHC) re-mount after boot
### END INIT INFO

DESC="mount SDHC device"
NAME=sdmount
SCRIPTNAME=/etc/init.d/$NAME

# Define LSB log_* functions.
# Depend on lsb-base (>= 3.2-14) to ensure that this file is present
# and status_of_proc is working.
#. /lib/lsb/init-functions

#
# Function that starts the daemon/service
#
do_start()
{
W=8
echo "wait $W sec..."
sleep $W
mount -a

return 0
}

#
# Function that stops the daemon/service
#
do_stop()
{
# D=/dev/sdb1
# sync; sync
# umount $D

return 0
}

#
# Function that sends a SIGHUP to the daemon/service
#
do_reload() {
return 0
}

case "$1" in
start)
do_start
;;
stop)
do_stop
;;
status|restart|force-reload)
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
exit 3
;;
esac




etc/rc?.d から runlevelに合わせてシンボリックリンクを張ります。
一つ目の -n オプション付きは動作確認(dry run)で、実際にリンクは張っていません。
 
# update-rc.d -n sdmount defaults      
update-rc.d: using dependency based boot sequencing
insserv: enable service ../init.d/sdmount -> /etc/init.d/../rc0.d/K01sdmount
insserv: enable service ../init.d/sdmount -> /etc/init.d/../rc1.d/K01sdmount
insserv: enable service ../init.d/sdmount -> /etc/init.d/../rc2.d/S01sdmount
insserv: enable service ../init.d/sdmount -> /etc/init.d/../rc3.d/S01sdmount
insserv: enable service ../init.d/sdmount -> /etc/init.d/../rc4.d/S01sdmount
insserv: enable service ../init.d/sdmount -> /etc/init.d/../rc5.d/S01sdmount
insserv: enable service ../init.d/sdmount -> /etc/init.d/../rc6.d/K01sdmount
insserv: dryrun, not creating .depend.boot, .depend.start, and .depend.stop

# update-rc.d sdmount defaults
update-rc.d: using dependency based boot sequencing

これで再起動時にも 各種サービスを起動する前に /data をマウントするようになり、エラーは出なくなりました。
本当は、stop時に umount/ejectするスクリプトにして、S01, K99 とするように、以下のコマンドを実行しました。
 # update-rc.d  sdmount start 1  2 3 4 5 . stop 99 0 1 6 .
ですが、なぜかうまくSnn/Knnが認識されず、必ず S01/K01になってしまいました。
K01で umountされてしまうと当初の問題とは逆に、各種サービス起動中にディスクをアンマウントしようとするので(実際にはdevice busyでアンマウントは失敗するはず)、思ったとおりの動きになりません。
個別にシンボリックリンクを張るのも面倒なので、start時だけの処理としました。(手抜きです)

それにしても...
一応 class 10とはいえSDカードをHDDのように使用するには無理があるのか、CPUは遊んでいるのにIOが足を引っ張ってパフォーマンスはかなり悪いようです。
USB経由でSSDを繋いだほうが幸せになれるのでしょうか。

2011/04/30

静岡ツーリング

2011-04-29 静岡ツーリング

好天に恵まれたゴールデンウイークの初日に、久しぶりにツーリングに行きました。
日帰りなのであまり欲張りはできないので目標は以下の5つ。
1. 大崩海岸
2. 三保の松原
3. サッタ峠
4. 由比で桜えびを食べる
5. 帰路の途中で温泉に入る

朝5時、出発。既に空は明るくなってます。



東名高速を下って、御殿場を過ぎて2車線になったあたりから混み始めて、本当はしたくないすり抜けをしながら日本坂PAで朝食におでんを食べます。コンビニのおでん器(?)が3つくらい並んでいるので、好きなものをピックアップしてレジで精算するスタイルです。朝7時と時間が早かったせいかネタがほとんど無く、明らかに売れ残りと思える牛スジと黒はんぺんに静岡おでん名物の鰹節の粉(と青海苔が混ざったもの)をかけて食べます。



私が食べ終えた頃に店員さんがネタを補充していました...

第一目的の大崩海岸には焼津側から入ったのですが、駐車場や展望台がなかったため素晴らしい眺望はいく度も目にしたもののバイクを停められず、あっさりスルーしてしまいました。名前の通りの土地なので展望台どころではなかったのでしょう。
よって、写真はありません。唯一撮影したのは通り過ぎてから振り返ったものだけです。




第二目的地へはいちごラインとも呼ばれる国道150号を東に向かいます。途中イチゴ狩り農場の呼び込みが凄いです。若いお姉さんがピンクの衣装を身にまとい(たぶんイチゴをイメージしたもの)風船やうちわ(?)を振って腰もくねらせながら誘惑してきます。
国道150号から眺める駿河湾はとても綺麗でした。



第二目的地の三保の松原へは10時過ぎに到着しました。
ここは何度来ても静かで人も多くなく良いところです。
有名な「羽衣の松」は老朽化により2011年10月に2代目が襲名されたようで初代のすぐ隣に立派な幹で居ます。






ここは海も空も樹も綺麗な場所です。残念ながら富士山は雲に隠れて山頂が少し見えるだけでした。










第三の目的地 サッタ峠は国道1号を東に向かい興津を過ぎてすぐ、国道52号にはいり、東名高速をくぐって左手にセブンイレブンを見たらすぐ次の信号を右折します。一車線の生活道路を進み、左手に神社を見てT時路にぶつかったら左折、10m先を右折します。ここには「サッタ(漢字で書かれています)峠」の小さい標識があります。
狭い道をぐんぐん登って行くこと数分、ちょっと開けた場所に出るとそこが峠の頂きです。見降ろす壮大な景色に酔いしれましょう。
この道を走っていると、まるで空を飛んでいるような感じでした。
狭い道なのでよそ見はほどほどに。由比側の坂はかなり急なので非力な車は興津側から入りましょう。







お昼も過ぎてお腹も空いて来ました...
第四目的地に向かいましょう。
少々道に迷いつつも何とか由比漁港に到着しました。お目当ての 「浜のかきあげや」は... 50人くらいの大行列orz。
ここまで来て引き下がる訳にはいかないので並びました。日差しがちょっと辛いけれど回転は良いようで、15分と待たなかったと思います。iPhoneでtwitterとかいじっていたので時間感覚は曖昧です。
注文して、会計して、すぐ隣で料理を受け取る形式です。お茶は数メートル先にサーバーがあるのでセルフでよろしく。






かきあげ丼 700円と 桜えびのみそ汁 100円を注文しました。
トレイを持って駐車場側に向いたカウンター席に座ります。壁に向いていない処が高ポイントです。
ほぼ桜えびだけのかきあげが2枚乗った丼はご飯もしっかりとあって、十分な量でした。観光地にありがちなセコイ量ではありません。さすが漁港クオリティといった感じです。桜えびのヒゲのチクチクを口内に感じながらその甘みを噛み締める幸せ。
そうか、ここでは青空がおかずだ...







この後、本当は第五目的地として箱根湯本の日帰り入浴温泉に立ち寄ってひと汗流そうと予定していたのですが、夕方の道路渋滞を避ける為に沼津から高速に乗って帰宅しました。
温泉はまた次の楽しみにとっておきます。

2011/03/05

mail環境

無事に無線LANも稼働を始めたので、いろいろと設定していきましょう。

■dovecot(pop/imapサーバ)
インストール
# aptitude install dovecot-pop3d

設定自宅localnetからしかpopアクセスしないので、plain text認証にしています。
また、squeezeにしてから 'mail_location'セクションを記述する必要が有ります。
設定しないと認証後に切断されてしまいます。

disable_plaintext_auth = no
mail_location = maildir:~/Maildir

dovecot再起動
# /etc/init.d/dovecot restart

確認
macbook:~ user$ telnet 192.168.1.15 110
Trying 192.168.1.15...
Connected to eeetan.my.domain.name.
Escape character is '^]'.
+OK Dovecot ready.
user cocone
+OK
pass PASSWORD
+OK Logged in.
list
+OK 0 messages:
.
quit
+OK Logging out.
Connection closed by foreign host.
macbook:~ user$



■postfix + clamav + amavis (smtpサーバ)
インストール
# aptitude install postfix clamav amavisd-new mailutils

インストール時にdebconf によって、メールサーバの種別を選択させられます。

外部からのメール受信は fetchmai、送信はOB25Pブロッキングが多いのでプロバイダのsmtpサーバに丸投げする方法にします。つまり、'Internet with smarthost' です。
SMTP relay host (blank for none): では プロバイダのsmtpサーバ を記述します。

/etc/postfix/master.cf に amavis用の設定を追加します。
先頭の ' '(スペース)は「前の行とつながっていますよ」の意味なので、削除してはいけません。

# amavis
smtp-amavis unix - - n - 2 smtp -o smtp_data_done_timeout=1200 -o disable_dns_lookups=yes
127.0.0.1:10025 inet n - n - - smtpd
 -o content_filter=
 -o local_recipient_maps=
 -o relay_recipient_maps=
 -o smtpd_restriction_classes=
 -o smtpd_client_restrictions=
 -o smtpd_helo_restrictions=
 -o smtpd_sender_restrictions=
 -o smtpd_recipient_restrictions=permit_mynetworks,reject
 -o mynetworks=127.0.0.0/8
 -o strict_rfc821_envelopes=yes

/etc/postfix/main.cfに amavis用の content_filter を追加します。

content_filter = smtp-amavis:[127.0.0.1]:10024

ここで一度postfixを再起動。
# /etc/init.d/postfix restart

確認
#echo "test" | mailx -s "text" user@mail.address
# tail /var/log/mail.log
relay=設定したプロバイダのsmtpサーバ と status=sentを確認する

EeePC4G-X の無線LANを Debian squeezeで使う

以前書いた EeePC4G-X の無線LANを Debian Lennyで使う ではbackports方式を取りましたが、squeezeの 2.6.32カーネルでは ath5kをサポートしてるので、普通に設定ファイルを書けばそのまま無線LANが使用可能です。

★以下、前回分をコピペして一部修正。

自宅無線LANは WPA2 なので、wpasupplicant パッケージをインストールします。
# aptitude install wpasupplicant
次にネットワーク周りの設定をします。
*YOUR-SSID* は無線LAN APで設定したものを、
*YOUR-SSID-PASS-PHRASE* は /usr/bin/wpa_passphrase *YOUR-SSID* PASSPHRASE(無線LAN AP設定時のパスフレーズ) コマンドで出力される謎の文字列を入れます。
dns-nameservers と dns-search はオプション項目のため必須ではありません。
私の場合は 192.168.1.4 が 現自宅DNSサーバ、 192.168.1.1がADSLモデムのDNSリレー なので、それらを指定しています。
*DNS-SEARCH*には自宅ドメインを設定します。
 また、インストール時に使用していた eth0 はコメントアウトしています。
/etc/network/interfaces
auto wlan0
iface wlan0 inet static
    address 192.168.1.15
    netmask 255.255.255.0
    network 192.168.1.0
    gateway 192.168.1.1
    broadcast 192.168.1.255
    wpa-driver wext
    wpa-ssid *YOUR-SSID*
    wpa-scan-ssid 1
    wpa-ap-scan 1
    wpa-proto WPA RSN
    wpa-pairwise TKIP CCMP
    wpa-group TKIP CCMP
    wpa-key-mgmt WPA-PSK
    wpa-psk *YOUR-SSID-PASS-PHRASE*
    dns-nameservers 192.168.1.4 192.168.1.1
    dns-search *DNS-SEARCH*
ifup wlan0 で無線LANを有効化し、正常に動いているか確認します。

# iwconfig
lo        no wireless extensions.

eth0      no wireless extensions.

wlan0     IEEE 802.11bg  ESSID:"YOUR-SSID" 
          Mode:Managed  Frequency:2.462 GHz  Access Point: **:**:**:**:**:**  
          Bit Rate=36 Mb/s   Tx-Power=9 dBm  
          Retry  long limit:7   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:off
          Link Quality=39/70  Signal level=-71 dBm 
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

# netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
192.168.1.0     0.0.0.0         255.255.255.0   U         0 0          0 wlan0
0.0.0.0         192.168.1.1     0.0.0.0         UG        0 0          0 wlan0
# ping 192.168.1.1
PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=10.9 ms
64 bytes from 192.168.1.1: icmp_seq=2 ttl=64 time=0.661 ms
^C
--- 192.168.1.1 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 0.661/5.819/10.977/5.158 ms

インストールUSBからの起動(squeeze編)

前回作成したインストールUSBを使って、インストーラを起動します。


1. もし、まだEeePCにWindowsが入っていたならば、一度Windowsを起動し、電源オプションで 液晶を閉じたときの動作を「何もしない」にします。これはLinux家サーバを閉じた状態で運用することを考えているためです。

2. Windowsを終了します。 グッバイ、ゲイツ。

3. インストーラUSBメモリを本体に挿します。

4. 再起動時に F2 を押してBIOS画面に移行して、ハードウェア時計を 協定世界時UTC(日本時間から9時間遅らせる)にします。UNIXを動かすマシンは、ハードウェア時計はUTCにしておき、OSがtimezone設定 でローカル時刻にするという伝統(?)があります。

5. 同じく BIOS画面の起動デバイス順設定で、 内蔵IDEデバイスよりもUSBデバイスを上にしておきます。

6. BIOSの内容を保存して、再起動します。

7. USBから起動できればコンソールに赤いDebianロゴ(王立宇宙軍のロケット打ち上げ作業員の胸に描いているマークみたいなもの)が表示されてロケットが飛んでいれば、インストール方法の入力待ちになります。


もし、残念にもWindowsが起動してしまったり、以前Linuxをインストールした際の名残で GRUBのOS選択画面になってしまったら、BIOSで起動デバイスの設定を再確認しましょう。
no system device など、OSが無い と表示された場合は インストールUSBの作成に失敗しているので、再度手順を見なおして作成しなおしましょう。 

早速 Install を選択するのですが、画面が切り替わりませんでした。
USBメモリと内蔵SSDのアクセスを数回繰り返す後に画面の上端に謎のグラフィックを残してハングアップしていしまいました。どうやら画面モードというかグラフィック関連でつまずいているように思います(推定です)

仕方が無いので(?)
 Advanced Options - Expert install
と選択します。
Potato か Woodyの頃のような以前のインストールスタイルだけれども、言語選択、キーボード選択、インストーラisoイメージ選択、とそのまま進めていけば大丈夫です。

コンソールのフォントが少し線の細いものになって都会風になりました。
個人的には以前の古臭くて田舎っぽいフォントのほうがコンソールらしくて好きだったので、少々残念です。
(フォント名がわからないので、よくわからない文章になってしまいました)

Debian GNU/Linux インストールUSBメモリの作成(squeeze編)

時は流れてsqueeze時代。
再度EeePC4G-Xにクリーンインストールを試みました。いつものごとくインストーラブート用のUSBメモリ作成から始めます。

OS(Debian GNU/Linux)をインストールるすためのUSBメモリを用意します。
ちょうど手元に 256MB USBメモリがあるのでこれを使いましょう。これから説明する方法では256MBあれば十分です(というか、何GBあろうとも強制的に256MBのファイルシステムを作成し、残りは使用しません)
以降、各種ファイルへのリンクを張っていますが時間と共に古くなっていきますので適宜読み替えてください。
また今回の作業母艦はMacBook(OSX10.5 Leopard)です。

以下のURLを参考にして、ブートイメージを入手します。
http://www.debian.org/distrib/netinst

具体的には以下のファイルをダウンロードします。
http://ftp.nl.debian.org/debian/dists/squeeze/main/installer-i386/current/images/hd-media/boot.img.gz


★と、まさに 前回のブログ と同じことを書いて、もとい、コピペしてしまいました。


isoイメージとして isoファイルもダウンロードします。
http://cdimage.debian.org/debian-cd/6.0.0/i386/iso-cd/debian-6.0.0-i386-netinst.iso


★あぁ、あとここからは、まさに 前回のブログ と同じことです。コピペしてしまいましょう。

USBメモリをMacBookに挿します。
最近のUSBメモリはFAT32でフォーマットされているので自動的にマウントされます。
ここで ターミナル を起動して df コマンドで デバイス名を確認しておきます。


$ df
Filesystem               512-blocks      Used Available Capacity  Mounted on
(中略)
/dev/disk1                   488960    348584    140376    72%    /Volumes/Debian Inst

/dev/disk1 がUSBメモリのようです(一度 作成済みのUSBメモリのため、Debian Inst になっています)
デバイス名を確認したら、ディスクユーティリティでアンマウントします。
デバイス自体ではなく、パーティションを選択して「マウント解除」します。



ディスクイメージを書き込みます。デバイス先に問答無用(確認なしに)イメージが書き込まれるので、間違えないようにしてください。
もし間違えたら、中のデータは消去されてDebianインストーラになっています。その時はもう...諦めてください。
$ gzcat boot.img.gz > /dev/disk1
ディスクユーティリティを使って再度マウントします。



デスクトップにアイコンが現れているので、finderでUSBメモリを開き、先にダウンロードしておいた debian-506-i386-netinst.iso をdraf&dropでコピーします。
これでインストーラUSBの出来上がりです。
デスクトップのアイコンを右クリック(Crtl+左クリック)してアンマウントしてから、USBメモリを取り外しましょう。



これで事前準備は終了です。

2011/02/17

新橋付近の立ち食いそば屋

立ち食いといいながらも、一部全席椅子のあるそば屋も含まれますが...
とある事情で、新橋界隈を歩くようになりました。
新橋と言えばサラリーマンの聖地と言われている場所です。当然ながら空腹を満たす立ち食いそば屋が溢れています。
この記事はそんな立ち食いそば屋を食べ歩いた記録です。

食べ歩くにあたり、iPhoneアプリの「蕎麦道なび」を参考にさせて頂きました。ありがとうございました。

■福寿そば処
一件目は新橋ではなく浜松町に近い「福寿そば処」のかき揚げ天そば です。
卵サービスなのですが、月見は苦手なのに卵不要の一言が言えずに天たまそばになりました。
黄身を崩して溶き卵状態にするのは苦手なので、卵は天ぷらに絡めるようにして食べました。




■うさぎや
浜松町から新橋方面に歩いて腹ごなしをして、本当は「かんだ富そば」に行こうとしたのですがあいにく休みでしたので、もうすこし移動した所にある「うさぎや」です。
ここは そばとトッピングが別オーダーなので、「暖かいそばにかき揚げ天ぷら載せて」とオーダーする必要があります。
おばあさんがひとりで店を仕切っていました。常連には話しかけ、私のような一見には語りかけず、居心地の良い店でした。




■丹波屋
ニュー新橋ビル1Fにある「丹波屋」です。
すぐ近くにチェーン店の「箱根そば」もあるので注意して下さい。
実は本日3杯目のかき揚げ天そばです。
注文してから目の前で袋に入った湯で麺を温め直すのですが、これはちょっと私的には興醒めです。「うさぎや」も同じでした。先に丼に入れておいた麺を湯がいた方がまだ風情が有るのにな...と個人的には思います。そういうお店を見てきたからかも知れません。




■天久利
日にちは変わって、新橋駅北のガード下にある「天久利」です。
茹でたてを出す為に3分くらい待ちます。かき揚げはかなりボリュームがあります。
24時間営業でこの品質は素晴らしい。
ここはレンゲも付いてくるので、女性もウェルカムですよ。



■ポンヌッフ
新橋の立ち飲み屋「へそ」で一杯引っ掛けた後に、締めのそばを食べに移動しました。
JR新橋駅の北にある「ポンヌッフ」の春菊天そばです。
細切れの春菊がかき揚げ共に入っているのではなく、片面春菊とは少々驚きました。
「蕎麦道ナビ」ではやや評価は低いものの、この値段と味ならば十分に及第点だと思います。




■そば作
愛宕警察署近くにある「そば作」のかき揚げ天そば。
ややそばの量が多く、かき揚げ共にボリューム感あります。
450円と決して安くはありませんが、量を考えればうなずけるところです。
サヤエンドウが嬉しいです。




■浜亭
浜松町駅 金杉橋出口近くにある「浜亭」です。
先日の「福寿そば処」に向かう際に気になっているお店でした。
女子供が向かいにあるうどん屋に吸い込まれくのを横目に、少々時間外れに入ると客は私独りだけでした。
あちらは賑やかだが、こちらは絵に描いたような立ち食いそば屋で、枯れた男がよく似合う。




■かんだ冨そば
なかなかタイミングが合わなかった「かんだ冨そば」にようやく行く事が出来ました。
ここはそばと乗せる天ぷらを別に選択するシステムで、見本の天ぷらがカウンターに並べてあります。今回は、かけそば に 「春菊天」をオーダーしました。
天ぷらは注文を受けてから揚げ始めるので、出てくるまで3~5分くらい待ちます。
十割そばも美味しいけれど、汁が濃いめで柔らかいという印象を受けました。もちろん美味しい。最後の一滴までまで飲み干しました。





※天ぷらそばそれなりにカロリーが有るので、ダイエット中の方はご注意ください。