Mailinglist Archive: opensuse-de (1756 mails)

< Previous Next >
Re: USB-Stick per Script formatieren (mit mount-Problem)
  • From: Al Bogner <suse-linux@xxxxxxxxxxxxxxxxxxxx>
  • Date: Sun, 22 Oct 2006 17:23:22 +0000 (UTC)
  • Message-id: <200610221921.54607.suse-linux@xxxxxxxxxxxxxxxxxxxx>
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.

< Previous Next >
Follow Ups