web-dev-qa-db-ja.com

Windowsネットワークドライブがfstabの場合、シャットダウン時にシステムがハングする

約1か月前にfstabにWindowsネットワークドライブ(WiFiを使用してアクセス)を追加しました。

//Server/Location/foo/bar /media/myNetworkDrive/ cifs auto,iocharset=utf8,uid=umang,credentials=/root/.cifscredentials,file_mode=0775,dir_mode=0775 0 0

システムがシャットダウンするのに約1分かかることを除き、完全に機能します。 ヘルプwikiチームwiki および このブログ に投稿されたソリューションを試しました。そのうちの1つは数回のシャットダウンで機能しましたが、システムは再びシャットダウンするまで1分かかりました。

EDIT:workingこの問題を回避したいと思います。現在、アンマウント(スーパーユーザー権限に必要なパスワード)してからコンピューターをシャットダウンするスクリプトがありますが、通常の方法でシャットダウンし、できるだけ早くシャットダウンできるようにしたいと思います。

6
Umang

これはよく知られているバグです。 https://bugs.launchpad.net/ubuntu/+source/network-manager/+bug/211631?comments=all

それはありがたいことに稀ですが、それでもUbuntuの光沢にマイナスの影響を与える、恥ずかしい、高い影響、2年以上前のバグの1つです。

WIFI接続のみに影響するはずですが、質問にはそれに関する詳細はありません。有線接続でこれが発生している場合は、ここで何か他のものが働いています。

Network Managerが修正されるまで(wifi接続のシャットダウンが速すぎる-initスクリプトがトリガーされる前)、実行可能な唯一の回避策はAutoFSを使用することです。

http://www.howtoforge.com/accessing_windows_or_samba_shares_using_autofs からの言い換え

Sudo apt-get install autofs

これらのファイルの内容で/etc/auto.cifsを作成します。

#!/bin/bash
# $Id$
# This file must be executable to work! chmod 755!
key="$1"
# Note: create a cred file for each windows/Samba-Server in your network
#       which requires password authentification.  The file should contain
#       exactly two lines:
#          username=user
#          password=*****
#       Please don't use blank spaces to separate the equal sign from the
#       user account name or password.
credfile="/etc/auto.smb.$key"
# Note: Use cifs instead of smbfs:
mountopts="-fstype=cifs,file_mode=0644,dir_mode=0755,uid=user,gid=users"
smbclientopts=""
for P in /bin /sbin /usr/bin /usr/sbin
do
        if [ -x $P/smbclient ]
        then
                SMBCLIENT=$P/smbclient
                break
        fi
done
[ -x $SMBCLIENT ] || exit 1
if [ -e "$credfile" ]
then
        mountopts=$mountopts",credentials=$credfile"
        smbclientopts="-A "$credfile
else
        smbclientopts="-N"
fi
$SMBCLIENT $smbclientopts -gL $key 2>/dev/null \
   | awk -v key="$key" -v opts="$mountopts" -F'|' -- '
        BEGIN   { ORS=""; first=1 }
    /Disk/  { if (first) { print opts; first=0 };
          gsub(/ /, "\\ ", $2);
          sub(/\$/, "\\$", $2);
          print " \\\n\t /" $2, "://" key "/" $2 }
        END     { if (!first) print "\n"; else exit 1 }
        '

(実際のユーザー名を反映するようにmountops行を編集します)

Sudo chmod 755 /etc/auto.cifsで実行可能にします

次に、この行を/etc/auto.masterの下部に追加します。

/smb /etc/auto.cifs --timeout=60 --ghost

最後に、次の行でautofsを再起動します(または、もちろん再起動が機能します)。

Sudo service autofs restart

そして、/ smb/server/share(またはls -l /smb/Server/Share)に対してnautilusを開くことができるはずです。

シャットダウン、サスペンド、休止状態はすべてシームレスでなければなりません。

パスワードを使用して共有に接続する場合、接続するサーバーごとに、ユーザー名とパスワードを指定して/ etc /に別のファイルを追加する必要があります。詳細については「man autofs」を実行してください。ただし、ここに要点があります。

接続するパスワードで保護された共有ごとに1つの資格情報ファイルが必要です。あなたの場合、サーバーは「サーバー」と呼ばれるので、gksudo gedit /etc/auto.smb.Serverを使用して関連ファイルを作成します。次に、これをそのファイルに入れます:

username=myusername
password=mypassword

(明らかに、必要に応じてフィールドを編集します)。

次に、Sudo chmod 600 /etc/auto.smb.Serverを使用して、このファイルがルートからのみ読み取り可能であることを確認する必要があります。

次に、上記のようにautofsを再起動し、/ smb/Serverを参照してみます-共有のリストが表示されます。

IPアドレスを使用して接続する場合は、/ etc/auto.smb.192.168.1.10などについてこのプロセスを繰り返す必要があります。

3
Scaine

アンマウントシャットダウンスクリプトの作成方法を示すガイドを使用して、まだオンになっていることを確認してください。理論的には、アップグレードまたは更新によって、それが止まりました。スクリプトが/etc/rc0.dにあり、S01smb_umountなどの名前が付けられていることを確認して、ビジネスの最初の注文として実行されるようにします。

そうしないと、Sambaドライブを通常どおりアンマウント(待機、待機)してからスクリプトを実行することになります。それは何もしません。

Win2003サーバーのSamba共有で同じ問題が発生し、次の このガイド で問題が修正されました。

0
nejode