it-swarm.com.de

Das System hängt sich beim Herunterfahren auf, wenn das Windows-Netzwerklaufwerk in fstab ist

Ich habe vor ungefähr einem Monat ein Windows-Netzwerklaufwerk (auf das über WLAN zugegriffen wird) in meine fstab aufgenommen:

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

und es funktioniert einwandfrei, außer es dauert ungefähr eine volle Minute, bis das System heruntergefahren ist. Ich habe die Lösungen ausprobiert, die auf dem Hilfe-Wiki , dem Team-Wiki und auf diesem Blog veröffentlicht wurden. Einer von ihnen arbeitete für ein paar Abschaltungen, aber dann dauerte es wieder eine Minute, bis das System wieder heruntergefahren war.

EDIT: Ich möchte ein working für dieses Problem umgehen. Derzeit habe ich ein Skript, das die Bereitstellung aufhebt (Kennwort für Superuser-Berechtigungen erforderlich) und dann den Computer herunterfährt. Ich möchte jedoch in der Lage sein, den Computer auf die übliche Weise herunterzufahren und ihn so schnell wie möglich herunterzufahren.

6
Umang

Dies ist ein bekannter Fehler: https://bugs.launchpad.net/ubuntu/+source/network-manager/+bug/211631?comments=all

Es ist einer dieser dankbar seltenen, aber dennoch peinlichen, hochwirksamen, über zwei Jahre alten Bugs, die Ubuntus Glanz negativ beeinflussen.

Es sollte nur WIFI-Verbindungen betreffen, aber ich sehe keine Details dazu in Ihrer Frage. Wenn Sie dies über eine Kabelverbindung erleben, ist hier etwas anderes im Spiel.

Bis Network Manager repariert ist (es beendet WLAN-Verbindungen zu schnell - bevor eines der Init-Skripte ausgelöst wird), ist die einzige mögliche Problemumgehung die Verwendung von AutoFS.

Umschrieben von http://www.howtoforge.com/accessing_windows_or_samba_shares_using_autofs

Sudo apt-get install autofs

Erstellen Sie /etc/auto.cifs mit diesen Dateiinhalten:

#!/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 }
        '

(Bearbeiten Sie die mountops-Zeile, um Ihren tatsächlichen Benutzernamen wiederzugeben)

Machen Sie es mit Sudo chmod 755 /etc/auto.cifs Ausführbar

Fügen Sie dann diese Zeile unten zu Ihrem /etc/auto.master hinzu:

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

Starten Sie abschließend autofs mit dieser Zeile neu (oder ein Neustart würde natürlich funktionieren):

Sudo service autofs restart

Und Sie sollten dann in der Lage sein, Nautilus nach/smb/server/share zu öffnen (oder ls -l /smb/Server/Share).

Das Herunterfahren, Anhalten und der Ruhezustand sollten nahtlos sein.

Wenn Sie Kennwörter verwenden, um eine Verbindung zu Ihren Freigaben herzustellen, müssen Sie für jeden Server, zu dem Sie eine Verbindung herstellen, eine weitere Datei in/etc/hinzufügen, wobei Benutzername und Kennwort angegeben werden. Machen Sie einen "man autofs", um mehr darüber zu erfahren, aber hier ist das Wesentliche:

Sie benötigen eine Anmeldeinformationsdatei für jede kennwortgeschützte Freigabe, zu der Sie eine Verbindung herstellen. In Ihrem Fall heißt Ihr Server "Server", erstellen Sie also die entsprechende Datei mit gksudo gedit /etc/auto.smb.Server. Dann lege dies in diese Datei:

username=myusername
password=mypassword

(Bearbeiten Sie die Felder natürlich nach Bedarf).

Dann müssen Sie sicherstellen, dass diese Datei nur von root mit Sudo chmod 600 /etc/auto.smb.Server Gelesen werden kann.

Starten Sie dann autofs wie oben beschrieben neu und versuchen Sie,/smb/Server zu durchsuchen. Es sollte eine Liste Ihrer Freigaben angezeigt werden.

Wenn Sie eine Verbindung mit einer IP-Adresse herstellen, müssen Sie diesen Vorgang für /etc/auto.smb.192.168.1.10 oder was auch immer wiederholen.

3
Scaine

Sie sollten die Anleitung verwenden, die Ihnen zeigt, wie Sie ein Skript zum Herunterfahren ohne Bereitstellung erstellen und sicherstellen, dass es weiterhin aktiviert ist. Upgrades oder Updates hätten ihn theoretisch von der Stange werfen können. Stellen Sie sicher, dass sich Ihr Skript in /etc/rc0.d Befindet und den Namen S01smb_umount Oder ähnliches trägt, damit es als erster Geschäftsauftrag ausgeführt wird.

Andernfalls kann es passieren, dass Sie das Samba-Laufwerk normal aushängen (warten, warten) und dann Ihr Skript ausführen. Welches würde nichts tun.

Ich hatte das gleiche Problem mit einer Win2003-Server-Samba-Freigabe und folgende diese Anleitung das Problem behoben.

0
nejode