nDiki : aufs
スポンサード リンク
Related term
2007年12月23日 (日)
■ aufs を使って Web サイトのドラフト作成する

この nDiki はローカル PC 上で Emacs で記事ファイルを書き、出来上がったら Unison で Web サーバと同期させる形でアップロード・公開している。
この方法で一つ問題なのは「書きかけの記事ファイル」の扱いが面倒なこと。 書きかけの記事ファイルがある状態で Web サーバと同期するとそれが公開されてしまうのでまずい。しかし完成している記事ファイルがあるならばそちらは同期して順次公開したい。 同期する時には書きかけの記事ファイルを退避させればいいのだが、思いっきり面倒。
ということで手元で公開用 (Web サーバ と同期用)のディレクトリツリーと、ドラフト用(ローカルの Web サーバでのレビュー用)のディレクトリツリーを分けられるようにすることにした。 この2つのディレクトリツリーの差分となる草稿・更新ファイルは aufs を使うことで簡単に管理することができる。
@ aufs
aufs は stackable unification filesystem の一つ。 同様なものとしては UnionFS がある。 UnionFS よりも aufs の方が評判が良いようなので今回は aufs を使うことにした。
aufs では複数のディレクトリ(ブランチと呼ぶ)をオーバーレイさせて、1つのディレクトリとして扱うことができる。 公開用ディレクトリツリーに、ドラフト用ディレクトリツリーをオーバーレイさせることで、元のディレクトリには変更を加えることなく透過的に変更できる仮想的なディレクトリツリーを作ることができる。
@ aufs のインストール
Debian GNU/Linux sid へはkernel 再構築とあわせて module-assistant でインストールした。
@ マウント
以下のように3つのディレクトリを作ってマウントする。
- /home/naney/www.naney.org
- 公開用ディレクトリツリー。本番モノ。公開サーバと同期する。
- /home/naney/draft.naney.org
- 草稿や修正されたファイルが書き込まれるディレクトリツリー。
- /home/naney/next.naney.org
- 公開用ディレクトリツリーに、草稿や修正されたファイルが仮想的にオーバーレイされたディレクトリツリー。プレビュー用。
mount -v -t aufs -o br:/home/naney/draft.naney.org=rw:/home/naney/www.naney.org=ro none /home/naney/next.naney.org
公開ディレクトリツリーは read only に、草稿用のディレクトリツリーは read - write になるように指定する。
これで /home/naney/www.naney.org 以下はいじらないまま、/home/naney/next.naney.org 上で草稿を書いたりファイルを編集したりすることができる。 /home/naney/next.naney.org 以下で追加したファイルや、変更したファイルは aufs が /home/naney/draft.naney.org 上に保存してくれる。
完成したものを /home/naney/draft.naney.org から /home/naney/www.naney.org に順次反映させ(移動し)、公開サーバへ同期することで公開していくことができる。
手元ではいろいろ書き散らせておけるのは、これは便利。
マウントオプションは他にいろいろあるようなので、こまかい設定は見直すかも。
@ その他
ファイルシステムレベルの処理なので、アプリケーション側では何も手を加えなくてもよいのが良い。
今回は公開用とドラフト用としたが、公開用と未公開用をローカルでミックスして表示するようにしたり、複数ユーザのコンテンツディレクトリを仮想的に1つにまとめたりと、いろいろ面白い使い方ができそうだ。
- はいぱー日記システムで日記を開始 (2001-05-11)
- aufs で inotify を使ってブランチ上の直接の変更をすぐに反映させる (2008-01-05)
- www.naney.org をさくらのレンタルサーバへ移転 (2009-12-23)
- Debian に RSS リーダ「フレッシュリーダー」をインストール (2006-03-06)
- はいぱー日記システムアップデート (2001-05-19)
■ Debian Linux kernel 2.6.23 をビルドする。

ThinkPad X31 に入れている Debian GNU/Linux sid の Linux kernel を随分アップデートしていなかった(2.6.17 を使用中)。 今日 aufs を入れついでに、一緒に最新(2.6.23)をビルドすることにした。 Debian kernel パッケージ構築は去年の8月以来。
今回は linux-patch-aufs を入れておいて、aufs 用のパッチを当てる。
#apt-get build-dep linux-image-2.6.23-1-686 #apt-get install linux-source-2.6.23 linux-patch-aufs #exit $mkdir -p /usr/local/src/linux $cd /usr/local/src/linux $tar jxvf /usr/src/linux-source-2.6.23.tar.bz2 $cd linux-source-2.6.23 $make menuconfig $make-kpkg clean $fakeroot make-kpkg --added-patches put_filp,lhash,splice,ksize,sysfs_get_dentry --revision=sebastian.1.0 kernel_image $cd .. $su #dpkg -i linux-image-2.6.23_sebastian.1.0_i386.deb
パッチが一部 2.6.22 用で 2.6.23 には当たらなかったが、よしとしておく。 ここで再起動。次に MADWIFI と aufs をインストール。
module-assistant prepare module-assistant auto-install madwifi module-assistant auto-install aufs
いつも入れている shfs も同様に入れようと思ったがこちらはコンパイルエラー。 頻繁に使うわけではないので、とりあえずほっておくことにする。
コンパイルが面倒なのでそろそろ Debian 公式のを使おうかと思ったが、試してみたところ
- ThinkPad X31 ではサスペンドしない。
- ThinkPad X31 では cpufreqd が動かない。
- aufs が 2.6.22 用しかまだない。
ということ NG。 やはり自前でビルドしなければならないことを再確認。
- Debian Linux kernel 2.6.26 にアップデート (2009-02-07)
- ThinkPad X31 と sid の Linux kernel 事情 (2009-10-04)
- Debian GNU/Linux sid 環境を新 HDD へ (2006-07-29)
- 今日のさえずり - 今日も勢いのあるいい小便でした (2009-09-27)
- Debian kernel パッケージ構築 (2004-05-09)
2008年1月4日 (金)
■ 今日のさえずり - アイスも冷凍食品も全滅っぽい

- 12:07 冷凍室が故障か。アイスも冷凍食品全滅っぽい。
- 12:46 冷蔵庫の出張修理依頼した。修理日は明日。
- 15:20 再上陸したバーガーキングで、初ワッパー。L:大井町[mb]
- 15:41 LABI 物色中。L:大井町[mb]
- 17:50 分割ブラウザインストールしてみた。
- 18:36 地震。L:品川区
- 25:11 ようやく udba=inotify を指定できる Linux kernel 2.6.23 用 aufs ができた。
- 冷蔵庫の修理は霜取り温度ヒューズ交換 (2005-06-28)
- Debian Linux kernel 2.6.26 にアップデート (2009-02-07)
- 冷蔵庫が不調だとこんなにも不安になるものなのか (2005-06-24)
- 今日のさえずり - 金メダルのネックストラップには、ケータイ用のヒモが付い... (2008-08-24)
- 冷蔵庫はコンプレッサーが駄目になった可能性大 (2008-01-05)
2008年1月5日 (土)
■ aufs で inotify を使ってブランチ上の直接の変更をすぐに反映させる

最近 aufs を使って Web サイトのドラフトを作成する(記事)ようにしているが、使っていて1つ不具合が出てきた。 今の設定だと、ブランチ側(今回の使い方だと公開ディレクトリツリー)のファイルを直接変更しても、aufs のキャッシュによりマウントしたディレクトリ側ではその変更されたファイルではなく、変更される前のファイルが見えてしまう。 これはちょっと不便。
マニュアルを見るとマウント時のオプションで udba=inotify を指定して inotify を使うようにすれば良いとのこと。
早速指定してみたがマウント時にエラー。 どうやら udba=inotify を使えるようにモジュールをコンパイルしていなかったようだ。
@ aufs モジュールを作り直し (Debian GNU/Linux sid)
aufs のマニュアルを見ると CONFIG_INOTIFY と CONFIG_AUFS_UDBA_INOTIFY を有効にする必要があるとある。前者は Linux kernel ビルド時に指定済み。
後者を有効にして aufs を作り直す必要がある。
module-assistant だと設定の仕方がわからないので、aufs.tar.gz2 展開して直接 make-kpkg modules_image でビルドするようにした。
aufs.tar.gz2 を展開後、debian/conf.mk を編集して
- export CONFIG_AUFS_HINOTIFY = y 行を追加
- EXTRA_CFLAGS 指定のところで、-DCONFIG_AUFS_HINOTIFY を追加
とし、後は普通に make-kpkg を使う。 マニュアルとは設定名/マクロ名が違うので、ちょっとはまったがこれで udba=inotify を使えるようになった。
@ マウントする
前回のマウント方法をちょっと修正して以下のようにする。
mount -v -t aufs -o br:/home/naney/draft.naney.org=rw:/home/naney/www.naney.org=ro,udba=inotify none /home/naney/next.naney.org
これで /home/naney/www.naney.org 以下を修正すると、すぐさま /home/naney/next.naney.org の方でも反映されるようになった。
メデタシメデタシ。
- Debian Linux kernel 2.6.26 にアップデート (2009-02-07)
- ThinkPad X31 と sid の Linux kernel 事情 (2009-10-04)
- Debian Linux kernel 2.6.23 をビルドする。 (2007-12-23)
- aufs を使って Web サイトのドラフト作成する (2007-12-23)
- Debian kernel パッケージ構築 (2004-05-09)
2009年2月5日 (木)
■ 今日のさえずり - 爺さんがゴツい爺ショックケータイ持っているとカッコイイ

@ 2009年02月03日
- 08:38 豆まき完了。 [mb]
- 09:51 今日は現金輸送車2台来てる。 [mb]
- 10:30 腹減ってないけれどオニギリ食べておく。 *P3
- 11:34 今日も千葉駅1分乗り換え。L:馬喰町駅 [mb]
- 11:59 よっかかっている方の電車のドアが開いてビビった(ずっと反対側が開いてたもんで)。 [mb]
- 12:00 津田沼駅め。L:津田沼駅 [mb]
- 21:59 さて、飯食ったので Linux kernel ビルドするか。 *P3
- 23:44 ビルドした Linux kernel 2.6.26 で起動したら hda 認識失敗するでやんの。作り直しか。 *P3
@ 2009年02月04日
- 08:54 爺さんがゴツい爺ショックケータイ持っているとカッコイイ。 [mb]
- 09:23 9:00 からの定例ミーティング流れた。また明日早番出社。 *P3
- 11:56 aufs のパッチあてないで Linux kernel 2.6.26 ビルドしなおしてみたけれど、やっぱり hda 認識に失敗する。config の仕方の問題か。
- 12:10 Skype 3.8、ダウンロードできる間にダウンロードしておいた。4.0 β 使いにくかったので、しばらく 3.8 のままでいきたい。 *P3
- 16:52 マウチュが話題になったので、オフィスの棚から出してきて盛り上がっている。 http://www.flickr.com/.../3252059769/ *P3
- 16:53 そしてはやくも分解されかかっている。 *P3
- 16:57 実は今の会社に入社して最初の仕事が Mouchu 関連ソフトウェアの開発。 *P3
- 17:08 マウチュ Mouchu [Flickr] http://tinyurl.com/apwmlm
@ 2009年02月05日
- 08:44 京浜東北線北行の中。新橋前で止まってる。 [mb]
- 12:58 弁当移動販売の「江戸一番」来なくなったと思っていたら、ちょっと先の場所に売りに来ていたらしい。 [mb]
- 13:00 情報大航海プロジェクトでヘルスケア家計簿サイトって、結局どこを目指しているのだ? *P3
- 13:35 SKK でよく「確認する」を「角煮する」と入力してしまう。 *P3
- 18:54 ヨドバシカメラ来た。コンセントの部品あるかな。 [mb]
- 19:17 前に座っているちょっと年配のサラリーマンが、図書館の印が押されいる「動物のお医者さん」読んでる。 [mb]
- 22:33 外が騒がしいと思ったら働く自動車で働くおじさんが道路の排水口掃除してた。 *P3
- 22:42 赤と黒 [Flickr] http://tinyurl.com/abmklw
- 今日のさえずり - ささやかな気持ちDES (2008-11-07)
- 今日のさえずり - 吉野家の牛丼、肉の厚さが改善された気がする (2009-12-08)
- クラッシュは突然に - DAR の使用を再検討 (2009-01-06)
- 今日のさえずり - 鳩三郎が会社にきた (2008-09-25)
- 今日のさえずり - オフィスで最初に WBC の結果を口に出した人がサボリーマン (2009-03-24)
2009年2月7日 (土)
■ Debian Linux kernel 2.6.26 にアップデート

ThinkPad X31 に入れている Debian GNU/Linux sid でしばらく Linux kernel 2.6.23 を使っていたが、TrueCrypt 6.1a を入れたら「2.6.23 以下じゃヤバいよ」と表示されたので 2.6.26 にアップデートすることにした。 Debian 標準イメージを入れてみたが、やはり今まで通りサスペンドできないので、今回もビルドしなおし。
#apt-get build-dep linux-image-2.6.26-1-686 #apt-get install linux-source-2.6.26 aufs-source madwifi-source #exit $mkdir -p /usr/local/src/linux $cd /usr/local/src/linux $tar jxvf /usr/src/linux-source-2.6.26.tar.bz2 $cd linux-source-2.6.26 $cp /boot/config-2.6.26-1-686 .config $make menuconfig $make-kpkg clean $fakeroot make-kpkg --initrd --revision=sebastian.1.0 kernel_image $cd .. $su #dpkg -i linux-image-2.6.26_sebastian.1.0_i386.deb
最初は 2.6.23 の時のソースツリーで make menuconfig したのと見比べながら素から設定したのだが起動中 hda のハードウェアの認識(?)で止まってしまった。 なのでとりあえず起動する .config は Debian 標準イメージのものをベースにすることにした。 変更は ACPI を外して APM を追加した程度。
Debian 標準イメージは IDE も ext3 もモジュールになっていて initrd 使わないと起動できないので今回から --initrd を指定してビルドすることにした(一度忘れてビルドして起動したら何度かアチャーしたことのある kernel panic になった)。
再起動。起動後 cpufreqd が動かなかったが、modprobe speedstep-centrino したら今までどおり cpufreqd が立ち上がって省電力化できた。
次に MADWIFI をインストール。こちらも問題なく接続。
#module-assistant prepare #module-assistant auto-install madwifi
aufs は前回の方法で udba=inotify できるモジュールを作成。
TrueCrypt もテストして警告を出さなくなっていることを確認。 火曜日ぐらいから、ちんたら何度かビルドしないしながら昨日ここまで辿りついた。 めでたしめでたし。
しかし Debian 標準イメージの .config 級の設定だとビルドに1回2時間前後だったかかかるようになった(nice 下だけれど)。 トライアンドエラーしはじめるとかなり時間がかかるな。
- ThinkPad X31 と sid の Linux kernel 事情 (2009-10-04)
- Debian Linux kernel 2.6.23 をビルドする。 (2007-12-23)
- ThinkPad X31 と Linux kernel 2.6 (2006-02-22)
- [ Debian ] GRUB でソフトウェアRAID1 ブート設定 (2004-01-05)
- Debian Linux kernel 2.6.15 ビルド (2006-02-23)
2009年8月16日 (日)
■ 今日のさえずり - ビリビリいっていると思ったら、やっぱりパンツだった

@ 2009年08月13日
- 08:06 防災@niftyの「東京都で震度5弱」メール、正しいんだけど……。 [mb]
- 09:44 夏休み初日は美容院付き添いに決定。 [mb]
- 12:09 楽しみにしていたマックシェイク M ヨーグルト味を注文。 [mb]
- 13:56 イマココ! L:大森海岸駅 [mb]
- 14:03 予約時間より30分早く現着。 [mb]
- 16:10 くっ、エレベーター点検中。 [mb]
- 18:07 ブルドックソースに「目玉焼にはやっぱりソース!」というシール。賛成してよいものか。 [mb]
@ 2009年08月14日
- 14:09 昼寝回避。 *P3
- 14:12 2009年8月12日の歩行: 8383歩、6.72km、61分、6.54km/h、消費 309.2kcal、脂肪燃焼 44.1g、4.5エクササイズ。 *P3
- 14:15 2009年8月13日の歩行: 5901歩、4.62km、49分、5.59km/h、消費 217.3kcal、脂肪燃焼 31.1g、3.1エクササイズ。 *P3
- 15:10 ソフマップ新店舗について。 L:秋葉原駅 [Flickr] http://tinyurl.com/rc77jr
- 15:34 大井町駅前で間接的に夏コミを鑑賞。 [mb]
- 18:11 イトーヨーカドーのネットスーパーの配送料金が事前によくわからない。 [mb]
- 20:02 @rei35 ありがとうございます。Web サイトでは店舗によって異なるからと、ユーザ登録前には具体的な金額が示されていなかったんです。 *P3
@ 2009年08月15日
- 04:18 MovaTwitter でさっそく表示サイズ設定を変えてみたけど、フォントサイズ変わらないな。端末による? SO905iCS。 #movatwi [mb]
- 11:54 これからプール。 [mb]
- 15:44 これから「ぽぽたん」頂く。 *P3
- 15:53 「ぽぽたん」コーヒーというよりもお茶っぽい。 *P3
- 15:59 @rei35 「ぽぽたん」たしかに麦茶を濃く煮出した感じですね。 *P3
- 16:04 2009年8月14日の歩行: 2594歩、2.01km、22分、5.35km/h、消費 99.1kcal、脂肪燃焼 14.1g、1.4エクササイズ。 *P3
- 17:27 あ、終戦か。 [mb]
- 17:37 次は「たんぽぽ茶」を頂く。 [mb]
- 21:47 洗いたてのシーツにいきなり血つけた。 [mb]
@ 2009年08月16日
- 06:36 連休中3日間寝坊していたので、今日は目覚し時計セットして起床した。 *P3
- 06:43 2009年7月15日の歩行: 0歩、0.00km、0分、0.00km/h、消費 0.0kcal、脂肪燃焼 0.0g、0.0エクササイズ。 *P3
- 06:55 財布の中のレシートが大変な厚さになっている。 *P3
- 08:09 さっきからビリビリいっていると思ったら、やっぱりパンツだった。裂けてる。 [mb]
- 08:25 ベランダに出た。爽やか。朝の空気が変わったな。もう晩夏か。 [mb]
- 11:28 散歩に出発。 [mb]
- 12:37 一六タルトを切らしている西友にガッカリしている。 [mb]
- 17:36 朝ビリビリいい始めたパンツ、今見たら桃の割れ目に沿って大変なことになってた。 [mb]
- 23:12 2009年8月16日の歩行: 3732歩、2.84km、35分、4.80km/h、消費 138.7kcal、脂肪燃焼 19.8g、1.9エクササイズ。 *P3
- 23:42 「人生の貴重な瞬間100選」を書き出しているところ。 *P3
- 25:04 aufs マウント先にファイル異動でハング -> 再起動 -> -bpp オプションが無くなってて X 起動せず -> startkde が無くなってて KDE 起動せず -> apt-get install kdebase-workspace-bin -> 別世界。 *P3
- 今日のさえずり - 5:30 起床でもまだ時間が足りない (2009-09-12)
- 今日のさえずり - 電柱にいつの間にか「うんこ」って書かれていた。治安悪化。 (2009-12-31)
- 今日のさえずり - 100g 減る前にアタック買いだめ (2008-05-28)
- 今日のさえずり - ホームレスグーチョコランタン (2008-10-27)
- 今日のさえずり - 夜の遊び場がヤマダ電機 (2009-11-12)
2009年10月4日 (日)
■ ThinkPad X31 と sid の Linux kernel 事情

ここ最近 ThinkPad X31 の Debian GNU/Linux sid が調子が悪い。 いろいろ調査・トライしてみている途中の状態をメモ。
@ 状況
- いつごろからか、サスペンドしても ThinkPad X31 の月ランプが光らなくなった。
- 8月19日ぐらい(から、使用中に Caps Lock キーが点滅してフリーズするようになった。(記事)。
- 9月11日ぐらいから digiKam が写真データを認識しなくなった(記事)。digiKam 更新で対応。
- 9月23日ぐらいからサスペンドさせると復帰時に Caps Lock キーが点滅して Kernel panic になるようになった(記事)。
- 9月29日に X があがらなくなった(記事)。こちらは xserver-xorg-core ダウングレードで対応。
- Linux kernel 起動時に udev が「今の kernel だとデバイスあたりの処理がおかしくなるかもよ」というような警告を出すようになった。
アプリケーションや X の不具合などと重なって unstable 全開だ。
Linux kernel については各種パッケージの更新に追いつけなくなっているようなので、アップデートをかける必要がありそう。
@ Linux kernel 再構築
Debian GNU/Linux の標準イメージを使ってみたが、ThinkPad X31 では例によって ACPI では蓋の開閉でサスペンドしない。 APM を使うようにした Debian kernel パッケージ構築が必要。 しかし今年の2月に 2.6.26 をビルドした時(記事)から、いろいろ変更があったようで一筋縄ではいかなかった。 以下は最終的な手順(たぶん)。
#apt-get build-dep linux-image-2.6.30-2-686 #apt-get install linux-source-2.6.30 aufs-source #exit $mkdir -p /usr/local/src/linux $cd /usr/local/src/linux $tar jxvf /usr/src/linux-source-2.6.30.tar.bz2 $tar zxvf /usr/src/aufs.tar.bz $emacs modules modules/aufs/Makefile $cd linux-source-2.6.30 $cp /boot/config-2.6.30-2-686 .config $make menuconfig $make-kpkg clean MODULE_LOC=/usr/local/src/linux/modules fakeroot make-kpkg --initrd --revision=sebastian.1.0 kernel_image modules_image $fakeroot make-kpkg --initrd --revision=sebastian.1.0 kernel_image $cd .. $su #dpkg -i linux-image-2.6.30_sebastian.1.0_i386.deb aufs-modules-2.6.30_0+20090302-3+sebastian.1.0_i386.deb #update-initramfs -c -k 2.6.30 #update-grub
- aufs inotify を有効にする(記事)必要があるのだが、modules/aufs/debian/conf.mk が無くなっていた。modules/aufs/Makefile 側で同様の設定追加をする必要あり。
- MADWIFI はコンパイルが通らなくなっていた。
- 自前で作った linux-image の Debian パッケージが、initrd まわりの処理をうまくしてくれない。自分で update-initramfs した。
MADWIFI はもはやコンパイルが通らなくなっていた。 試してみたところ ath5k で通信できるようになっているではないか。modprobe ath5k すると wlan0 が使えるようになった(MADWIFI の時は ath0)。
initrd 関係は結構はまった。 最初いつも通りビルドして dpkg した後再起動したのだが、"Unable to mount root fs on unknown-block(0, 0)" が出て先にすすまない。 IDE まわりや ext2、ext3 まわりを M から y にしても駄目。 何度か試しているうちに、 linux-image を dpkg --install した際に実行される update-grub のメッセージで自分で作った Linux kernel だけ initrd 関係の処理がされないことに気がついた。 自前で update-initramfs したらようやく 2.6.30 が起動するようになった。
2.6.30 にすることで起動時の udev の警告は解消された。 しかしながらサスペンドはまだ駄目。 復帰時にフリーズする。 やはりパワー関係の処理があやしい。今は AC アダプタを外しても KPowersave は気づかない。
もう少しおっかける必要がありそう。
対応できるまではサスペンドできず。毎回起動したりシャットダウンしたりするの面倒くさーい。
- Debian Linux kernel 2.6.26 にアップデート (2009-02-07)
- Debian Linux kernel 2.6.23 をビルドする。 (2007-12-23)
- Debian Linux kernel 2.6.15 ビルド (2006-02-23)
- 今日のさえずり - 今日も勢いのあるいい小便でした (2009-09-27)
- ThinkPad X31 と Linux kernel 2.6 (2006-02-22)
■注目キーワード
購入 買った 発売日 フリー 無料 価格 値段 作り方 選び方 使い方 方法 設定 サンプル ダウンロード 限定 在庫 予約 穴場 比較 検証 レビュー 感想 評価 評判 使用感 使ってみた 口コミ 噂 最新 MP3 動画 意味 お薦め お勧め おすすめ 便利 Blog ブログ mixi 修理 デザイン ビックカメラProcess Time: 0.024264s / load averages: 0.23, 0.19, 0.13
nDiki by WATANABE Yoshimasa (profile)
Powered by DiKicker
Base theme by Nana (for tDiary)





twitter.com/Naney の follower になってください。