PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Windows-Laufwerk automatisch mounten



Seiten : [1] 2

linux-learner
08.06.02, 12:35
Ich habe das Laufwerk eines entfernten Windows-Rechners zum mounten in die fstab eingetragen (und zwar so, dass auch User mounten können). Das funktioniert auch prima, NUR: Der User muss nach jedem Systemstart wieder in der Shell den entsprechenden Mount-Befehl eingeben.

Ich möchte, dass der Mount-Befehl beim Start des Users automatisch ausgeführt wird. Dafür habe ich ihn in die rc.config eingetragen.

Das funktioniert auch, ABER: beim Herunterfahren des Systems (SuSE 8.0) hängt der Rechner ca. 20 Minuten und meldet dann: "Could not resolve mount point /verz.name". Sobald ich den Befehl aus der rc.config entferne, lässt der Rechner sich wieder normal herunterfahren.

Wer hat mir den entscheidenden Tipp?

ml
08.06.02, 12:43
Hi,

Meine fstab schaut so aus und bei mir werden die windows-Partition beim Hochfahren eingehängt

/dev/hda7 / reiserfs notail 1 1
none /dev/pts devpts mode=0620 0 0
none /dev/shm tmpfs defaults 0 0
/mnt/cdrom /mnt/cdrom supermount dev=/dev/scd0,fs=iso9660,ro,--,iocharset=iso8859-15 0 0
/dev/hda8 /mnt/encrypted reiserfs encrypted,notail,encryption=AES256 0 0
/mnt/floppy /mnt/floppy supermount dev=/dev/fd0,fs=vfat,--,iocharset=iso8859-15,sync,codepage=850 0 0
#/dev/sda4 /mnt/sda4 auto defaults 0 0
/dev/hda6 /mnt/win_d vfat iocharset=iso8859-15,umask=0,codepage=850 0 0
/dev/hda4 /mnt/win_me vfat iocharset=iso8859-15,codepage=850 0 0
/dev/hda3 /mnt/win_xp ntfs iocharset=iso8859-15 0 0
none /proc proc defaults 0 0
/dev/hda5 swap swap defaults 0 0

Probiers mal mit meinen Optionen.

Welche Distribution hast du denn?

mfg

ml

linux-learner
08.06.02, 14:06
danke, aber das sind doch lokale Windows-Partitionen, oder?

Mein gemountetes Verzeichnis liegt, wie gesagt, auf einem entfernten Windows-Rechner. Der Eintrag in der fstab hierfür lautet:

//Server/Daten /home/daten smbfs noauto,user,uid=500,username=...,password=...,gid= 100 0 0

Jetzt kann der User in seiner Shell mit "mount /home/daten" selber mounten, aber eben nicht automatisch beim Systemstart.

Ich verwende, wie erwähnt, SuSE 8.0

Christian81
08.06.02, 14:09
einfach noauto löschen (oder auto daruas machen) :)

linux-learner
08.06.02, 14:25
danke, habe ich schon probiert, ABER: dann wird aber nur für den root automatisch gemounted, nicht für den User...

ml
08.06.02, 14:28
Dann lass halt mal den mount-Befehl in der /etc/rc.local stehen und
schreib

umount /home/daten

in ein Skript welches zu Beginn des Herunterfahrens ausgeführt wird!

Christian81
08.06.02, 14:30
ok, dann fehlt noch ein umask=000 in den optionen.

Die Suche (http://www.linuxforen.de/forums/search.php?s=) bringt dazu übrigens sehr viele Treffer...

ml
08.06.02, 14:32
Ja stimmt, steht auch in meiner geposteten fstab!

linux-learner
08.06.02, 15:04
vielleicht blöde Anfängerfragen...

... aber wie schreibe bzw. unter welchem Namen speichere ich ein Skript, das zu Beginn des Herunterfahrens ausgeführt wird?

... ist die rc.local das gleiche wie die rc.config? Bei mir gibt es nämlich keine rc.local.

ml
08.06.02, 15:45
Original geschrieben von linux-learner
vielleicht blöde Anfängerfragen...

... aber wie schreibe bzw. unter welchem Namen speichere ich ein Skript, das zu Beginn des Herunterfahrens ausgeführt wird?


Erstell ein Skript mit folgendem Inhalt:


#!/bin/bash


# Source function library.
. /etc/rc.d/init.d/functions



case "$1" in
start)
mount /home/daten

;;
status)
mount|grep /home/daten
;;
restart)
umount /mnt/daten
mount /home/daten

;;
stop)
umount /mnt/daten
;;
*)
gprintf "Usage: %s {start|stop|status|restart}\n" "$0"
exit 1
;;
esac

exit $RETVAL


Benenne es z.b.: smb_mount, speicher es in /etc/init.d ab und mach es mit chmod +x smb_mount ausführbar

Dann noch

cd /etc/rc0.d/
ln -s ../init.d/smb_mount K00smb_mount
cd /etc/rc6.d/
ln -s ../init.d/smb_mount K00smb_mount

Dann sollte beim Herunterfahren / Neustarten (zu Beginn) /home/daten ausgehängt werden!



... ist die rc.local das gleiche wie die rc.config? Bei mir gibt es nämlich keine rc.local.

Nein, ist nicht das gleiche, rc.config gibts nur bei SuSE, und rc.local bei Redhat, Mandrake ...

linux-learner
08.06.02, 16:46
@ ml: Danke erst einmal für deine wirklich anfängergerechte, genaue Anleitung

Trotzdem habe ich noch Probleme damit, denn ich habe etwas andere Verzeichnispfade, (aber vielleicht schaffen wir das noch):

die im Skript erwähnte Source function library gibt es bei mir nicht an der genannten Stelle. Es gibt insgesamt 5 verschiedene Dateien mit dem Namen "functions". Eine z.B. im Verzeichnis /etc/sysconfig/network/scripts

die genannten Verzeichnisse "rc0.d" und "rc6.d" gibt es bei mir nicht im Verzeichnis /etc, sondern jeweils im Verzeichnis /etc/init.d und im Verzeichnis /etc/rc.d. Welches soll ich nehmen?

ml
08.06.02, 16:50
Original geschrieben von linux-learner
@ ml: Danke erst einmal für deine wirklich anfängergerechte, genaue Anleitung


Trotzdem habe ich noch Probleme damit, denn ich habe etwas andere Verzeichnispfade, (aber vielleicht schaffen wir das noch):

die im Skript erwähnte Source function library gibt es bei mir nicht an der genannten Stelle. Es gibt insgesamt 5 verschiedene Dateien mit dem Namen "functions". Eine z.B. im Verzeichnis /etc/sysconfig/network/scripts


Lass das . /etc/rc.d/init.d/functions halt mal weg, ist eigentlich gar nicht nötig



die genannten Verzeichnisse "rc0.d" und "rc6.d" gibt es bei mir nicht im Verzeichnis /etc, sondern jeweils im Verzeichnis /etc/init.d und im Verzeichnis /etc/rc.d. Welches soll ich nehmen?

Probiers mal mit /etc/init.d !

linux-learner
08.06.02, 18:41
hmm.. irgend etwas funktioniert immer noch nicht, denn der Rechner bleibt beim Herunterfahren immer noch hängen, wenn in der rc.config der mount-Befehl steht.

Ich habe das Skript als ausführbar im Verzeichnis /etc/init.d abgespeichert.

außerdem befinden sich jetzt in den Verzeichnissen /etc/init.d/rc0.d und /etc/init.d/rc6.d jeweils eine 0 Byte Datei namens "K00smb_mount". (ich weiß zwar nicht wofür), aber ich habe es, wie beschrieben gemacht und es kam auch keine Fehlermeldung.

Nur leider hängt der Rechner immer noch beim Herunterfahren. Kann ich irgendwo überprüfen, ob das Skript funktioniert?

ml
08.06.02, 18:48
diese "0 Byte wie du es nennst" ist ein symbolischer Link.

Skript testen:

/etc/init.d/smb_mount stop

dann sollte /home/daten ausgehängt werden!

linux-learner
08.06.02, 19:02
...dann erhalte ich die Meldung "umount: /mnt/daten: not found"

das hilft vielleicht weiter?

ml
08.06.02, 19:36
ups, in dem Skipt steht ein paar Mal /mnt/daten, dass musst auf /home/daten abändern, dann test das Skript noch einmal!

Christian81
08.06.02, 19:39
trotzdem frage ich mich, warum man ein script schreibt, obwohl sowieso die Verzeichnisse automatisch geunmountet werden (ist auch nur ein umount-script ...). Also dürfte es dort auch nicht gehen !?!

linux-learner
08.06.02, 21:21
So, das Skript funktioniert jetzt.

aber leider hat Christian81 wohl recht, denn auch wenn das mittels rc.config gemountete Verzeichnis vor dem Herunterfahren ungemountet wird, bleibt der Rechner hängen.

Wenn ich das Verzeichnis allerdings nach dem Start "von Hand" mounte, fährt der Rechner problemlos runter.

Wie bekomme ich eigentlich solch ein Skript wieder weg? Einfach löschen?

Christian81
08.06.02, 21:31
ok, das Script kannst Du einfach löschen. Wie hast du es Zur Zeit in der /etc/fstab eingetragen? So wie ich es vorgeschlagen hatte (mit umask=000,auto)? Wenn nicht, poste mal die Zeile, in der Das Verzeichnis gemountet wird.

linux-learner
08.06.02, 21:54
Die entsprechende Zeile in der fstab lautet:

//Server/Daten /home/daten smbfs auto,user,uid=500,username=...,password=...,gid=10 0,umask=000 0 0

wie gesagt, wenn ich nicht über die rc.config mounte, klappt das Herunterfahren des Rechners ohne Probleme

Christian81
08.06.02, 22:01
Dann werfe erstmal ein wenig überflüssiges raus ;)

//Server/Daten /home/daten smbfs defaults,username=...,password=...,umask=000 0 0

eventuell hat er sich etwas daran gestört, dass ein wenig konträres in den Optionen stand (man weiss ja nie...)

linux-learner
08.06.02, 22:33
mit deiner Einstellung kann ich als User angemeldet gar nicht mounten (weder mittels rc.config noch mittels Konsole). Es erscheint die Meldung, dass nur Root dies tun könne.

Richtig Herunterfahren tut der Rechner nicht, solange ich den Mount-Befehl in der rc.config habe. Kann man den Befehl nicht einfach woanders eintragen?

Ich habe irgendwo gehört, bei SuSE 8.0 hätte die rc.config nicht mehr die Bedeutung wie bei früheren Versionen.

Christian81
08.06.02, 23:02
Mit meiner Einstellung müsste das Verzeichnis von Anfang an gemountet sein... schau mal nach!

linux-learner
08.06.02, 23:23
Nein, ist es leider nicht. Weder nach der Anmeldung als Root noch als User. Verstehe nicht warum?

Christian81
09.06.02, 10:37
ok, mache aus defaults ein auto

dann mal neustarten, als root einloggen und schauen. Achte auch mal beim Systemstart, ob er irgendwelche Fehlermeldungen bezüglich des Mountens ausgibt.

linux-learner
09.06.02, 12:44
So, ich habe jetzt alles noch einmal getestet:

Ohne "Mount-Befehl" in der rc.config:
- mit "deinen" Einstellungen in der fstab kann nur Root mittels Konsole mounten
- mit "meinen" Einstellungen in der fstab kann auch der User mittels Konsole mounten.
Systemstart und Herunterfahren klappen immer problemlos!

Mit Mount-Befehl in der rc.config:
Sowohl mit "deinen" als auch "meinen" Einstellungen wird das Verzeichnis beim Systemstart automatisch gemounted.
ABER:
Egal, welche Einstellungen in der fstab, sobald der Mount-Befehl in der rc.config eingetragen ist, bleibt der Rechner beim Herunterfahren hängen!
Selbst wenn das Verzeichnis gar nicht gemounted wurde, oder bereits wieder ausgehängt wurde gilt, dass der Rechner mit Mount-Befehl in der rc.config immer beim Herunterfahren hängen bleibt!

Christian81
09.06.02, 12:55
ok, irgendwie muss sich das ja lösen lassen...

normalerweise muss, um ein Dateisystem automatisch zu mounten, keine weiteren Einträge irgendwo gemacht werden ausser in der /etc/fstab
wird dort auto bei den Optionen angegeben, sollte es beim Systemstart automatisch gemountet werden, noauto dementsprechend nicht.
user bedeutet, dass ein normaler Nutzer das Laufwerk mounten kann, nouser dementsprechend nur root.

Eine Idee ist, noch, den Mountbefehl in ~/.profile eines jeden Users einzutragen, was aber auch nur eine Notlösung ist.

Wie versuchtst Du als User das LW zu mounten?

linux-learner
09.06.02, 13:37
zur Erinnerung noch einmal: Der Eintrag in der fstab lautet momentan:

//Server/Daten /home/daten smbfs auto,username=...,password=...,umask=000 0 0
(wie von dir vorgeschlagen, Chistian81)

den fehlerverursachenden mount-Eintrag in der rc.config habe ich gelöscht.

ABER: Es wird weder für root noch für den User automatisch gemounted!

Wenn der Root in der Konsole den Befehl "mount /home/daten" eingibt, klappt das mounten. Allerdings hat der User dann nur Leserechte.

Wenn der User in der Konsole den Befehl "mount /home/daten" eingibt, erhält er die Meldung, dass nur Root dies tun könne.

Christian81
09.06.02, 13:48
ok, ich habe nocheinmal ein bischen in man smbmount geschaut (wird von mount aufgerufen, man kann aber auch direkt smbmount verwenden).
dort gibts es keine Option umask, sondern es wurde etwas differenziert --> fmask für Dateien, dmask für Directories. setzte also statt umask=0 --> fmask=0, dmask=0
Das sollte dir auch als normaler User Zugriff geben, wenn root (oder ein anderer User) es gemountet hat.

Mit deinen Eintrag in der fstab kann ein normaler user noch nicht mounten - es fehlt noch die option user :)

Warum er es immer noch nicht automatisch mountet, ist mir ein Rätsel...

linux-learner
09.06.02, 14:07
OK, mit dem Zusatz user kann der User mounten. (So hatte ich es ja auch in meiner ursprünglichen Konfiguration) - das klappt.

Das automatische Mounten beim Systemstart klappt allerdings immer noch nicht.

@Christian81: Ich danke Dir auf jeden Fall schon einmal für deine Ausdauer, egal ob wir das Problem noch lösen können...