Am Sonntag, 22. Oktober 2006 18:02 schrieb David Haller: Hallo David,
Am Son, 22 Okt 2006, Al Bogner schrieb:
Am Sonntag, 22. Oktober 2006 01:51 schrieb David Haller:
Kann man alle Partitionen eines Devices unmounten, zB so umount /dev/sda
umount: /dev/sda: not mounted
Nein.
Ich dachte mir das ja ;-)
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; } $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. Würde diese Variable $1 entsprechen und müsste ich eine Variable definieren, die dann statt /hdd/ /sda/ enthält? Könnte man dafür auch nicht mount auswerten?
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 none /sys sysfs rw 0 0 udev /dev tmpfs rw 0 0 /dev/hda15 / xfs rw 0 0 /dev/hda15 /dev/.static/dev xfs rw 0 0 proc /proc proc rw,nosuid,nodev,noexec 0 0 usbfs /proc/bus/usb usbfs rw,nosuid,nodev,noexec 0 0 tmpfs /dev/shm tmpfs rw,nosuid,nodev,noexec 0 0 devpts /dev/pts devpts rw,nosuid,noexec 0 0 /dev/hda14 /boot reiserfs rw 0 0 ...
Du musst das /hdd/ natuerlich anpassen, und dir das richtige /dev/sd? merken. Vielleicht legtst du mit dem script, in dem du nach der ID_SERIAL suchst, in /var/run/ oder so eine Datei an, in der das jew. Device drinsteht bzw. das "Grunddevice" sd[a-z]...
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" . 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 ;-) 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. Entscheidend dabei ist, dass alles über das Script läuft und keine Systemanpassungen am Rechner erfolgen sollen. Auf einem Fremdrechner erhalte ich zwar das Root-PW, aber man hat keine Freude, wenn ich dort was ändern, eintragen will. Al PS: Auf das andere Posting antworte ich, wenn diese Sache hier geklärt ist.