Hallo, Am Son, 22 Okt 2006, Al Bogner schrieb:
Am Sonntag, 22. Oktober 2006 18:02 schrieb David Haller:
Hast du eine Idee, wie man das mit eventuellem umount sauber hinbekommt?
Ich hab' sowas fuer die Platte, die ich normal schlafen lege:
awk ' /^[ \t]*#/ { next; }
Ups. Der Teil gehoert zum Kommentare ueberspringen in /etc/fstab (die im anderen Teil des scripts verwendet wird ;)
$1 ~ /hdd/ { print "umount "$1; }' /proc/mounts | sh -x
Hmmh, ganz verstehe ich das nicht. Ich habe in meinem Script nun eine Variable, die zB "/dev/sda" enthält.
Ok.
Würde diese Variable $1 entsprechen und
Nein. $1 ist das erste Feld der aktuellen Zeile, also bei /proc/mounts das Device.
müsste ich eine Variable definieren, die dann statt /hdd/ /sda/ enthält?
Ja.
Könnte man dafür auch nicht mount auswerten?
Die Ausgabe von mount ist nicht zuverlaessig und /proc/mounts auszulesen spart auch noch einen Prozess ;)
Ich hoffe mal, das Format der /proc/mounts hat sich nicht geaendert. Hier z.B.: device MtPt fs opts ? ? /dev/hda1 /mnt/hda1 ext3 rw 0 0
Bei mir:
cat /proc/mounts rootfs / rootfs rw 0 0 /dev/hda15 /dev/.static/dev xfs rw 0 0 /dev/hda14 /boot reiserfs rw 0 0 ^^^^^^^^^^ => wird im awk zu $1 ...
Passt. [..]
Ich will das Scritp möglichst flexibel auf verschiedenen Rechnern laufen lassen. Daher soll alles im Script selbst sein.
Sobald ID_SERIAL abgeglichen ist, steht das Device in einer Variable "$USBGERAET" .
Ah gut.
Wenn ich nun mount oder /proc/mounts verwende, dann könnte man mit cut bis zum 1. Leerzeichen ausschneiden, Netzlaufwerke rauswerfen, dann nach der Variable "$USBGERAET" greppen und an xargs mit umount übergeben, oder?
cat /proc/mounts | cut -f1 -d" " | grep -v ":" | grep "sda" | xargs \ -r -n1 umount
Etwas in dieser Richtung finde ich nicht so kryptisch wie mit awk ;-)
Schau's dir an, awk ist einfacher: awk -v dev="$USBGERAET" '$1 ~ dev { print "umount "$1; }' /proc/mounts | sh -x
Ich überlege mir nun auch noch, ob das alles mit Userrechten zu schaffen ist, sodass der User aber bei den eingebauten HDs (hdx bzw. sdx, wenn SATA oder SCSI) nichts anstellen kann.
Sollte gehen. -dnh -- ... "See, I told you, they'd listen to Reason," Fisheye says, shutting down the whirling gun. -- Neal Stephenson, "Snow Crash", p. 361