March 2007アーカイブ

前々回 MacFUSE + sshfs はテラ便利ってエントリを書いたのですが、あれは Mac OS でのこと。人間自分の使っている他の環境でも便利性を求めてしまうものです。っと言うことで今回は coLinuxsshfs をっと思ったのですが、どうにも sshfs のインストールが上手くいかないんです。モジュールコンパイルの作業にエラーは出ていないのですが、なぜか動かない。

試行錯誤した末、結局 sshfs は諦めました。でも安心してください。ほぼ同じようなことが出来る shfs をインストールし使うことに成功しました。こちらも作業工程はほぼ sshfs と同じで、カーネルモジュールのコンパイルが必要になるのですがそんなに難しくありません。使用時のイメージは下の図のようになると思います。

shfs map

今回の作業環境

  • coLinux : 0.6.4
  • OS : Debian 4.0 Etch
  • Kernel : 2.6.11
  • gcc : Var 3.3

※ たぶん root で作業したほうが良い、っと言うか root の方が作業しやすい。

昨日は Kansai.pm の第八回ミーティーングに参加してきました。参加者、主催者のみなさんおつかれさまでした。

感想としてはミーティングの内容も、親睦会もとっても楽しかったです。友人周りに技術者がいない僕としてはとても有意義な一日でした。北浜まで出て行った甲斐があるってもんです。若い人も多くてこれからの活動も楽しみ。また普段 blog を観覧させてもらっている方々ともお話出来てうれしかったです。(はこべさんとはほとんど話出来なかったけどw)

っで、東京からはるばる遠征して来ていた海賊たろさんに帰り際、次は YAPC::Asia でって言われちゃったんで、来月は東京へ行かねば。って今からチケットって間に合わないですかねぇ?あとでローソンチェックしにいってきます。

あと下は個人的にメモをとった内容です。だいぶはしょっているんで、詳しくは発表者の資料をみた方がいいですw

sshfs.app

まずは、MacFUSE って何?ってことから始めないといけないんだけど (僕も最近調べてわかったので) 要するに Mac 版 FUSE の実装。 FUSE ってのはユーザスペースで動作するファイルシステムのことで、通常 Linux などではカーネルモジュールとして組み込まないとならない。FUSE 自体はファイルシステムの API で単体で使う場合は開発者が使うことになる。けど、利用者は sshfs などを使えばそのあたりのことはまったく気にせず使える。

MacFUSE で強調されているメリットとしては NTFS の読み書きが出来るようになるってことがあげられている。現状の Mac でも読み書き出来るのですが、書き込みが 2GB までという制約がある。(たしかあったはず) けど個人的には sshfs でネットワーク先をマウントするのが便利だと思う。

sshfs とは ssh を使ったネットワーク先のファイルやフォルダをマウントするためのコマンドで、ネットワークに繋がっていれば、リモートサーバーをローカルの Mac にマウント出来きローカルから編集可能になる。

具体的な話をすると僕の場合、DreamHost を契約してるんですが、HDD が 200GB もあるわけです。でも実際 WebSite ぐらいをホストするだけならそんなに容量もいらないわけで、物置代わりに使いたいっと。sshfs で繋いしまえばローカルからドラッグ&ドロップで画像なりファイルなりを入れれちゃう。っでローカルからファイルを CarbonEmacs 使って編集とか出来ちゃうわけです。めっちゃ便利。あと、自分のネットワーク内では Samba、リモートサーバーとは WebDav でやっていたけど、外に出た時自宅サーバーに Samba では繋ぐことが出来ないわけです。そんな時 sshfs だったら ssh でコマンドラインじゃなくって GUI でもいじれてしまう。これテラ便利。

Debian と Fedora だとランレベルの設定が違っていてどっちだったか思い出せない。個人的にはこの二つを覚えていればいいかなぁと思うのだけど、そのうち FreeBSD でも調べようと思う。

coLinux 使っていて何か apt-get でインストールした後、いつも忘れて Google 検索してしまうので自分の blog に書いておく。

自動起動の停止

Debian の場合 /sbin/update-rc.d ってコマンドがあってこれを使う。自動起動を停止させる場合は以下で OK。たぶんオプションで -f (force) を指定しないとエラーがでると思う。

% /sbin/update-rc.d -f サービス名 remove
 Removing any system startup links for /etc/init.d/サービス名 ...
   /etc/rc0.d/K20サービス名
   /etc/rc1.d/K20サービス名
   /etc/rc2.d/S20サービス名
   /etc/rc3.d/S20サービス名
   /etc/rc4.d/S20サービス名
   /etc/rc5.d/S20サービス名
   /etc/rc6.d/K20サービス名

これは全部のランレベルでの自動起動を停止させる。厳密には起動用ランレベルごとのディレクトリにある、設定スクリプトを削除している。しかし、apt-get upgrade とかでサービスそのものが update してしまった時には、また自動起動用のスクリプトが出来てしまうので停止用のスクリプトを作っておいた方が良いのかもしれない。

% /sbin/update-rc.d サービス名 stop 30 0 1 2 3 4 5 6 .

また自動起動させる (起動用スクリプトを作成する) には

% /usr/sbin/update-rc.d サービス名 defaults 20
 Adding system startup for /etc/init.d/サービス名 ...
   /etc/rc0.d/K20サービス名 -> ../init.d/サービス名
   /etc/rc1.d/K20サービス名 -> ../init.d/サービス名
   /etc/rc6.d/K20サービス名 -> ../init.d/サービス名
   /etc/rc2.d/S20サービス名 -> ../init.d/サービス名
   /etc/rc3.d/S20サービス名 -> ../init.d/サービス名
   /etc/rc4.d/S20サービス名 -> ../init.d/サービス名
   /etc/rc5.d/S20サービス名 -> ../init.d/サービス名

defaults の後にある数字は 0 ~ 99 まで使えて、これがサービスの優先順位になる。これだとランレベルは自動で設定されてしまうので、それでは困るって人は下記の項目を

最近のコメント