1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

USB Festplatten: Immer gleiches Device unter /dev erstellen

Dieses Thema im Forum "macOS & OS X" wurde erstellt von Kampfgnom, 19.10.09.

  1. Kampfgnom

    Kampfgnom Granny Smith

    Dabei seit:
    11.06.07
    Beiträge:
    14
    Hi,

    ich habe eine externe Festplatte - ein Sharkoon Quickport Pro. Die Festplatten, die ich darin benutze sind per Truecrypt verschlüsselt.

    Ich mounte die einzelnen Partitionen mit Hilfe von Shellscripten:

    $ /Applications/TrueCrypt.app/Contents/MacOS/TrueCrypt -k /Volumes/KEYS/key2 /dev/rdisk2s2


    Dummerweise bekommen die Festplatten ja jedes mal ein anderes /dev/rdiskxsy zugewiesen. Kann ich die Festplatten unter OS X irgendwie anders ansprechen?
    Unter Linux würde mir spontan der Umweg über /proc einfallen. Oder man macht sich eigene udev-rules.
    Aber sowas scheint es unter OS X ja nicht zu geben.


    Habt ihr Ideen?

    danke
     
  2. Rastafari

    Rastafari Golden Noble

    Dabei seit:
    10.03.05
    Beiträge:
    17.901
    In GPT Partitionstabellen hat jede Partition einen frei zuteilbaren deskriptiven Namen sowie eine UUID.
     
  3. Kampfgnom

    Kampfgnom Granny Smith

    Dabei seit:
    11.06.07
    Beiträge:
    14
    Das ist schön. Nur wie verwende ich die UUID?

    Das Dateisystem auf der Partition erhält zwar eine UUID, mit dieser kann ich aber noch lange nicht auf die Partition selber zugreifen:

    $ diskutil info /dev/disk2s2 #Die verschlüsselte Partition
    ...
    #Keine UUID
    ...
    $ diskutil info /Volumes/600GB/ #Die gemountete Partition
    ...
    Volume UUID: XXX
    ...


    Auch folgendes:
    $ /System/Library/Filesystems/hfs.fs/hfs.util -s /dev/disk2s2 #Fügt der Platte eine UUID hinzu
    $ /System/Library/Filesystems/hfs.fs/hfs.util -k /dev/disk2s2 #Liest die UUID aus
    $


    Hat jemand genauere Informationen? Ich komme irgendwie nicht weiter :(
     
  4. Rastafari

    Rastafari Golden Noble

    Dabei seit:
    10.03.05
    Beiträge:
    17.901
    Die UUID des HFS+ Dateisystems kannst du nicht verwenden.
    Denn intelligenterweise hast du sie ja mit verschlüsselt.

    Die UUID der GPT-Partition könntest du benutzen.
    (An die ist aber nicht unbedingt einfach ranzukommen, und keiner kann garantieren dass sie sich bei kleineren Änderungen der Tabelle nicht doch mal unabsichtlich ändert. Die Spezifikation verlangt nur dass sie tatsächlich "unique" bleibt, aber "Tools" wie gparted verstehen darunter nur, bei jedem Piffkas eine neue Zufallszahl zu generieren.)

    Benutze einfach das GPT-Disklabel, also den deskriptiven Klartext-Namen, den du lesen, setzen und nutzen kannst wie immer du willst (hat absolut nichts mit dem Volume-Namen zu tun).
    Code:
    [size="-1"][COLOR="DimGray"]# auslesen (ganze Tabelle):[/COLOR]
    gpt -r show -l [COLOR="Blue"]<device>[/COLOR]
    [COLOR="DimGray"]# beliebig setzen:[/COLOR]
    gpt label -i [COLOR="DarkGreen"]<numer. Index>[/COLOR] -l [COLOR="Purple"]<Name, bis 32 Zeichen>[/COLOR] [COLOR="Blue"]<device>[/COLOR][/size]
    
    Sollte kein Problem bereiten, das im Shellskript zu verwenden. Ein Spaziergang.
     
  5. Kampfgnom

    Kampfgnom Granny Smith

    Dabei seit:
    11.06.07
    Beiträge:
    14
    Ich glaube ich stelle mich echt blöde an. Ich bitte dies zu entschuldigen o_O

    Das GPT-Disklabel erlaubt mir doch immernoch nicht herauszufinden welche diskxsy das USB Device nun unter /dev bekommen hat, oder?

    Ich KÖNNTE natürlich für jedes Device gpt aufrufen und nachgucken, ob die gewünschte Partition auf ihm liegt. Aber das ist doch sicher nicht die vorgeschlagene Lösung, oder?

    Achja: Danke schonmal soweit :)
     
    #5 Kampfgnom, 20.10.09
    Zuletzt bearbeitet: 20.10.09
  6. Rastafari

    Rastafari Golden Noble

    Dabei seit:
    10.03.05
    Beiträge:
    17.901
    Klar doch.

    Aber klar doch. Wo ist das Problem damit?
    (Wenn du etwas clever bist, benutzt du als Namen den gleichen String, der auch als UUID des gemounteten Volumes angezeigt wird, das hilft künftige Verwechslungen zu vermeiden.)
    Beispiel:
    Code:
    [SIZE="-1"]suchstring="12345678-ABCD-ABCD-ABCD-1234567890AB";
    kommando="/Applications/TrueCrypt.app/Contents/MacOS/TrueCrypt";
    switches="-k";
    ziel="/Volumes/KEYS/key2";
    [COLOR="DimGray"]# Alle Geräte vom Typ "disk" durchlaufen[/COLOR]
    for diskdevice in /dev/disk* ; do
          [COLOR="DimGray"]# Alle Namen mit angehängter Partitionsnummer ignorieren[/COLOR]
        [[ $diskdevice == *[[:digit:]]s[[:digit:]]* ]] && continue;
          [COLOR="DimGray"]# Partitionstabelle lesen und gültige GPT-Einträge ausfiltern,
          #   evtl. Fehlermeldungen dabei unterdrücken, dann
          #   nach dem Suchstring erneut filtern, die Ergebniszeile merken
          # Obacht, bei der/den internen HDs braucht das "gpt" root-Rechte[/COLOR]
        memo=$( gpt -r show -l $diskdevice 2>/dev/null | grep "GPT part" | grep "$suchstring" );
          [COLOR="DimGray"]# Indexnummer der Partition ausschneiden[/COLOR]
        memo=$( echo $memo | cut -f 3 -d " " );
          [COLOR="DimGray"]# Ergebnis nicht leer? -->
          #     Mount ausführen und Schleife beenden
          # sonst -->  neuer Durchlauf, nächstes Gerät[/COLOR]
        [ -n "$memo" ]  &&
            "$kommando" "$switches" "$ziel" "${diskdevice}s${memo}"  &&
                break;
    done; [/SIZE]
    
     
  7. Kampfgnom

    Kampfgnom Granny Smith

    Dabei seit:
    11.06.07
    Beiträge:
    14
    Wow danke für die Mühe. Sogar mit fertigem Code :)

    Das spart mir das Bash-erneut-erlernen. Alle paar Monate ein paar Zeilen Bash zu schreiben, reicht nicht aus, um es wirklich zu beherrschen ;)


    Ob das ganze funktioniert, kann ich erst heute Abend sagen. Aber es sieht ja erstmal gut aus.



    PS: Werden auf diese Art nicht auch die CDs abgefragt? Sprich: Wenn ich eine CD im Laufwerk habe fängt sie bei jedem Aufruf an zu drehen?
     
  8. Rastafari

    Rastafari Golden Noble

    Dabei seit:
    10.03.05
    Beiträge:
    17.901
    Leider ja. Um das zu vermeiden, wirds aber deutlich aufwendiger.
     
  9. Kampfgnom

    Kampfgnom Granny Smith

    Dabei seit:
    11.06.07
    Beiträge:
    14
    Works like a charm :)

    Vielen Dank nochmal.

    Ich habe sehr selten mal CDs im Laufwerk und kann daher dieses sehr kleine Manko übersehen :)
     

Diese Seite empfehlen