Windowsの共有フォルダをLinuxでマウントする

Windowsに「共有フォルダ」という設定があります。よく使われる機能なので誰でも知っていると思うのですが、こんな風にチェックボックスにチェックを入れるだけで同じネットワーク上のPCから自由にアクセスができるようになります。

ところが、このWindowsの「共有フォルダ」をLinuxにマウントできるそうなのです。
知らなかった(^^;
以下に述べる方法は、「Vine」でも「Voyage」でも通用しました。

やり方は簡単で、まず最初に「smbfs」というものをインストールする必要があるそうです。

# apt-get install smbfs

これだけです。

あとは、「/etc/fstab」にこんな風に追記するだけで自動的にマウントしてくれます。

//192.168.0.x/Music /music cifs username=hoge,password=xxxxxx,uid=linux_user,file_mode=0644,dir_mode=0755 0 0
・・・当然1行です・・・お間違いなく。

<簡単な説明>

//192.168.0.x/Music
Windowsの共有フォルダを指定します。

/music
Linuxのマウントポイント

cifs
Windowsの「共有フォルダ」をLinuxにマウントするおまじない(^^v

username=hoge
WindowsPCのユーザー名を指定

password=xxxxxx,uid=linux_user
LinuxPCのユーザー名とパスワードを指定
rootでなくてもマウントできました。パスワードなしの一般ユーザなら
password=,uid=tarou
でも大丈夫でした。

確認は、

# mount -a
# ls /music
Composer FLAC Pop mp3

みたいな感じで、Windowsの共有フォルダの中が表示されれば大丈夫で、そこからMPDのmusicディレクトリにシンボリックリンクを張れば問題なく音楽再生もできます。

おそらく、MPDをもっとも使いやすく運用する方法はこんなイメージでしょうか。

やはり、「NAS」を使って音楽ファイルを共有するのが一番スマートです。
しかし、Windowsの「共有フォルダ」をLinuxにマウントすれば、こういうイメージで運用することができます。

名付けて、擬似的NASシステムです。
もっとも、NASを買えばいいのですが、ごろごろと外付けのHDが転がっている現状ではどうにも踏ん切りがつきません。でも、この方法なら、ごく普通の外付けHDがNASのように運用できます。

ついでに、こんな風にLinuxにも余っている「外付けHD」を接続すれば、Linuxの「rsync」と言うのを使ってバックアップすることもできます。経験上、「RAID1」でバックアップするよりは、このように別々のHDでバックアップしあう方がより安全です。

バックアップの仕方は、linuxに接続してある外付けHDを「/wave」というディレクトリにマウントしたと仮定すると、

rsync -av /music/ /wave/

でOKです。
バックアップ元が「/music」でバックアップ先が「/wave」です。
最初は凄く時間がかかりますが、2回目からは「差分」だけがコピーされますので短時間ですみます。
サーバー運用では必須の作業なので、「rsync」の優秀さは実感しています。

なお、「rsync」は「Vine」は言うまでもなく「Voyage MPD」にもデフォルトで組み込まれているようです。

でも、LinuxにUSB接続のストレージをぶら下げるのは精神衛生的に良くないので、手間はかかるけれどWindowsに2台ぶら下げてバックアップ取った方がいいでしょうね。


6 comments for “Windowsの共有フォルダをLinuxでマウントする

  1. yo
    2011年1月7日 at 10:19 PM

    ユングさん、いつも貴重な情報ありがとうごさいます。

    なるほど。rsyncという手があったのですか。これ、Voyage MPD 側をクライアントにしてWindowsの共有機能と繋げるのであれば、Vineがなくても使えそうですすね。暇が出来たら、そっちで試してみます。
    情報ありがとうございました。

  2. 若葉マーク
    2011年7月26日 at 5:00 PM

    いつも参考にさせて頂いております。
    Voyage MPDスターターキットを購入し、全くの知識ゼロの初心者が試行錯誤取り組んでいる最中です。

    NASを導入する予算がなく、クライアントPCに音楽専用外付けHDDを繋いでの運用を目指しておりますが、どうしてもGmpcにDatabaseが表示されません。

    Gmpcでログインはできており、Databaseには名無しのフォルダーが表示されていて、Title欄にusbmountというフォルダが表示されています。

    やはりNASを導入するのが一番の近道なのでしょうか。。。
    NASを使用せず、外付けHDDで運用する場合のポイントといいますが、注意点をご教示頂ければ幸いです。

  3. ユング君
    2011年7月26日 at 8:09 PM

    外付けのHDを擬似的にNASのように運用することは基本的に可能です。

    やりかたは、基本的にこのページに書いてある方法ですが・・・、もう一度よーく読んでみると、Linux側のマウントポイントを作成する手順をとばしていますね・・・。

    mkdir /music

    と言うコマンドを実行されていますか?
    それからもう一つ、

    mount -a

    と言うコマンドを実行したときに、何かエラーメッセージが出るでしょうか。
    /etc/fstabに「//192.168.0.x/Music /music cifs username=hoge,password=xxxxxx,uid=linux_user,file_mode=0644,dir_mode=0755 0 0」のような記述を追記して、何もメッセージが出なければ問題なくマウントできています。
    上手くマウントされないときは、必ず何かエラーメッセージが出るはずです。
    もしも、「cifs filesystem not supported by the system」のようなメッセージが出ると、基本的には諦めるしかないと思いますが、それ以外のメッセージなら対処法があると思います。

    そのあたりのことも含めて、もう少し情報をください。

  4. 若葉マーク
    2011年7月26日 at 11:14 PM

    ユング様

    早速のレスありがとうございます。

    root@voyage:~# mount -aを実行しますと、

    [mntent]: line 5 in /etc/fstab is bad
    root@voyage:~#

    と表示されます。
    共有フォルダのマウントのところでつまづいており、わかる範囲で情報を書かせて頂ければと思いますが、オープンな場所ですので、どこまで書いて良いやら・・・悩ましいところです。。。

    一応、/etc/fstabに「//192.168.0.x/Music /music cifs username=hoge,password=voyage,uid=root,file_mode=0644,dir_mode=0755 0 0」と記載はしたのですが、xの箇所に間違いがあるのかもしれません。

  5. ユング君
    2011年7月27日 at 6:26 PM

    >一応、/etc/fstabに「//192.168.0.x/Music /music cifs username=hoge,password=voyage,uid=root,file_mode=0644,dir_mode=0755 0 0」と記載はしたのですが、xの箇所に間違いがあるのかもしれません。

    もしも、アドレスが間違っているのなら

    mount error(6): No such device or address

    みたいなエラーメッセージが出るはずです。

    [mntent]: line 5 in /etc/fstab is bad

    というメッセージは「fstab」の5行目の記述が間違っているという意味ですから、どこかがおかしいのでしょうね。
    「,」が「、」みたいに大文字になっているとか・・・そう言う細かいミステイクが予想されますが・・・?
    それ以外には、共有フォルダが日本語になっている、もしくはファイル名にスペースが含まれている・・・等々。

    どんなものでしょうか。
    個人的には見たことのないエラーメッセージなので、原因は特定できませんが・・・。
    Google先生に聞いてみてもあまりいい情報はないようですね。

  6. 若葉マーク
    2011年7月27日 at 9:00 PM

    ユング様

    お忙しい中、ご回答ありがとうございます。
    間違いがないか改めて確認してみます。
    思った以上にハードルが高く苦戦していますが、頑張ってみます。

    ありがとうございました。

Comments are closed.