fstab neu scheiben
fstab neu scheiben
Hallo,
ich suche nach einer Möglichkeit, die fstab mittels eines Scriptes neu zu schreiben. Dabei sollen anstatt der Device Bezeichnungen (sda1, sdb1 ...) die UUIDs verwedndet werden. Mittels blkid bekomme ich alle Informationen, müsste diese nur geeignet in das Format der fstab umbauen.
Habt Ihr da eine passende Idee ???
Gruß
Thomas
ich suche nach einer Möglichkeit, die fstab mittels eines Scriptes neu zu schreiben. Dabei sollen anstatt der Device Bezeichnungen (sda1, sdb1 ...) die UUIDs verwedndet werden. Mittels blkid bekomme ich alle Informationen, müsste diese nur geeignet in das Format der fstab umbauen.
Habt Ihr da eine passende Idee ???
Gruß
Thomas
Re: fstab neu scheiben
Was soll das Script denn dabei?
Werde root, nimm einen Texteditor oder auch vi und trage die neuen Informationen ein.
Vorher ein Backup der fstab machen.
.......und willkommen im Debianforum........
Werde root, nimm einen Texteditor oder auch vi und trage die neuen Informationen ein.
Vorher ein Backup der fstab machen.
.......und willkommen im Debianforum........
Re: fstab neu scheiben
Hi,
naja, dass Script soll die Sache automatisieren, damit auch User, die keine Anhnung haben, wie sie die fstab ändern sollen dies einfach tun können. Zwischenzeitlich bin ich mit der Lösung schon ein Stück weiter. Mit:
blkid /dev/sda2 | awk '{print $2}'
bekomme ich:
UUID="76b8750d-dafd-429f-9ad2-15b2cf4dcac2"
jetzt muss ich nur noch die Anfürhungsstriche rausfiltern, wie geht das?
Noch besser wäre, wenn einfach die letzte Zeile aus blkid ausgewertet würde und ich nicht /dev/sda2 angeben müsste. Es geht darum, ein USB Laufwerk an ein Debian System anzuschließen und dann einen passenden Eintrag in der fstab zu generieren. Der Mountpoint steht fest: /music. Das File-System kann fat, ntfs, ext 2 oder ex3 drei sein.
Viele Grüße
naja, dass Script soll die Sache automatisieren, damit auch User, die keine Anhnung haben, wie sie die fstab ändern sollen dies einfach tun können. Zwischenzeitlich bin ich mit der Lösung schon ein Stück weiter. Mit:
blkid /dev/sda2 | awk '{print $2}'
bekomme ich:
UUID="76b8750d-dafd-429f-9ad2-15b2cf4dcac2"
jetzt muss ich nur noch die Anfürhungsstriche rausfiltern, wie geht das?
Noch besser wäre, wenn einfach die letzte Zeile aus blkid ausgewertet würde und ich nicht /dev/sda2 angeben müsste. Es geht darum, ein USB Laufwerk an ein Debian System anzuschließen und dann einen passenden Eintrag in der fstab zu generieren. Der Mountpoint steht fest: /music. Das File-System kann fat, ntfs, ext 2 oder ex3 drei sein.
Viele Grüße
Re: fstab neu scheiben
z.B. in awk direkt:
Code: Alles auswählen
awk '{gsub(/"/, "", $2); print $2}'
MfG GoKi
:wq
:wq
Re: fstab neu scheiben
So langsam komm ich auch dahinter, was du vorhast. Gibts dafür denn keine bessere Möglichkeit? Du hast vermutlich eine Installation ohne X und ohne weitere Eingriffsmöglichkeiten (bzw. ist unerwünscht), Wohnzimmer-PC oder sowas in der Art. Ein angeschlossenes Laufwerk soll automatisch gemountet werden, abhängig von seiner UUID. Du meinst, das Laufwerk soll einen festen Mountpunkt haben. Ist das ein allgemeiner Mountpunkt für alle möglichen Laufwerke? Wenn ja, ist die UUID relativ egal - da würde ich mich eher auf sd[abcd] festlegen.
Da ich dein Szenario nicht kenne, schreib ich mal ins Blinde: Schreib dir n Script für udev, das bei entsprechender Geräteklasse USB Disk mount -a ausführt. In die fstab schreibst du die mountpoints mit noauto, damit werden die zur Bootzeit ignoriert.
ODER
du schreibst das udev-Script so, dass es das Gerät selbst mountet. Ich halte das sogar für die bessere Lösung, wenn die Platten eher wechseln.
Da ich dein Szenario nicht kenne, schreib ich mal ins Blinde: Schreib dir n Script für udev, das bei entsprechender Geräteklasse USB Disk mount -a ausführt. In die fstab schreibst du die mountpoints mit noauto, damit werden die zur Bootzeit ignoriert.
ODER
du schreibst das udev-Script so, dass es das Gerät selbst mountet. Ich halte das sogar für die bessere Lösung, wenn die Platten eher wechseln.
Jesus saves. Buddha does incremental backups.
Windows ist doof, Linux funktioniert nicht • Don't break debian! • Wie man widerspricht
Windows ist doof, Linux funktioniert nicht • Don't break debian! • Wie man widerspricht
Re: fstab neu scheiben
Hi,
also, der Befehl:
bringt folgende Ausgabe:
jetzt müssen nur noch die " (Gänsefüsschen) weg!
Wie geht das???
also, der Befehl:
Code: Alles auswählen
blkid | sed '$!d' | awk '{print $3}'
Code: Alles auswählen
UUID="D6F2CE81F2CE64F9"
Wie geht das???
- whisper
- Beiträge: 3379
- Registriert: 23.09.2002 14:32:21
- Lizenz eigener Beiträge: GNU Free Documentation License
-
Kontaktdaten:
Re: fstab neu scheiben
Du verwendest doch bereits sed, dann solltest du doch damit kein Problem haben....
Code: Alles auswählen
|sed 's/"//g'
Alter ist übrigens keine Ausrede, nur Erfahrung, die sich stapelt.
Re: fstab neu scheiben
Got it:
bringt:
Das ist das, was ich wollte!!! Ich pipe jy jetzt 2x ist das notwendig?
Code: Alles auswählen
blkid | sed '$!d' | awk '{print $3}'|sed 's/"//g'
Code: Alles auswählen
UUID=D6F2CE81F2CE64F9
Re: fstab neu scheiben
gsub in awk, siehe oben.
Und das ganze nur auf der letzten Zeile der Ausgabe (Code in END Block verschieben).
Und das ganze nur auf der letzten Zeile der Ausgabe (Code in END Block verschieben).
Code: Alles auswählen
blkid | awk 'END {gsub(/"/, "", $2); print $2}'
MfG GoKi
:wq
:wq
Re: fstab neu scheiben
Klasse Formulierung!Clio hat geschrieben:Texteditor oder auch vi
Grüße, Günther
Re: fstab neu scheiben
freut mich, dass ich nich allein ignoriert werdeGoKi hat geschrieben:gsub in awk, siehe oben.
Und das ganze nur auf der letzten Zeile der Ausgabe (Code in END Block verschieben).Code: Alles auswählen
blkid | awk 'END {gsub(/"/, "", $2); print $2}'
Jesus saves. Buddha does incremental backups.
Windows ist doof, Linux funktioniert nicht • Don't break debian! • Wie man widerspricht
Windows ist doof, Linux funktioniert nicht • Don't break debian! • Wie man widerspricht
Re: fstab neu scheiben
Hi,
dass ist absolut geil!!! Ich habe mir damit fast die Ohrläppchen gebrochen! Vielen lieben Dank, dass hilft weiter!
Zur Aufklärung: Ich habe ein kleines Projekt: SqueezePlug. Hier geht es um einen Musik-Server auf einem PlugComputer und neuerdings auch auf der Seagate Dockstar. Mein Problem ist, dass ich es mit Leuten zu tun habe, die kein, aber auch gar kein Linux sprechen. (ich bin auch nicht wirklich toll, gebe mir aber Mühe, bzw. frage schlaue Leute wie Euch Das Problem ist, dass OS (Debian Squeeze) läuft auf einem USB-Stick. Dieser wird normalerweise als sda erkannt. Wenn man aber nun eine USB-Festplatte mit Mucke dransteckt, kann es sein, dass diese sda wird. Somit muss ich dafür sorgen, dass dieses nicht passieren kann. Deshalb will ich mit der UUID arbeiten und diese automatisch in die fstab eintragen. Mit diesem Befehl wird dieses jetzt gelingen, hoffe ich.
Ich bin begeistert, wie schnell ich hier die Lösung gefunden habe! Danke an Alle, die sich beteiligt haben. Wenn Ihr Euch für das Projekt interessiert, schaut doch mal hier: squeezeplug.de. Ich suche seit langem Leute, die mich im Projekt unterstützen wollen. insbesondere suche ich jemanden, der mich bei den Scripten unterstützen kann. Hätte da vielleicht jemand von Euch Lust???
Viele Grüße
Thomas
dass ist absolut geil!!! Ich habe mir damit fast die Ohrläppchen gebrochen! Vielen lieben Dank, dass hilft weiter!
Zur Aufklärung: Ich habe ein kleines Projekt: SqueezePlug. Hier geht es um einen Musik-Server auf einem PlugComputer und neuerdings auch auf der Seagate Dockstar. Mein Problem ist, dass ich es mit Leuten zu tun habe, die kein, aber auch gar kein Linux sprechen. (ich bin auch nicht wirklich toll, gebe mir aber Mühe, bzw. frage schlaue Leute wie Euch Das Problem ist, dass OS (Debian Squeeze) läuft auf einem USB-Stick. Dieser wird normalerweise als sda erkannt. Wenn man aber nun eine USB-Festplatte mit Mucke dransteckt, kann es sein, dass diese sda wird. Somit muss ich dafür sorgen, dass dieses nicht passieren kann. Deshalb will ich mit der UUID arbeiten und diese automatisch in die fstab eintragen. Mit diesem Befehl wird dieses jetzt gelingen, hoffe ich.
Ich bin begeistert, wie schnell ich hier die Lösung gefunden habe! Danke an Alle, die sich beteiligt haben. Wenn Ihr Euch für das Projekt interessiert, schaut doch mal hier: squeezeplug.de. Ich suche seit langem Leute, die mich im Projekt unterstützen wollen. insbesondere suche ich jemanden, der mich bei den Scripten unterstützen kann. Hätte da vielleicht jemand von Euch Lust???
Viele Grüße
Thomas
Re: fstab neu scheiben
Hi,
jetzt habe ich nur noch ein kleines Problem: HD mit Lable (unterste Zeile) machen natürlich ein Problem, wenn ich den 2. String auswerte. Wie kann ich sicher sein, dass immer die UUID ausgewertet wird?
Viele lieben Dank,
Gruß
Thomas
jetzt habe ich nur noch ein kleines Problem: HD mit Lable (unterste Zeile) machen natürlich ein Problem, wenn ich den 2. String auswerte. Wie kann ich sicher sein, dass immer die UUID ausgewertet wird?
Code: Alles auswählen
blkid | awk 'END {gsub(/"/, "", $2); print $2}'
Code: Alles auswählen
/dev/sda1: UUID="4f9f1ca9-748a-4e0c-b5cd-fb4436a70c09" TYPE="ext2"
/dev/sda2: UUID="76b8750d-dafd-429f-9ad2-15b2cf4dcac2" TYPE="swap"
/dev/sdb1: LABEL="blabla" UUID="7CBEBAFFBEBAB0CE" TYPE="ntfs"
Gruß
Thomas
Re: fstab neu scheiben
Mit gawk:
Code: Alles auswählen
awk 'END {match($0, /(UUID=)"([^"]+)"/, arr); print arr[1]arr[2]}'
MfG GoKi
:wq
:wq
Re: fstab neu scheiben
Hi,
bringt:
Was mach ich falsch?
Vielen Dank,
Gruß
Thomas
Code: Alles auswählen
blkid | awk 'END {match($0, /(UUID=)"([^"]+)"/, arr); print arr[1]arr[2]}'
Code: Alles auswählen
awk: line 1: syntax error at or near ,
Vielen Dank,
Gruß
Thomas
Re: fstab neu scheiben
Wie gesagt, das funktioniert in gawk, weil der verwendete Syntax eine GNU Erweiterung von awk ist.
Also kannst Du bspw. gawk installieren (über alternatives regeln, dass gawk benutzt wird um awk bereitzustellen, oder direkt gawk aufrufen).
Oder man passt den awk Code an Posix Standards an. Übungsaufgabe
Also kannst Du bspw. gawk installieren (über alternatives regeln, dass gawk benutzt wird um awk bereitzustellen, oder direkt gawk aufrufen).
Code: Alles auswählen
apt-get install gawk
MfG GoKi
:wq
:wq
Re: fstab neu scheiben
Leider kann ich gawk in squeeze nicht installieren:
???
Code: Alles auswählen
root@squeezeplug:~# apt-get install gawk
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package gawk
- whisper
- Beiträge: 3379
- Registriert: 23.09.2002 14:32:21
- Lizenz eigener Beiträge: GNU Free Documentation License
-
Kontaktdaten:
Re: fstab neu scheiben
Dann stimmt etwas in deiner sources.list nicht, denn das Paket ist in squeeze/Main !
z.b. deb http://ftp.de.debian.org/debian/ squeeze main contrib non-free
z.b. deb http://ftp.de.debian.org/debian/ squeeze main contrib non-free
Alter ist übrigens keine Ausrede, nur Erfahrung, die sich stapelt.
Re: fstab neu scheiben
Witzig:
meine sources list sah so aus:
Jetzt habe ich ergänzt:
und jetzt läuft es!!!
Offensichtlich unterscheiden sich die Amerikanischen von den deutschen Quellen?!
Vielen Dank!!!!
Gruß
Thomas
meine sources list sah so aus:
Code: Alles auswählen
deb http://ftp.us.debian.org/debian/ squeeze main contrib non-free
deb http://security.debian.org/ squeeze/updates main contrib non-free
deb http://download.webmin.com/download/repository sarge contrib
Code: Alles auswählen
deb http://ftp.de.debian.org/debian/ squeeze main contrib non-free
Offensichtlich unterscheiden sich die Amerikanischen von den deutschen Quellen?!
Vielen Dank!!!!
Gruß
Thomas