トップ(最新) | <前

nDiki : ファイルシステム

ファイルシステム - file system / filesystem

関連情報

スポンサード リンク

Related term

2005年1月17日 (月)

サーバのファイルシステムトラブル このエントリーを含むはてなブックマーク

dselect からアップデートをかけている時にエラー。 read only で書き込めないという主旨の。

???

チェックすると一般ユーザからも root からも全く書き込めない。

 EXT3-fs error (device md(9,1)) in start_transaction Jornal has aborted

エラーでまくり。 やばい。

libc6 とかのアップデート中なのでビビる。

スポンサード リンク


[ 1月17日全て ]

2006年1月16日 (月)

USB HDD 上に ext3 ファイルシステムを作ろうとしたらフリーズ このエントリーを含むはてなブックマーク

[HD-H300U2 会社で使っている Linux サーバ (DELL PowerEdge 2600)内のファイルについて、バックアップをとっていないのがずっと不安であった。 なので、まずは外付け HDD を接続して pdumpfsバックアップしておくことにした。

以下の実作業は松下君が行ってくれたもの。

電源内蔵の HDD BUFFALO HD-H300U2 を購入。 比較的人気なのか、市場では品薄の様子。

購入時は FAT32 で1パーティションでフォーマットされている。 なんかいろいろソフトが入っているみたいだけれど、まあ使わないからいいや。 さっそく接続して mkfs.ext3ファイルシステムの作成。

ここでトラブル。

inode table を書き込んでいる途中で進行状況を示す数字のカウントアップがだんだん遅くなっていき最後には止まってしまった。 おかしいなと思っているうちに Linux 自体がフリーズ。 SSHWebも接続できないし、コンソールも反応なし。

一瞬「マズ。もしかして間違えて、システムの入っているパーティション指定しちゃった?」と思ったが、再起動すると問題なく立ち上がって一安心。

うーん。原因はなんだろう。いまだに Red Hat Linux 8.0 で Linux kernel も 2.4.20 のままなんだけれど、そのあたりに何かあるのだろうか。


[ 1月16日全て ]

2006年1月17日 (火)

ファイルシステム作成はノート PC でやっておいた このエントリーを含むはてなブックマーク

昨日のHDD問題であるが、今日再度試してみたもののやはり途中で止まってしまう。

しょうがないので自分のノート PC 上で ext3 ファイルシステムを作成してからあらためて接続。 マウントは DELL PowerEdge 2600でも問題なくできた。 cron で毎夜実行している pdumpfsバックアップ先を、USB HDD 側に変更しておく。 ちゃんと書き込めているか後で確認。


[ 1月17日全て ]

2006年2月23日 (木)

Debian Linux kernel 2.6.15 ビルド このエントリーを含むはてなブックマーク

ThinkPad X31 用に 2.6.15 の Debian kernel パッケージ構築を行う。 インストールしてある Debian 標準の 2.6.15 のパッケージの設定 /boot/config-2.6.15-1-686 をベースに設定を行いビルド

 #apt-get build-dep linux-image-2.6.15-1-686
 #exit
 $mkdir -p /usr/local/src/linux
 $cd /usr/local/src/linux
 $tar jxvf /usr/src/linux-source-2.6.15.tar.bz2
 $cd linux-source-2.6.15
 $cp /boot/config-2.6.15-1-686 .config
 $make menuconfig
 $make-kpkg clean
 $fakeroot make-kpkg --revision=sebastian.1.0 kernel_image
 $cd ..
 $su
 #dpkg -i linux-image-2.6.15_sebastian.1.0_i386.deb

ブート後 Kernel panic。

標準の設定では IDE 関係がモジュールになっているのを見落していた。もう一度設定を修正してビルドしなおして起動。 Linux を使い始めたころ ext2 をモジュールにして失敗したことがあり、ファイルシステム関連は忘れずチェックするようにしているのだが、IDE 関連はノーチェックだった。

@ MADWIFI

 module-assistant prepare
 module-assistant auto-install madwifi

[ 2月23日全て ]

2006年6月10日 (土)

WiKicker における PageName 最長文字数 このエントリーを含むはてなブックマーク

WiKicker では PageName を エンコードした文字列を URI に埋め込んだり、サーバで保存する際のファイル名にしたりしている。 このため、PageName の最長文字数はそれらの最長文字数に依存しているはずである。

今まで確認を後回しにしていたのだが、新しい機能の追加の際に確認しておく必要があるので調査してみた。

@ WiKicker の実装

WiKicker の実装がらみとして最長を決める要素としては

がある。

@ 各仕様等による制約

  • HTTP では URI の長さには制限なし (RFC2616 3.2.1)
  • Web サーバは Request-URI が長いと 414 Request-URI Too Long を返す (RFC2616 10.4.15)。Apache は LimitRequestLine ディレクティブにより、URI を含むリクエスト行のサイズを制限することができる(配布時には 8190)。
  • Internet Explorer が扱える URL の長さは 2083文字。
  • ext2ファイル名は 255文字まで(増やすこともできる)。
  • 手元の Linux 2.6.15 で試したところ、パス名は 4095文字まで。

@ WiKicker で問題が出ない PageName 最長文字数

上記の中ではファイル名による制約が一番大きい。

WiKicker 内部でファイル名として base64 (の亜種) でエンコードしたものを使っているので、元の文字列はは最長 189バイトまでなければならない。base64 だと3バイトで4文字になるため、189バイトで 252文字となる。

WiKicker ではここでさらにファイル名に ',v'、'-lock' をつける事があるので、実際には元の文字列は最長 186 バイトまでとなる。

PageName が 186 バイトまでだとすると、URL エスケープしたとして558バイト。 WikiEngine のスクリプトの URL や他のパラメータとあわせても、これぐらいなら大丈夫のはずである。

ということで WiKicker では Linux 上だと通常 PageName は 186 バイトが最長と言ってよさそうだ。 日本語の文字はだいたい UTF-8 で3バイトになるので、62 文字までということになる。

そのうち、WiKicker に制約チェックを入れることにしよう。 そのうち。


[ 6月10日全て ]

2006年8月8日 (火)

Linux で使えるデスクトップ検索ツール Beagle でローカルファイルを検索 このエントリーを含むはてなブックマーク

Windows だと Google Desktop でローカルファイルの検索ができるのだが、残念ながら Linux 版はでていない。 そこで Beagle を入れてみることにした。

Beagle はデーモン形式のバックエンドと、検索インタフェースであるフロンエンドに分かれたているデスクトップ検索ツールである。

ファイルシステム上にあるテキストファイルだけでなくメールや、Firefox でアクセスしたページ、OpenOffice.orgMicrosoft Office のファイルなどをインデックス化し検索できるようにすることができるらしい。

@ ちなみに今まで

ローカルファイルの検索

メールMew 4 での検索(with Namazu)。
nDiki 記事howm で記事ソースデータを検索 (方法)、あるいは www.naney.org 公開記事を Google で。
メモhowm
開発中のソースコードEmacsgrep-find でだいたい事足りる。たまに ack。
仕事のメモできるだけ社内 Wiki社内 Blog に書いておいて Hyper Estraier
その他grep 程度。

といった感じかな。

それ以外はだいたいファイルの位置をうろ覚えしているので、何カ所か探せば見つかることが多い。

問題はうろ覚えの場所になかった時。 その時はなかなか見つからない。

そんなファイルを見つけるのが楽になれば、導入効果あり。

@ インストールして試してみる

@ Linux kernelinotify を有効にする

まずは Linux kernel の設定を確認。inotify が有効になっている方が良いらしい。 この間ビルドした時の .config を見て

 CONFIG_INOTIFY=y
 CONFIG_EXT2_FS_XATTR=y
 CONFIG_EXT3_FS_XATTR=y

となっていることを確認。

@ /home の extended attributes を有効にする。

/etc/fstab を編集し、

 /dev/hda4 /home ext3 defaults 0 2

 /dev/hda4 /home ext3 defaults,user_xattr 0 2

に変更する。書き換えたら、

 mount -o remount /home

でマウントしなおす。

@ Beagleインストール

Debian パッケージインストール

@ Beagle を起動

一般ユーザで

 beagled

で起動する。停止は

 beagle-shutdown

で。

@ Beagle を設定
 beagle-settings

で設定 UI を起動し、インデックスに含めたくないディレクトリなどを設定。

@ 検索してみる
 beagle-search

検索 UI を起動し検索してみる。 日本語も OK のようである。

GNOME 環境をほとんどインストールしていなかったので、検索結果からファイルを開けずつまらなかたので gonome-control-center、gnome-panel あたりをインストールして環境設定等をしてみた。

KDE 系のクライアントもあるので別途いろいろ確認

@ Firefox 拡張

xpi ファイルを入れておく。 後は普通に閲覧したページが、Beagle でインデックス化されて検索できるようになる。

設定してしまえば、以前開発して使っていた WWWOFFLE + Namazu よりお手軽である。

@ 感想

デーモンが逐次インデックス化していくので、明示的定期的にインデクサを走らせなくていいというのは楽でいい。

日本語関連がどの程度うまく検索できるのか、検索結果は使いやすい順に出力されるのかが未知数。 しばらく遊んでみて便利かどうか確かめてみたい。


[ 8月8日全て ]

2007年2月2日 (金)

DiKickergrep 検索機能を追加 このエントリーを含むはてなブックマーク

DiKicker には自動リンクベースの記事串刺し表示機能があって、同じキーワードを含む記事をまとめて読むことができる。 結構便利なのだが、この機能ではキーワードの設定は Blog の書き手に委ねられている。

社内で DiKicker を一部使ってもらっているのだけれども、それら他人の Blog を読んでいると「あのキーワードで串刺し表示したいな」と思うことがしばしばあることに気がついた。 やはり任意の文字列で串刺し表示する機能が欲しい。

書き手にとっても「自動リンクキーワードにするような文字列ではないけれども、串刺しで読みたい/探したい/見せたい」と思うことが少なからずある。

ということで、検索ベースの串刺し表示機能を実装してみた。

@ grep ベース

実現には全文検索を行う必要があるが「設置・運用の手間」「ディスク容量」という点から、事前にインデックスを生成するような方法は今回は避けようと思う (www.naney.org 上で自分が使う上での制約からくる理由が一番大きかったりする)。

ということで今回は grep 型で実装することにした。 もともと WiKicker の方の検索機能も現在のところ grep 型である。 WiKicker では自前で WikiPage をスキャンしているが、DiKicker では grep コマンドに任せることにした。 こういうのは専用の grep を使った方が速いはず。呼び出しは

 grep -Flre $escaped_string dir...

というオプション指定。Web ページとしてのページングなどは、自動リンクによる串刺し表示機能のものを流用。

で試したところ www.naney.org サーバでは、load averages が 1 以下の時でだいたい50秒前後。対象ファイル数は 2800弱。予想より時間がかかる。

ただし1回実行した後、ファイルがファイルシステム/OSメモリ上にのっている状態では 0.1秒程度で完了する。

検索結果ページの permalink が検索エンジンにそれなりに捕捉されて、定期的にアクセスがあるようになれば、ファイルがメモリにのっている割合が増えるであろうから平均して実用に耐えられる速度が出るかもしれない。

今後は様子をみながら検索結果のキャッシュ等を処理を整備していく予定。


[ 2月2日全て ]

2007年12月23日 (日)

aufs を使って Web サイトのドラフト作成する このエントリーを含むはてなブックマーク

この nDiki はローカル PC 上で Emacs で記事ファイルを書き、出来上がったら UnisonWeb サーバと同期させる形でアップロード・公開している。

この方法で一つ問題なのは「書きかけの記事ファイル」の扱いが面倒なこと。 書きかけの記事ファイルがある状態で 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つにまとめたりと、いろいろ面白い使い方ができそうだ。


[ 12月23日全て ]

2008年2月21日 (木)

flickrfs で Flickr をマウントして写真をコピーする このエントリーを含むはてなブックマーク

Flickr 上の画像を読み書きするのに、Linux 的にはやっぱりファイルシステムとしてマウントして処理したいと考える。 もちろん世の中そういうのを作っている人がいるわけで、それが flickrfs。 セットアップしてみた。

@ セットアップ

@ インストール

flickrfs Debian パッケージDebian GNU/Linux sid BOX へインストール

@ FUSE の設定

Linux 上の自分のアカウントで FUSE を使えるようにする。

 adduser ユーザ名 fuse
@ flickrfs の設定

~/.flickrfs 上に設定ファイルを用意する。

 mkdir ~/.flickrfs
 emacs ~/.flickrfs/config.txt

config.txt:

 [configuration]
 browser:/usr/bin/iceweasel
 set.sync.int:300
 stream.sync.int:300
 add.default.tag:no
 APIKey:xx
 Secret:xx
@ ~/flickr にマウントする
 cd
 mkdir flickr
 flickrfs flickr
@ 見てみる
 自分のセットの一覧が出る
 ls ~/flickr/sets

 セットの中の画像ファイルリストを見る
 ls ~/flickr/sets/<セット名>

 自分のタグ別ディレクトリアクセス用ディレクトリ
 自動的には何も取得されない
 ls ~/flickr/tags/personal

 Chicago タグのファイルリストを見る
 mkdir ~/flickr/tags/personal/Chicago
 ls ~/flickr/tags/personal/Chicago

 パブリックのタグは ~/flickr/tags/public/<タグ名> で

メタデータは「.<タイトル>.jpg.meta」ファイルで読み書きできるらしいが、試していない。

@ アンマウント
 fusermount -u flickr

@ メモ

指定したタグ中の同じタイトルの写真はどれか1つかアクセスできないみたい。


[ 2月21日全て ]

2008年9月11日 (木)

研究室 OB Twitter-ers と秋葉原で飲んだ このエントリーを含むはてなブックマーク

naney:2848288568

研究室仲間の田中丸君が今日は両国まで来ていると Twitter で知ったので、同じ研究室仲間で秋葉原で働いているやまだ君にも声をかけて、秋葉原で飲むことにした。 3月15日以来、約半年ぶりだ。

そういえば Twitter で声をかけてというのはリアル友人とはいえ自分にとっては初めてだな。

場所は矢まと秋葉原店。 前回の記事にはドリンクがくるのが遅かったと書いてあるけれど、今回はそんなことをなかった。

隣のテーブルでは、男が嫌がり気味の女をバシバシ写真で撮っていたようだけれど何だろアレ。

@ 話題

  • やまだ君が買った iPhone に指紋をつける。初めて iPhone に触れてみた。ソフトウェアキーボードは慣れがいるなというのが印象。華やかさはアップルらしい。
  • 久しぶりに SO905iCS でスマイルシャッター使ってみた。田中丸君は撮れたけれど、やまだ君は NG。髭のせいか照明のせいか。
  • 伊勢海老密漁。
  • Flickr 見ているといい写真多くて凄いねぇ。
  • Flickr ファイルシステムにマウントする話(コレ)とか、SSH でマウントする話とか (shfs あたり)。
  • 「デジタル一眼レフに移行しないの?」「PC 関係の投資の必要性がねぇ」「別にカメラメーカーソフトウェア使う必要ないから Linux でもいいんじゃない? カメラメーカーソフトウェアインタフェースがこなれてないしね」
  • 最初に買ったデジカメ? コダックの DC50 ね。
  • eneloop 便利だね。
  • NeXT とうとう捨てたよ。
  • アップルは囲い込まれちゃえば便利だしいいよね。
  • SCSI ケーブルが高く売れるとか、ワイヤレス USB どうよとか。

Mac OS X 使いのやまだ君と、Debian GNU/Linux 使いの自分と、基本 Windows だけれどオールラウンドな田中丸君とまあそれぞれ嗜好は違うのだけれど、御互い尊重しあってていい関係といった感じだ。

Linux デスクトップユーザとしてのメリットは「(自分の場合)アクセサリーとか周辺機器とか動かない可能性があってあまり買おうと思わないので、お金を使わなくて良いこと」と吹いておいた。

やまだ君の「Ctrl-p で印刷とかイライラする」というのには激しく同感。

帰省中だということを理由に料理多めにもらって、あまり飲まないというのを理由に割り勘率下げてもらった。Thanks!


[ 9月11日全て ]

Related web page

[Linux] ext3ファイルシステムで沢山ファイルを作るとき - わんこ日記 (2008-01-05)
ext3<strong>ファイルシステム</strong>で沢山ファイルを作るとき hased b-treeを使用し、ファイルが多いディレクトリ内での検索(と言うか参照)を高速化する。 [Linux Tips filesystem/ext3より引用] って事なので、調べてみると # tune2fs -l /dev/sda3 |grep features Filesystem features: has_journal filetype needs_recovery sparse_super large_file と、dir_indexが使われていないので # umount /dev/sda3 # tune2fs -O dir_index /dev/sda3 # e2fsck -fD /dev/sda3 # m
http://on-o.com/page/diary/20080105.html#p03
Six Apart - Tech Talk Blog: 分散ファイルシステム MogileFS について
初登場になります、酒井といいます。 今回は Six Apart のサービスで使われている MogileFS という<strong>ファイルシステム</strong>を紹介したいと思います。MogileFS については、日本語の情報はあまり…、というかほとんどない状況ですので参考にしていただければと思います。では早速。。。 MogileFS とは MogileFS とは、Perl で記述されているオープンソースな分散<strong>ファイルシステム</strong>です。 プロジェ
http://www.sixapart.jp/techtalk/2006/10/dev_mogilefs.html
ISO 9660 CD-ROMファイルシステムの概要
システムエリアに続いていくつかのボリューム記述子が並びます(§6.7)。 各ボリューム記述子は1セクタを占める構造体で、 ボリュームに関する情報(ボリュームや作成者の名前、 パステーブルやルートディレクトリの位置、 ブート情報など)を保持します。 基本ボリューム記述子(Primary Volume Descriptor, PVD)(§6.7.1.1) ボリュームに関する基本的な情報を含みます。 識別子はd文字・ a文
http://euc.jp/periphs/iso9660.ja.html

■よく検索されるキーワード

torrent(142) expressions(72) 書き方(46) 竹内まりや(46) perl(42) 提案書(38) linux(38) windows(36) アジェンダ(34) x31(32) cvs(28) wiki(27) usb(26) ドラマ(22) 使い方(20) svn(20) アジェンダとは(20) centos(20) ganttproject(20) 設定(19) java(19) インストール(18) 秋葉原(18) debian(18) thinkpad(18) サンプル(18) 動画(17) ノート(15) 手帳(13) a6(13) truecrypt(13) tc-1(13) tortoisesvn(13) 無印(12) ssh(12) rcs(12) subversion(12) 冷蔵庫(12) nikon(12) allinanchor:*.torrent(12) firefox(11) ガントチャート(11) 画像(11) 日本語(11) 生年月日(11) apache(11) メール(11) ダイソー(10) 無料(10) 壁紙(10) リフィル(10) ubuntu(10) 作り方(10) dropbox(10) c#(9) xp(9) oracle(9) xampp(9) terastation(8) 方眼(8) マイク(8) ヨドバシカメラ(8) テンプレート(8) ほぼ日(8) cwrsync(8) google(8) ming(8) 評判(8) 影舞(8) madwifi(8) アカウント(8) window(8) usbメモリ(8) gantt(8) project(7) 三条まゆみ(7) hdd(7) 変換(7) カバー(7) 交換(7)

この日記のはてなブックマーク数 Add to Google RSS

Process Time: 5.835561s / load averages: 1.29, 1.21, 1.26
nDiki by WATANABE Yoshimasa (profile)
Powered by DiKicker
Base theme by Nana (for tDiary)