Was ist der Unterschied zwischen einer Volume-ID, einer Volume-Set-ID, einer logischen Volume-ID und einer File-Set-ID in UDF?

3431
derobert

Ich sehe, dass mkudffses Optionen für vier verschiedene Bezeichner gibt: das logische Volume ( --lvid), das Volume ( --vid), das Volume-Set ( --vsid) und der Dateisatzbezeichner ( --fsid). Es gibt jedoch keine Hinweise darauf, was diese bedeuten.

Also ging ich zu den UDF-Spezifikationen. Beginnend mit ISO / IEC 13346, auch bekannt als ECMA-167, finde ich Folgendes:

10.1.4 Volume Identifier (BP 24)

Dieses Feld muss eine Identifikation des Datenträgers enthalten.

14.1.10 Logical Volume Identifier (BP 112)

Dieses Feld gibt eine Identifikation des logischen Datenträgers an, auf dem der Dateisatz aufgezeichnet wird.

14.1.12 Dateisatzkennung (BP 304)

Dieses Feld muss eine Identifikation des Dateisatzes enthalten, der von diesem Dateisatzdeskriptor beschrieben wird.

Nun, das war nützlich.

Also habe ich die OSTA UDF Spec 1.02 ausprobiert, da dies die UDF-Version ist, die ich generieren möchte. Es hat nicht viel geholfen (obwohl es mich vor "festen oder trivialen Werten" gewarnt hat).

Ich habe die UDF 1.50-Spezifikation ausprobiert, die mir - in §4.1 - weiter vorsieht, dass vor der Anzeige dieser Werte eine OS-spezifische Transformation unter Verwendung von in §4.1.2.1 beschriebenen Algorithmen angewendet werden muss. Natürlich ist der nächste Abschnitt nach §4.1 §4.2, also viel Glück dabei. Außerdem ist der LogicalVolumeIdentifier "extrem wichtig für die Identifizierung logischer Datenträger, wenn sich mehrere Medien in einer Jukebox befinden. Der Name wird normalerweise dem Benutzer angezeigt."

Also, ich versuche die UDF 2.01-Spezifikation und jetzt weiß ich, dass sie inzwischen zumindest erkannt haben, dass es 4. 2 .2.1 ist, was zwar existiert, aber nicht hilft (es behandelt Dinge wie Zeichensätze).

Soweit ich das beurteilen kann:

  • Der Logical Volume Identifier wird dem Benutzer angezeigt (möglicherweise nur Jukeboxen). Es sollte also etwas Sinnvolles eingestellt werden, z. B. der Disc-Titel. Ich gehe davon aus, dass dies der Datenträgertitel ist, den Windows, Mac OS oder Nautilus anzeigen würden.
  • Die anderen sind nur dazu da, um Platz auf der Disc zu verschwenden und haben keine Beschreibung, wofür sie gedacht sind. Trotzdem sollte ich sie auf Werte setzen, die weder fest noch trivial sind. Möglicherweise sollte ich sie auf zufällige (dh nicht feste) Zeilen von Shakespeare (dh nicht trivial) setzen.

Oder noch besser: Wozu dienen die anderen Bereiche?

17
Verwenden Sie UUIDs, keine Shakespeare-Zeilen. Daniel Beck vor 12 Jahren 1
@DanielBeck: Nun, es gibt einen Hinweis über das VolumeSetIdentifier-Feld, das besagt, dass die ersten 16 eindeutig sein sollten, wobei die ersten 8 davon ein Zeitstempel sein sollten. Ich denke also, UUID ist nicht erlaubt, aber dann wieder Shakespeare ist es auch nicht. Ich mache mir jedoch Sorgen, dass UUIDs als "trivial" betrachtet werden können. :-P Ein ernsthafter Hinweis: Ich vermute, dass das Volume-Set-Material dem Volume-Set-Material in ISO9660, IOW, etwas ähnelt, das von niemandem verwendet wird, aber es wird trotzdem hinzugefügt. derobert vor 12 Jahren 0

4 Antworten auf die Frage

2
Nikolai

Dies sind einige nicht nützliche Strings, außer LVID .

Form mkudffs:

  • --lvid Geben Sie die ID des logischen Datenträgers an. Die angegebene Zeichenfolge wird in den folgenden Feldern festgelegt:
    • Logical Volume Identifier im Logical Volume Descriptor (Siehe Abbildung 15 in ECMA-167 )
    • Logical Volume Identifier in der Implementierung verwenden. (Siehe 2.2.7.2 in UDF 2.01 )
    • Logical Volume Identifier im Dateisatz-Deskriptor. (Siehe Abbildung 9 in ECMA-167 ) Dateisatz-Deskriptor. (Siehe 9 in [ECMA-167] [5]).
      Logical Volume Identifier wird in Windows als Datenträgerbezeichnung angezeigt.
  • --vid Geben Sie die Datenträger- ID an . Es legt givend string im Feld Volume Identifier im Primär Volume Descriptor fest. (Siehe 6 in ECMA-167 ). Maximale Länge 31 Byte. Standardwert "Linux UDF".
  • --vsid Geben Sie die ID des Volume-Sets an. Er legt die angegebene Zeichenfolge im Feld für das Volume-Set-Identifier im Primary Volume Desriptor fest. (Siehe 6 in ECMA-167 ). Maximale Länge 127 Bytes. Standardwert "Linux UDF".
    Volume Set Identifier kann von einigen Disk-Authoring-Programmen wie ImgBurn und MagicISO bearbeitet werden. Es gibt eine Identifikation des Volume-Sets an, dem das Volume angehört.
  • --fsid Geben Sie den Dateisatzbezeichner an . Es legt das Feld File Set Identifier im Dateisatz-Deskriptor fest. (Siehe 9 in ECMA-167 ). Maximale Länge 31 Byte. Standardwert "Linux UDF".
Ja, ich habe die Manpage und diese Abschnitte der Standards gelesen (schließlich habe ich sie in meiner Frage verlinkt) ... Die Frage ist, wozu diese Felder * gehören * und nicht, wie man sie setzt. derobert vor 9 Jahren 0
1
András Korn

Ich denke, das liegt ganz bei Ihnen. Ich würde sagen, die Felder sind dazu da, Unternehmensprozesse zu unterstützen. Eine Verwendung, die leicht in den Sinn kommt, ist die Verwendung der Volume-Set-ID für Dinge wie "monatliche vollständige Sicherung von FOO, 2015-12", und die Volume-ID könnte dann so etwas wie "Platte 1 von 42" sein. Oder Sie haben tatsächlich einen physischen Identifikator, z. B. einen Barcode, der auf der Festplatte aufgedruckt ist, und der Datenträgeridentifizierer kann diesen Wert enthalten (damit Sie den Datenträger entweder durch Einlesen in ein Laufwerk oder durch Zeigen eines Barcodelesers darauf identifizieren können) ).

Ich kann mir vorstellen, dass der Dateisatzbezeichner nützlich sein kann, wenn Sie eine Reihe von Dateien in das Dateisystem einfügen, die eine Art logischer Einheit (ein "Satz") bilden, aber nicht intuitiv ein "Volume" bilden. zum Beispiel "Mariah Carey .gifs 1994-1998" oder "Bobs High School Essays".

0
Elder Geek

Logisch gesehen enthalten diese Felder alle Daten, die einige Mitglieder (oder Mitglieder) des Ausschusses, die den Standard entwickelt und / oder modifiziert haben, für erforderlich halten. Nur weil jemand der Meinung ist, es sei eine Verschwendung von Speicherplatz auf der Platte, heißt das nicht, dass es keine oder mehrere Meinungen zu der Angelegenheit gab, als der Standard vereinbart wurde. Tatsächlich hielten ein oder mehrere Mitglieder des Ausschusses sie für nützlich oder für den einen oder anderen Zweck, den sie in den Standard aufgenommen hatten. Ich sage, alles, was nicht explizit in einer Norm definiert ist, kann interpretiert werden und kann daher entweder für beliebige Zwecke verwendet oder sicher ignoriert werden, bis es explizit durch die Norm definiert wird. Aus Sicht der Softwareerstellung muss "mkudffs" nicht definieren, wofür Sie diese Felder verwenden sollen.

0
WGRM

Ich denke, diese Werte orientieren sich an anderen Spezifikationen, die der Mediengenerator zu verallgemeinern versucht. In meinem Beispiel werde ich auf Linux verweisen, aber das bedeutet nicht, dass es nicht für Windows gilt. Diese Angaben. sind nur dort versteckt.

Führen Sie den folgenden cmd unter Linux aus und sehen Sie sich die Ausgabe an: blkid

/ dev / x: LABEL = "Windows" UUID = "?" TYPE = "ntfs" PARTLABEL = "Grunddatenpartition" PARTUUID = "?"

/ dev / y: LABEL = "Linux" UUID = "?" TYPE = "ext4" PARTLABEL = "Speicher" PARTUUID = "?"

Wie Sie sehen, gibt es für jedes 2 Beschreibungsfelder:

  • Trennwand
  • Dateisystem auf dieser Partition

In beiden Fällen ist die erste die von Menschen lesbare Beschreibung und die letzte die maschinelle Beschreibung. Genau wie im Domain Name System (DNS), da die Maschinenbeschreibung - die UUID - eindeutig sein muss. Wir können also über nx 2 x 2 Datenfelder für Partitionen sprechen. Da die optischen Medien jedoch nicht partitioniert werden, zählt das Rohmedium selbst als Partition. Das heißt, es gibt immer 2 x 2 = 4 Attribute. Versuchen wir, die UDF-Eigenschaften in das obige Beispiel einzufügen:

/ dev / x: LABEL = "LVID" UUID = "VID" TYPE = "UDF" PARTLABEL = "VSID" PARTUUID = "FSID"

Ich habe stundenlang gesucht und viele Artikel gelesen, konnte dies aber nicht bestätigen. Das ist also nur eine Annahme. Für die LVID ist dies jedoch durch Definition des Begriffs und durch Prüfung gewährleistet. Linux und Windows, letzteres mit WinCDemu, verwenden diese Eigenschaft als Bezeichnung für die Partition. Was für optische Medien das Medium selbst ist.

Es passt eigentlich ziemlich ordentlich, wirft aber eine Frage auf. Es gibt eine zusätzliche UUID-Eigenschaft, und ich neige dazu zu glauben, dass dies ein Implementierungsfehler ist. Weil ich einmal in diesem Netzwerk gelesen habe, dass dies später implementiert wurde, weil ppl. UDF-Medien konnten nicht nach UUID bereitgestellt werden. Es kann also ein Missverständnis der angegebenen Eigenschaftsfelder gewesen sein. Ich weiß nicht, wo die aktuelle UUID abgelegt wird, aber blkid liest diese als UUID. Ich weiß nicht, ob dies ein UDF-Treiber oder ein blkid-Problem ist. Vielleicht schreibt jemand eine Mail mit einem Hinweis an die entsprechende Person / Gruppe.