事象の水平線

個人的ブックマーク代わりなメモ書きブログ。 地球は丸いよ。↓このへん。

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

PageTop
Ubuntu11 NFSクライアント設定で、UbuntuからCentOSサーバーにNFSでつながるようにはなったのだけど、NFSのディレクトリをマウントしたままサーバーの電源を切ると、Nautilusが道連れになってしまいます。ソフトマウントでつないでるんですけどねぇ・・・
で、autofsとかいろいろ試したのだけれどうまくいかない。
まぁ、多分よく解ってないだけだと思いますが・・・・

ので、Sambaでつなぐことにしました   Linux同士なのに…orz

で、とりあえずsmbfsをインストールして、マウントする方法です。


linux@Ubuntu-DT:~$ sudo apt-get install smbfs
[sudo] password for linux:
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下のパッケージが自動でインストールされましたが、もう必要とされていません:
autofs5
これらを削除するには 'apt-get autoremove' を利用してください。
以下の特別パッケージがインストールされます:
cifs-utils
以下のパッケージが新たにインストールされます:
cifs-utils smbfs
アップグレード: 0 個、新規インストール: 2 個、削除: 0 個、保留: 0 個。
42.6 kB 中 4,572 B のアーカイブを取得する必要があります。
この操作後に追加で 180 kB のディスク容量が消費されます。
続行しますか [Y/n]? y
取得:1 http://jp.archive.ubuntu.com/ubuntu/ natty-updates/main smbfs i386 2:4.5-2ubuntu0.11.04.1 [4,572 B]
4,572 B を 0秒 で取得しました (19.5 kB/s)
未選択パッケージ cifs-utils を選択しています。
(データベースを読み込んでいます ... 現在 224530 個のファイルとディレクトリがインストールされています。)
(.../cifs-utils_2%3a4.5-2ubuntu0.11.04.1_i386.deb から) cifs-utils を展開しています...
未選択パッケージ smbfs を選択しています。
(.../smbfs_2%3a4.5-2ubuntu0.11.04.1_i386.deb から) smbfs を展開しています...
man-db のトリガを処理しています ...
cifs-utils (2:4.5-2ubuntu0.11.04.1) を設定しています ...
smbfs (2:4.5-2ubuntu0.11.04.1) を設定しています ...
linux@Ubuntu-DT:~$


そして、
/etc/fstabにこんな感じで書き込みます(一行で)

//192.168.0.101/share /home/share smbfs username=guest,password=pass,rw,defaults 0 0

オプションでpasswordを入れておかないとつなぐ度に聞かれます。たぶん。

で、

linux@Ubuntu-DT:~$ sudo mount -a

でマウントはOKなんですが、やはりこれでもサーバーの電源を切ると微妙(?)にNautilusが飛びます;;;
NFSの時は、Nautilusは全部ダメだったの対して、マウントしたディレクトリを見にいくとそのフォルダだけが飛んで、他のディレクトリは見にいけるというNFSの時よりはマイルドな(?)飛び方なんですけど・・・・

で、仕方ないんで他の方法を探ると、こんなHPを発見
『絶対無糖 (Zettai Non Sugar)』さんの『Ubuntu 11.04 で Samba を使ってみる
『人生をかるくする秘密のバックヤード』さんの『Linuxで利用できるSMBクライアント

フォルダの『場所』(なければ『表示』>『場所バー』)にsmb://IPアドレスと入れるだけでつながるようです。

ということで、
そんならこれでもいける?ということで

linux@Ubuntu-DT:~$ nautilus smb://192.168.0.101/

バッチリOKでした。

ので、サーバーを立ち上げて、つながったらNautilusでサンバのフォルダを開くスクリプトを作りました。
エンコードはUTF-8
→ mount_smb.txt
 (.sh拡張子がアップできないので.txtになってます)

#!/bin/bash

#サーバーのip
smbserver_ip="192.168.0.101"
#サーバーのMacアドレス
macaddress="**:**:**:**:**:**"
#ノーティファイアイコン
notify_icon="/usr/share/icons/Humanity/apps/48/gksu-root-terminal.svg"

##########################################
########## 設定するのはここまで ##########
##########################################

sudo etherwake $macaddress

count=1

while [ 0 ];
do
ping_res=$(ping -c1 $smbserver_ip)
if echo $ping_res | grep -sq ", 0% packet loss"
then
if [ $count -ge 2 ]
then
sleep 15
fi
mount_res=$(/usr/bin/nautilus smb://$smbserver_ip/)
if [ -z $mount_res ]
then
notify-send -i $notify_icon 'Mounted SMB drives Now' &&
aplay "/usr/share/sounds/Media/notify.wav" >/dev/null 2>&1
else
notify-send -i $notify_icon $mount_res &&
aplay "/usr/share/sounds/Media/notify.wav" >/dev/null 2>&1
fi
exit
else
if [ $count -ge 30 ]
then
notify-send -i $notify_icon "I can't find the server." &&
aplay '/usr/share/sounds/Media/Uh oh.wav' >/dev/null 2>&1
exit
fi
let ++count
fi
done



動作は、pingを一発打って帰ってきたらnautilusでsmbにつなぐという感じです。
一発目でつながった時は、既にサーバーが起動していたものとして即nautilusで開きますが、2発目以降の場合は、起動したばかりと想定して、15秒待ってからnautilusで開いています。
pingが帰ってきても、smbが立ち上がるまでは若干時間がかかるので・・・・
また、30回pingを打っても起動が確認できない時はexitしています。

etherwakeやnotify-sendに関しては、Ubuntu11 WOL  して putty で SSH接続を参考にしてください。

後は、作ったスクリプトに実行権限をあげて(chmod)、ランチャーに登録すればばっちりです。
スポンサーサイト

PageTop

コメント

 ※
 ※
管理者にだけ表示を許可する
  ※ 必須項目です

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。