SmbFs で Mount
Nautilusを利用した,ネットワークファイルの共有は,少し不安定な所が有ります。
より確実な手段として,SmbFsによるMountコマンドを利用した接続が行えます。この接続手段を使えば,Gnomeに依存せず,Xfceなどの他環境でも利用できます。
※このページ内容を実行するには,Samba稼働が前提です。
先に
「SambaでWindowsとUbuntuのファイル共有」で,Sambaのセットアップを済ませて下さい。
※Linux同士のネットワークファイル共有では,SmbFsに拘る必要ありませんが,対Windows用にSambaを導入済であれば,簡単に導入・利用できるので,お勧めです。
ネットワーク先のディレクトリー(フォルダ)を,Ubuntu側にマウント(載っける)します。そのUbuntu側のフォルダでファイル作業する。というイメージです。
順に施行して下さい。
smbfs
smbfsに依存したmountコマンドを利用するには,「smbfs」パッケージが必要です。インストール有無を確認して,無ければインストールします。
- 端末を起動してください。
- smbfsのインストール有無を確認します。
sudo dpkg -l smbfs
smbfsのインストール状況を確認。
「i i」になっていたらインストールされています。次項目は飛ばして下さい。違っていたらインストールします。次項目を作業して下さい。名前 バージョン 説明 ================= ii smbfs mount commands for the smbfs
- smbfsをインストールします。
sudo apt-get install smbfs
smbfsをインストール。
SmbFsのインストール完了しました。
network samba 再起動
念の為,NetworkとSambaを再起動して下さい。
sudo /etc/init.d/networking restart
networkを再起動。
sudo /etc/init.d/samba restart
sambaを再起動。
sudo /etc/init.d/networking restart * Reconfiguring network interfaces...[ OK ] sudo /etc/init.d/samba restart * Stopping Samba daemons...[ OK ] * Starting Samba daemons...[ OK ]
再起動しました。
Synapticでインストール
smbfsをSynapticでインストールする方法です。
- [ 検索 ]をクリックし「smbfs」を探します。

※もしかして,smbfsにマークが付いていたら入ってます。以降の作業は不要です。
- 表示されたsmbfsを右クリックし,「インストール指定」を実行します。

- [ 適用 ]でインストールを開始して下さい。

インストール完了です。
実は
いきなり,インストールを実行すれば,「未インストール」ならインストールされ,「インストール済」なら,その旨メッセージが出ます。インストール有無確認は不要なんです。
Mount用ディレクトリー作成
Mount用のディレクトリー(フォルダ)を作成します。
sudo mkdir /mnt/samba/
/mntフォルダにsambaというフォルダを作成。
※マウントポイントを「/mnt」以下にする必要は有りません。Linuxの慣習として,ここが良いそうです。
※マウントポイント用のフォルダ名を「samba」にする必要も有りません。任意の名前を設定できます。
- フォルダ存在を確認します。
ls /mnt/
/mntフォルダの内容を確認。
ls /mnt/ samba
- 「場所」→「コンピュータ」→「ファイルシステム」→「mnt」でも確認出来ます。

マウント用ディレクトリーを作りました。
Mountのイメージ
mountとは,「載っける」イメージとお考え下さい。HDDも,FDDも,すべて「載っけてある」あるいは「要求が有れば載っける」ので使えます。
- fstab
- mountの定義は,/ete/fstab に記述されています。確認するには,「less /etc/fstab」または「gedit /etc/fstab」します。
- mtab
- 現在,mountされている物を確認するには,/ete/mtab を見ます。「less /etc/mtab」で見れます。
※「less」コマンドで閲覧した場合,ページを下げるのは[ Space ]キー,終了するのは[ Q ]キーです。
応用して,常時,ネットワークの場所をマウント出来ます。
「ネットワークのOS起動時autoマウント fstab」もご参考下さい。
マウント実行とマウント確認
共有相手のフォルダを,マウント用に作成したフォルダに,マウントします。
- マウントの書式は以下です。パスワードを求められますから入力します。
sudo mount -t smbfs //共有相手のホスト名/相手の共有設定されているフォルダ名 /mnt/samba/ -o username=相手のsambaに登録しているユーザ名 または Windowsのログイン名,password=相手のsambaに登録しているユーザのパスワード または Windowsのログインユーザのパスワード
※パスワードを求められますが,1回だけでしたら,Ubuntuのパスワードを入力します。2回,求められた場合は,1回めは,Ubuntuのパスワード。2回めは,Windowsログインユーザの,或いは,Sambaユーザのパスワードを入力します。
※「-t」で,接続形式の指定です。
※「-o」は,オプション指定です。
※「-o」以降にオプションを続ける場合は [ , (カンマ) ] で区切ります。
※「-o」無しでも接続できるかも知れません。試して下さい
※実際は一行で続けて書いて下さい。
※英数のホスト名では接続できない場合が有ります。後述します。ご参考ください。
- これは,接続先ホスト名が「pink」,共有フォルダ名が「blue」,ログイン名が「red」,redのパスワードが「hoge」の場合の一例です。
sudo mount -t smbfs //pink/blue /mnt/samba -o username=red,password=hoge
sudo mount -t smbfs //pink/blue /mnt/samba -o username=red,password=hoge [sudo] password for hoge: Ubuntuのパスワード Password: 相手のパスワード (パスワード2回の場合)
- マウントが成功しているか確認します。相手先の中身が見えたら,成功しています。
ls /mnt/samba/
/mnt/samba/の内容を確認。
ls /mnt/samba/ Enya Perfume-GAME miku_strast.mp3 DL HanNya cTRANCE
- 「場所」→「コンピュータ」→「ファイルシステム」→「mnt」→「samba」でも確認出来ます。

マウント成功しました。
一行で書いて下さい
紙面の都合上,複数行で表記していますが,実際は一行で書いて下さい。
接続不可なら 01 CIFS
「-t」オプションに,「smbfs」を指定して接続できない場合は,「cifs」を利用してみます。
sudo mount -t cifs //pink/blue /mnt/samba
-o username=red,password=hoge
試して下さい。
接続不可なら 02 IPアドレス
「-t」オプションを,「cifs」にしても接続できない場合は,相手のホスト名を,英数ではなく「IPアドレス」で指定してみます。
「英数のホスト名で接続できない場合」を試して下さい。
文字化けする 01
対Windows,対Vine-Linuxなど,文字コードが違って,文字化けする場合は,「-o」オプションに,文字コード「iocharset」を追加します。
sudo mount -t smbfs //pink/blue /mnt/samba -o username=red,password=hoge,iocharset=utf8
※オプションを複数記述する際は,「,」を忘れないで下さい。
| Windows | shift-jis |
|---|---|
| Ubuntu | utf-8 |
| Vine | euc-jp |
試して下さい。
文字化けする 02
まだ文字化けする場合は,「cifs」を試してください。
- これは,smbfsにて,Vine4.2からUbuntu8.04にアクセスした例です。文字が化けてます。

- これは,cifsにて,Vine4.2からUbuntu8.04にアクセスして例です。文字化け無し。

試して下さい。
英数のホスト名で接続できない場合
ホスト名の解決が上手く行われず,「mount -t smbfs //英数のホスト名/云々」で接続できない場合が有ります。
そんな時は,接続先のIPアドレスを指定すると,接続可能性が高まります。
先に
「IPアドレスの調べかた」で,接続先パソコンのIPアドレスを,調べてください。
後は同じです。接続先ホスト名「pink」のIPアドレスが「192.168.0.5」,共有フォルダ名が「blue」,ログイン名が「red」,ログインパスワードが「hoge」だった場合の一例。
sudo mount -t smbfs //192.168.0.5/blue /mnt/samba -o username=red,password=hoge
これで接続率が上がります。
※/etc/hosts に,ホスト名とIPアドレスを追記しておくと,アドレスを入力しなくても接続できるようになります。しかし,DHCPによる動的割当の際は,すぐに使えなくなります。
less /etc/hosts 127.0.0.1 localhost 127.0.1.1 cube.stardust 205.188.234.120 www.shoutcast.com 192.168.0.5 pink
この対策として,IPアドレスを固定します。
「ネットワークのOS起動時autoマウント fstab」カテゴリも見て下さい。
IPアドレスの調べかた
パソコンのIPアドレスを調べる方法です。
- Ubuntu
- 端末で,
ifconfig
- Vine
- 端末で,
/sbin/ifconfig
- Windows
- 「スタート」→「ファイル名を指定して実行」から,
cmd または command
と入力し,ipconfig
これで情報が表示されます。
ファイルやディレクトリーをコピー
ファイルやディレクトリーを,コピーしてみます。
ここからは「Nautilus」でも「端末」でも作業できます。
端末でコピー
「端末」でコピーする方法。書式は以下です。
- 接続先の「ファイル」をUbuntuにコピー。
cp /mnt/samba/ファイル名 置きたい場所/
- 接続先の「フォルダ」をUbuntuにコピー。
cp -R /mnt/samba/フォルダ名/ 置きたい場所/
- Ubuntuの「ファイル」を接続先にコピー。
cp 場所/ファイル名 /mnt/samba/
- Ubuntuの「フォルダ」を接続先にコピー。
cp -R 場所/フォルダ名/ /mnt/samba/
以下は一例です。
cp /mnt/samba/1000tcr.mpg Desktop/
接続先の「1000tcr.mpg」をUbuntuのデスクトップにコピー。
cp -R /mnt/samba/HikoNyan/ MyTmp/
接続先の「HikoNyanフォルダ」をUbuntuのMyTmpフォルダにコピー。
cp Desktop/pengin.png /mnt/samba/
Ubuntuのデスクトップにある「pengin.png」を接続先の共有フォルダにコピー。
cp -R MyTmp/RedFlag/ /mnt/samba/
UbuntuのMyTmpフォルダにある「RedFlagフォルダ」を接続先にコピー。
端末でコピー完了です。
Nautilusでコピー
Nautilusでコピーします。
- 「場所」→「コンピュータ」→「ファイルシステム」→「mnt」→「samba」まで辿って下さい。

- 後は,通常のファイル操作で,コピーして下さい。
Nautilusでコピー完了です。
SUDO無しで
ファイルやディレクトリーを,コピーする際,「sudo無し」で作業します。そうしないと,コピーしたファイルが「root所有物」になってしまい,後で面倒です。
もしかして,既にコピーしてしまったなら,権限を変更してやれば,大丈夫です。
sudo chmod 744 (または 777) ファイル名
ファイルのパーミッションを変更。
sudo chmod -R 744 (または 777) フォルダ名/
フォルダのパーミッションを変更。
※一般的なファイルの場合です。全てに適用してはなりません。
※一般ユーザでログインしていて,Nautilus利用でしたら,この問題は発生しません。
ご留意ください。
書込不可
接続先の共有フォルダが「書込可」に設定していないと,相手にコピーできません。
カレントディレクトリー
作業ディレクトリーは「/home/user/」を前提に説明しています。変更されている際は,適宜,読み替えて下さい。
アンマウント実行
ファイル作業が終了したら,マウントを解除しておきます。
- マウントを解除。
sudo umount /mnt/samba
/mnt/sambaのマウントを解除。
- マウント解除の確認。何も表示されなければアンマウント成功です。
ls /mnt/samba/
/mnt/samba/の内容を確認。
- Nautilusで「場所」→「コンピュータ」→「ファイルシステム」→「mnt」→「samba」を辿っても確認出来ます。

アンマウント完了しました。
アンマウント不要?
アンマウントしなくても,大問題に発展しないようですが,Ubuntuを終了する時に,試行してるようで,シャットダウン時間が伸びます。
