Erfolg von mount

Hast Du Probleme mit Hardware, die durch die anderen Foren nicht abgedeckt werden? Schau auch in den "Tipps und Tricks"-Bereich.
wanne
Moderator
Beiträge: 6521
Registriert: 24.05.2010 12:39:42

Erfolg von mount

Beitrag von wanne » 14.04.2020 16:21:46

Ich habe in meinem Script in etwa sowas:

Code: Alles auswählen

mount /home/steam/ && echo OK
Und bin bis jetzt immer davon ausgegangen, dass das funktioniert.
Jetzt die große Überraschung. Die passende HDD war nicht angeschlossen und siehe da: Das Script sagt trotzdem OK.
Ich finde auch in keinem Log irgend eine Fehlermeldung...
Alles was mir halt auffällt, ist dass eben nicht geloggt wird, dass das device gemountet wurde und dass es nacher nicht gemountet ist...
Gibt es eine zuverlässigere Methode festzustellen, ob ein device gemountet wurde?
rot: Moderator wanne spricht, default: User wanne spricht.

Benutzeravatar
whisper
Beiträge: 2531
Registriert: 23.09.2002 14:32:21
Lizenz eigener Beiträge: GNU Free Documentation License
Kontaktdaten:

Re: Erfolg von mount

Beitrag von whisper » 14.04.2020 16:30:42

Ja, sollte mit exit status "$?" gehen
Also so ungefähr
mount /home/steam/
if [ "$?" -eq "0" ]
then
echo "OK"
fi

Benutzeravatar
heisenberg
Beiträge: 1679
Registriert: 04.06.2015 01:17:27

Re: Erfolg von mount

Beitrag von heisenberg » 14.04.2020 16:33:06

whisper hat geschrieben: ↑ zum Beitrag ↑
14.04.2020 16:30:42
Ja, sollte mit exit status "$?" gehen
Also so ungefähr
mount /home/steam/
if [ "$?" -eq "0" ]
then
echo "OK"
fi
Das ist genau das, was wanne tut.

@wanne:
* Du bekommst wirklich einen exit-Status 0 von mount zurück? Ist das per manuellem Befehl nochmal getestet?
* Irgend eine Fehlermeldung bei Ausführung von mount mit nicht angeschlossener Platte?
Wenn ich ein Problem gelöst habe, bekomme ich zur Belohnung ein neues, größeres Problem.

Benutzeravatar
Meillo
Moderator
Beiträge: 5873
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Erfolg von mount

Beitrag von Meillo » 14.04.2020 16:35:39

whisper hat geschrieben: ↑ zum Beitrag ↑
14.04.2020 16:30:42
Ja, sollte mit exit status "$?" gehen
Also so ungefähr
mount /home/steam/
if [ "$?" -eq "0" ]
then
echo "OK"
fi
Der &&-Befehl von wanne ist bereits aequivalent dazu. Beide Codeschnipsel verhalten sich gleich.

Das Problem muss in mount(8) liegen. Dort wird ein Exit-Code von 0 zurueckgeliefert, obwohl scheinbar nicht gemountet wurde.
Use ed(1) once in a while!

Benutzeravatar
Meillo
Moderator
Beiträge: 5873
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Erfolg von mount

Beitrag von Meillo » 14.04.2020 16:37:49

heisenberg hat geschrieben: ↑ zum Beitrag ↑
14.04.2020 16:33:06
@wanne:
* Du bekommst wirklich einen exit-Status 0 von mount zurück? Ist das per manuellem Befehl nochmal getestet?
Teste es auch mal mit anderen nicht-existenten Mount-Points. Was kommt da fuer ein Exit-Code zurueck?
* Irgend eine Fehlermeldung bei Ausführung von mount mit nicht angeschlossener Platte?
`mount -v' ... hat mir schon manches Mal geholfen.
Use ed(1) once in a while!

wanne
Moderator
Beiträge: 6521
Registriert: 24.05.2010 12:39:42

Re: Erfolg von mount

Beitrag von wanne » 14.04.2020 16:42:17

heisenberg hat geschrieben: ↑ zum Beitrag ↑
14.04.2020 16:33:06
* Du bekommst wirklich einen exit-Status 0 von mount zurück? Ist das per manuellem Befehl nochmal getestet?
Ja.

Code: Alles auswählen

# mount /home/steam/ 
# echo $?
> 0
heisenberg hat geschrieben: ↑ zum Beitrag ↑
14.04.2020 16:33:06
* Irgend eine Fehlermeldung bei Ausführung von mount mit nicht angeschlossener Platte?
Ich habe bestimmt eine halbe Stunde gesucht. Nirgends was gefunden. Nicht im journal. Nicht im Kernel log. Nicht im syslog. Und natürlich keine Ausgabe auf stdout oder stderr.
Und ich meine, das ist doch ein relativ üblicher Fall: Da war einfach der SATA-Stecker gezogen. (Sprich für den Rechner war die Platte schlicht nicht da. Kein fancy Setup. Dateisystem sollte xfs sein. Aber so weit dürfte das mount ja nicht kommen.)
rot: Moderator wanne spricht, default: User wanne spricht.

Benutzeravatar
heisenberg
Beiträge: 1679
Registriert: 04.06.2015 01:17:27

Re: Erfolg von mount

Beitrag von heisenberg » 14.04.2020 16:44:03

man 8 mount #(debian buster)

Code: Alles auswählen

RETURN CODES
       mount has the following return codes (the bits can be ORed):
       0      success
       1      incorrect invocation or permissions
       2      system error (out of memory, cannot fork, no more loop devices)
       4      internal mount bug
       8      user interrupt
       16     problems writing or locking /etc/mtab
       32     mount failure
       64     some mount succeeded
       The command mount -a returns 0 (all succeeded), 32 (all failed), or 64 (some failed, some succeeded).
Also das ist schon alles so wie gedacht. Vielleicht doch ein Fehler im Script?

Kannst Du den Fehler manuell(ohne Script) erfolgreich nachstellen? (Platte anschließen, mounten, unmounten, Datenkabel trennen, erneut mounten?)

Evtl. mount nochmal mit strace ausführen?
Zuletzt geändert von heisenberg am 14.04.2020 16:47:41, insgesamt 1-mal geändert.
Wenn ich ein Problem gelöst habe, bekomme ich zur Belohnung ein neues, größeres Problem.

wanne
Moderator
Beiträge: 6521
Registriert: 24.05.2010 12:39:42

Re: Erfolg von mount

Beitrag von wanne » 14.04.2020 16:47:30

mount -v
Keine Ausgabe...
Teste es auch mal mit anderen nicht-existenten Mount-Points. Was kommt da fuer ein Exit-Code zurueck?
Danke für den Tipp. Jetzt kommen wir dem Problem näher:
Das Dateisystem wird mit nofail gemountet. Problem ist: Ich will das nicht raus machen, weil systemd sonst ja den boot anhält, wenn die Platte nicht da ist. Scheinbar regelt mount das mit exit 0 um Systemd zu verarschen. IMHO ein böser Hack.
Habt ihr ne Idee wie man das besser lösen kann? Ich will das die Platte gemountet wird, sobald sie eingesteckt wird. Früher hätte ich sowas mit udev gemacht und hätte auch kein nofail gebraucht. Aber jetzt killt sowas den Systemd.
Also das ist schon alles so wie gedacht. Vielleicht doch ein Fehler im Script?
s.o.
rot: Moderator wanne spricht, default: User wanne spricht.

Benutzeravatar
heisenberg
Beiträge: 1679
Registriert: 04.06.2015 01:17:27

Re: Erfolg von mount

Beitrag von heisenberg » 14.04.2020 16:48:30

autofs?

Da wird sie zwar nicht eingehängt sobald sie eingesteckt wird, sondern sobald sie benutzt wird, aber vielleicht ist das ja auch ok...

bzgl. udev

Ich habe das zwar noch nicht mit systemd gemacht, aber mir scheint das geht:

https://www.tecmint.com/udev-for-device ... -in-linux/
https://wiki.archlinux.org/index.php/Udev
Wenn ich ein Problem gelöst habe, bekomme ich zur Belohnung ein neues, größeres Problem.

TomL
Beiträge: 5143
Registriert: 24.07.2014 10:56:59

Re: Erfolg von mount

Beitrag von TomL » 14.04.2020 16:54:55

wanne hat geschrieben: ↑ zum Beitrag ↑
14.04.2020 16:21:46
Ich habe in meinem Script in etwa sowas:

Code: Alles auswählen

mount /home/steam/ && echo OK
Und bin bis jetzt immer davon ausgegangen, dass das funktioniert. Jetzt die große Überraschung. Die passende HDD war nicht angeschlossen und siehe da: Das Script sagt trotzdem OK.
Ich würde jetzt ins Blaue schießen und sagen "absolut korrektes Verhalten". :lol: ... wobei ich mich natürlich auch total irren kann. Aber der Hinweis, dass es ein unvollständiges Mountstatement ist und somit einen fstab-Eintrag zugrunde legt, und weiterhin, dass für ein nicht zweifelsfrei vorhersehbares Medium vielleicht "nofail" in den fstab-mount-options enthalten sein könnte, ist m.M.n. der Return-Code 0 korrekt... eben auch dann, wenn nicht gemountet wurde.

Ich würde alternativ mal einen syntaktisch vollständigen und korrekten Mount im Terminal (also ohne fstab (und natürlich auch ohne nofail)) absetzen und mal gucken, wie da die Rückgabe ist, wenn die HD nicht angeschlossen ist.
Zuletzt geändert von TomL am 14.04.2020 17:02:27, insgesamt 1-mal geändert.
vg, Thomas

Benutzeravatar
Lord_Carlos
Beiträge: 5178
Registriert: 30.04.2006 17:58:52
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Dänemark

Re: Erfolg von mount

Beitrag von Lord_Carlos » 14.04.2020 16:59:28

Kannst du das mit einem systemd service loesen?

Code: Alles auswählen

╔═╗┬ ┬┌─┐┌┬┐┌─┐┌┬┐╔╦╗
╚═╗└┬┘└─┐ │ ├┤ │││ ║║
╚═╝ ┴ └─┘ ┴ └─┘┴ ┴═╩╝ rockt das Forum!

Benutzeravatar
heisenberg
Beiträge: 1679
Registriert: 04.06.2015 01:17:27

Re: Erfolg von mount

Beitrag von heisenberg » 14.04.2020 20:54:46

statt nofail kann man ja einfach noauto nehmen und dann per rc.local / systemd(type oneshot) mounten und den Exit-Status ignorieren.
Wenn ich ein Problem gelöst habe, bekomme ich zur Belohnung ein neues, größeres Problem.

Benutzeravatar
habakug
Moderator
Beiträge: 4239
Registriert: 23.10.2004 13:08:41
Lizenz eigener Beiträge: MIT Lizenz

Re: Erfolg von mount

Beitrag von habakug » 14.04.2020 21:00:39

Hallo,

man kann dem mount-Befehl bei der Arbeit zusehen:

Code: Alles auswählen

LIBMOUNT_DEBUG=0xffff mount [...]
Manchmal hilfts.

Gruss, habakug
( # = root | $ = user | !! = mod ) (Vor der PN) (Debianforum-Wiki) (NoPaste)

Benutzeravatar
Meillo
Moderator
Beiträge: 5873
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Erfolg von mount

Beitrag von Meillo » 14.04.2020 21:16:34

habakug hat geschrieben: ↑ zum Beitrag ↑
14.04.2020 21:00:39
man kann dem mount-Befehl bei der Arbeit zusehen:

Code: Alles auswählen

LIBMOUNT_DEBUG=0xffff mount [...]
Manchmal hilfts.
Danke fuer diesen Tipp! :THX:
Use ed(1) once in a while!

Benutzeravatar
Lord_Carlos
Beiträge: 5178
Registriert: 30.04.2006 17:58:52
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Dänemark

Re: Erfolg von mount

Beitrag von Lord_Carlos » 14.04.2020 21:18:40

Gerade das hier gefunden. Also einfach ein grep "/home/steam/" /proc/mounts

Systemd hat auch ein paar nette sachen: https://www.golinuxcloud.com/mount-file ... md-rhel-8/

Code: Alles auswählen

╔═╗┬ ┬┌─┐┌┬┐┌─┐┌┬┐╔╦╗
╚═╗└┬┘└─┐ │ ├┤ │││ ║║
╚═╝ ┴ └─┘ ┴ └─┘┴ ┴═╩╝ rockt das Forum!

Antworten