さあもん写真館でなく、さあもん写心館です。
 
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
Twitterでつぶやく
うちではlinuxサーバを立ててsambaで音楽や動画を共有してます。

ただ、windowsマシンで使っているKbMedia Playerだと、ローカルドライブにあるファイルはソートなしでも文字順に並ぶ(ファイル名先頭にトラック番号が入っていればトラック順に並ぶ)のに、sambaで共有しているものは、ソートしないといけない。
つまり、samba経由の音楽ファイルをディレクトリごと演奏すると、曲順がバラバラになっちゃう。

このあたりの動作の違いは、NTFSファイルシステムがファイルリストを返すときに、ファイル名順で返すのに対して、linuxで使っているファイルシステム(extだのxfsだの)は、ファイルエントリ順に返すことに起因するようだ。

そこで、linux側に新しくNTFSのパーティーションを作って(うちのサーバは/と/boot以外はlvmでストレージを管理しているから、パーティーション作成が簡単にできる)、sambaで共有しているディレクトリの下にマウントして、音楽ファイルをディレクトリごとコピーしてみた。

~>sudo lvcreate -n music -L 40G lvm
~>sudo mkfs.ntfs /dev/lvm/music
~>mkdir music-alt
~>sudo mount /dev/lvm/music music-alt
~>cp -a ミュージック/* music-alt/


うむ、うまくいった。
ネットワーク越しでもローカルドライブにあるファイルと同じように、ファイルがソートなしでも最初からソートされている。

でも、同じファイルが複数あるのはちょっと気持ち悪いので、ext4側にある音楽ディレクトリにあるファイルを末端に到るまでシンボリックリンクを張ろうと思ったが、どうもうまくいかない。
ln -sでも、cp -asでも、子ディレクトリにあるファイルはシンボリックリンクが張れるが、孫以下になると全然ダメ。

いろいろ情報を集めていたら、ディレクトリ構造をコピーしながらファイルにシンボリックリンクを張るlndirというコマンドがあった。

ubuntuは賢くて、システムに存在しないコマンドを実行すると、「もしかしてコマンド間違えました?」「このコマンドは○○と言うパッケージにありますよ」みたいなメッセージを出してくる。
lndirもxutils-devというパッケージにあるというメッセージを出してきたので、

~>sudo apt-get install xutils-dev

でサクっとパッケージをインストール。


~>cd music-alt
~/music-alt>lndir ../ミュージック

でディレクトリ構造をコピー。


~>ls -l music-alt/Eiji\ Kitamura/Vintage/01\ It\'s\ been\ a\ long\ long\ time.wv
lrwxrwxrwx 1 root root 148 2010-08-24 16:59 music-alt/Eiji Kitamura/Vintage/01 It's been a long long time.wv ->
../../../ミュージック/Eiji Kitamura/Vintage/01 It's been a long long time.wv*
~> du -sh ミュージック
27G ミュージック
~> du -sh music-alt/
1.7M music-alt/
~> df -Th
ファイルシステムのタイプ サイズ 使用 残り 使用% マウント位置
/dev/sda8 ext4 14G 5.8G 7.4G 45% /
none devtmpfs 497M 292K 497M 1% /dev
none tmpfs 502M 348K 501M 1% /dev/shm
none tmpfs 502M 1.2M 501M 1% /var/run
none tmpfs 502M 0 502M 0% /var/lock
none tmpfs 502M 0 502M 0% /lib/init/rw
none debugfs 14G 5.8G 7.4G 45% /var/lib/ureadahead/debugfs
/dev/sda5 ext2 243M 103M 127M 45% /boot
/dev/mapper/lvm-home
ext4 247G 104G 130G 45% /home
/dev/mapper/lvm-opt
xfs 20G 4.5G 16G 23% /opt
/dev/mapper/lvm-music
fuseblk 40G 69M 40G 1% /home/thermon/music-alt

ディレクトリの奥の方にあるファイルまでシンボリックリンクが張られた!
しかも、実ファイル27GBがコピー先では1.7MB(du -s)、dfでNTFSパーティーションの使用量を見るとわずかに69MB。
すげぇ!

だから、ファイルの書込みはミュージックに、samba経由のファイルの読み込みはmusic-altを使えば、読み込みに関してはローカルと全く同じように使えて、しかも無駄に容量を使わないと、そういうわけだな。


【追記】
sambaで共有すると、その共有されているディスク領域内でしかシンボリックリンクを辿れないようです。
つまり、共有しているディレクトリの配下以外へのリンク先にはアクセス出来ない、と。

なので、マウントやらリンクやらがややこしいが、こんな風にしてみた。

ntfsでフォーマットしたパーティーションを/mnt/ntfsにマウント。
# mount /dev/lvm/music /mnt/ntfs


/mnt/ntfs以下に、aufsでマウントするディレクトリを作る。
# mkdir -p /mnt/ntfs/music/public


/home/public/musicに/mnt/ntfs/music/publicをマウント。
(本来aufsは、複数のディレクトリを重ねあわせるファイルシステム)
# mount -t aufs -o br:/mnt/ntfs/music/public none /home/public/music


そして、lndirで/home/public/ミュージックのディレクトリ構造をコピー。
# cd /home/public/music
/home/public/music #lndir ../ミュージック


最後にsambaで/home/publicをpublicとして共有、と。

これで、/home/public/musicを通して、/home/public/ミュージックにあるファイルを、ntfs経由でアクセスできる。

マウント情報はこんな感じ。

thermon@thermon-desktop /h/p/m/太/Air,Water,and Green> mount
(略)
/dev/mapper/lvm-music on /mnt/ntfs type fuseblk (rw,nosuid,nodev,allow_other,blksize=4096)
none on /home/public/music type aufs (rw,br:/mnt/ntfs/music/public)


lndirでコピーされた深いサブディレクトリのファイルをディレクトリ順に並べるとこれ。
素の状態でトラック順に並んでます。

thermon@thermon-desktop /h/p/m/太/Air,Water,and Green> pwd
/home/public/music/太刀風/Air,Water,and Green

thermon@thermon-desktop /h/p/m/太/Air,Water,and Green> ls -gGUh
合計 8.0K
lrwxrwxrwx 1 112 2010-08-27 19:48 01-intro.mp3 -> ../../../ミュージック/太刀風/Air,Water,and Green/01-intro.mp3*
lrwxrwxrwx 1 138 2010-08-27 19:48 02-on the road(REMIX).mp3 -> ../../../ミュージック/太刀風/Air,Water,and Green/02-on the road(REMIX).mp3*
lrwxrwxrwx 1 126 2010-08-27 19:48 03-サムライ亡きあとニッポン.mp3 -> ../../../ミュージック/太刀風/Air,Water,and Green/03-サムライ亡きあとニッポン.mp3*
lrwxrwxrwx 1 110 2010-08-27 19:48 04-革命前夜.mp3 -> ../../../ミュージック/太刀風/Air,Water,and Green/04-革命前夜.mp3*
lrwxrwxrwx 1 112 2010-08-27 19:48 05-トオリアメ.mp3 -> ../../../ミュージック/太刀風/Air,Water,and Green/05-トオリアメ.mp3*
lrwxrwxrwx 1 130 2010-08-27 19:48 06-CRADLE 2 GRAVE.mp3 -> ../../../ミュージック/太刀風/Air,Water,and Green/06-CRADLE 2 GRAVE.mp3*
lrwxrwxrwx 1 128 2010-08-27 19:48 07-PROMISE NIGHT.mp3 -> ../../../ミュージック/太刀風/Air,Water,and Green/07-PROMISE NIGHT.mp3*
lrwxrwxrwx 1 118 2010-08-27 19:48 08-GUNZUP!!.mp3 -> ../../../ミュージック/太刀風/Air,Water,and Green/08-GUNZUP!!.mp3*
lrwxrwxrwx 1 122 2010-08-27 19:48 09-BUD BLOOMS.mp3 -> ../../../ミュージック/太刀風/Air,Water,and Green/09-BUD BLOOMS.mp3*
lrwxrwxrwx 1 136 2010-08-27 19:48 10-Flyin'High(REMIX).mp3 -> ../../../ミュージック/太刀風/Air,Water,and Green/10-Flyin'High(REMIX).mp3*
lrwxrwxrwx 1 120 2010-08-27 19:48 11-汚点 Pert.2.mp3 -> ../../../ミュージック/太刀風/Air,Water,and Green/11-汚点 Pert.2.mp3*
lrwxrwxrwx 1 118 2010-08-27 19:48 12-DRUNKSTA.mp3 -> ../../../ミュージック/太刀風/Air,Water,and Green/12-DRUNKSTA.mp3*
lrwxrwxrwx 1 116 2010-08-27 19:48 13-CAUTION.mp3 -> ../../../ミュージック/太刀風/Air,Water,and Green/13-CAUTION.mp3*
lrwxrwxrwx 1 116 2010-08-27 19:48 14-気分サタデー昼.mp3 -> ../../../ミュージック/太刀風/Air,Water,and Green/14-気分サタデー昼.mp3*
lrwxrwxrwx 1 110 2010-08-27 19:48 15-のんびり.mp3 -> ../../../ミュージック/太刀風/Air,Water,and Green/15-のんびり.mp3*
lrwxrwxrwx 1 112 2010-08-27 19:48 16-outro.mp3 -> ../../../ミュージック/太刀風/Air,Water,and Green/16-outro.mp3*

Windows XPの側で同じディレクトリをdirで表示するとこれ。

H:\Documents and Settings\thermon>dir "\\Thermon-desktop\public\music\太刀風\Air
,Water,and Green" "
ドライブ \\Thermon-desktop\public のボリューム ラベルは public です
ボリューム シリアル番号は 9EB9-0882 です

\\Thermon-desktop\public\music\太刀風\Air,Water,and Green のディレクトリ

2010/08/27 19:48 .
2010/08/27 19:48 ..
2008/11/10 01:26 786,432 01-intro.mp3
2008/11/10 01:27 1,714,176 02-on the road(REMIX).mp3
2008/11/10 01:27 960,512 03-サムライ亡きあとニッポン.mp3
2008/11/10 01:27 2,357,248 04-革命前夜.mp3
2008/11/10 01:28 2,914,304 05-トオリアメ.mp3
2008/11/10 01:29 3,784,704 06-CRADLE 2 GRAVE.mp3
2009/03/12 09:47 4,388,992 07-PROMISE NIGHT.mp3
2008/11/10 01:30 3,262,464 08-GUNZUP!!.mp3
2008/11/10 01:31 3,702,784 09-BUD BLOOMS.mp3
2008/11/10 01:31 4,061,184 10-Flyin'High(REMIX).mp3
2008/11/10 01:32 2,230,272 11-汚点 Pert.2.mp3
2008/11/10 01:32 2,527,232 12-DRUNKSTA.mp3
2008/11/10 01:32 2,373,632 13-CAUTION.mp3
2008/11/10 01:32 1,202,176 14-気分サタデー昼.mp3
2008/11/10 01:33 3,923,968 15-のんびり.mp3
2008/11/10 01:34 4,675,584 16-outro.mp3
16 個のファイル 44,865,664 バイト
2 個のディレクトリ 130,567,303,168 バイトの空き領域


シンボリックリンク先のディレクトリを同じように表示するとバラバラ。
thermon@thermon-desktop /h/p/m/太/Air,Water,and Green>
ls -gGUh ../../../ミュージック/太刀風/Air,Water,and\ Green/
合計 43M
-rwxr--rw- 1 768K 2008-11-10 01:26 01-intro.mp3*
-rwxr--rw- 1 3.9M 2008-11-10 01:31 10-Flyin'High(REMIX).mp3*
-rwxr--rw- 1 2.3M 2008-11-10 01:27 04-革命前夜.mp3*
-rwxr--rw- 1 2.5M 2008-11-10 01:32 12-DRUNKSTA.mp3*
-rwxr--rw- 1 3.2M 2008-11-10 01:30 08-GUNZUP!!.mp3*
-rwxr--rw- 1 1.2M 2008-11-10 01:32 14-気分サタデー昼.mp3*
-rwxr--rw- 1 3.8M 2008-11-10 01:33 15-のんびり.mp3*
-rwxr--rw- 1 4.2M 2009-03-12 09:47 07-PROMISE NIGHT.mp3*
-rwxr--rw- 1 3.7M 2008-11-10 01:29 06-CRADLE 2 GRAVE.mp3*
-rwxr--rw- 1 2.2M 2008-11-10 01:32 11-汚点 Pert.2.mp3*
-rwxr--rw- 1 4.5M 2008-11-10 01:34 16-outro.mp3*
-rwxr--rw- 1 938K 2008-11-10 01:27 03-サムライ亡きあとニッポン.mp3*
-rwxr--rw- 1 2.8M 2008-11-10 01:28 05-トオリアメ.mp3*
-rwxr--rw- 1 2.3M 2008-11-10 01:32 13-CAUTION.mp3*
-rwxr--rw- 1 1.7M 2008-11-10 01:27 02-on the road(REMIX).mp3*
-rwxr--rw- 1 3.6M 2008-11-10 01:31 09-BUD BLOOMS.mp3*

同じくWindows側で見てもバラバラ。
H:\Documents and Settings\thermon>dir "\\Thermon-desktop\public\ミュージック\太
刀風\Air,Water,and Green"
ドライブ \\Thermon-desktop\public のボリューム ラベルは public です
ボリューム シリアル番号は 9EB9-0882 です

\\Thermon-desktop\public\ミュージック\太刀風\Air,Water,and Green のディレクトリ


2010/02/05 22:31 .
2010/02/05 22:31 ..
2008/11/10 01:26 786,432 01-intro.mp3
2008/11/10 01:31 4,061,184 10-Flyin'High(REMIX).mp3
2008/11/10 01:27 2,357,248 04-革命前夜.mp3
2008/11/10 01:32 2,527,232 12-DRUNKSTA.mp3
2008/11/10 01:30 3,262,464 08-GUNZUP!!.mp3
2008/11/10 01:32 1,202,176 14-気分サタデー昼.mp3
2008/11/10 01:33 3,923,968 15-のんびり.mp3
2009/03/12 09:47 4,388,992 07-PROMISE NIGHT.mp3
2008/11/10 01:29 3,784,704 06-CRADLE 2 GRAVE.mp3
2008/11/10 01:32 2,230,272 11-汚点 Pert.2.mp3
2008/11/10 01:34 4,675,584 16-outro.mp3
2008/11/10 01:27 960,512 03-サムライ亡きあとニッポン.mp3
2008/11/10 01:28 2,914,304 05-トオリアメ.mp3
2008/11/10 01:32 2,373,632 13-CAUTION.mp3
2008/11/10 01:27 1,714,176 02-on the road(REMIX).mp3
2008/11/10 01:31 3,702,784 09-BUD BLOOMS.mp3
16 個のファイル 44,865,664 バイト
2 個のディレクトリ 130,567,327,744 バイトの空き領域
Twitterでつぶやく
コメント
この記事へのコメント
コメントを投稿する
URL:
Comment:
Pass:
秘密: 管理者にだけ表示を許可する
 
トラックバック
この記事のトラックバックURL
http://thermon.blog82.fc2.com/tb.php/632-b4046522
この記事にトラックバックする(FC2ブログユーザー)
この記事へのトラックバック
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。