Question Dans UDF, quelle est la différence entre un identificateur de volume, un identificateur de volume, un identificateur de volume logique et un identificateur de fichier?


je vois ça mkudffs a des options pour quatre identifiants différents: le volume logique (--lvid), le volume (--vid), le volume défini (--vsid), et l'identifiant de l'ensemble de fichiers (--fsid). Cependant, il ne donne aucune indication sur ce que cela signifie.

Donc, je suis allé aux spécifications UDF. Commençant par ISO / IEC 13346 aka ECMA-167, Je trouve que:

10.1.4 Identificateur de volume (BP 24)

Ce champ doit spécifier une identification du volume.

14.1.10 Identificateur de volume logique (BP 112)

Ce champ doit spécifier une identification du volume logique sur lequel l'ensemble de fichiers est enregistré.

14.1.12 Identifiant de l'ensemble de fichiers (BP 304)

Ce champ doit spécifier une identification du jeu de fichiers décrit par ce descripteur de jeu de fichiers.

C'était utile.

Donc, j'ai essayé le OSTA UDF Spec 1.02, comme c'est la version UDF que j'essaie de générer. Cela n'a pas beaucoup aidé (même si cela m'a mis en garde contre les "valeurs fixes ou triviales").

J'ai essayé le Spécification UDF 1.50 qui me dit plus loin au §4.1 - qu'avant d'afficher ces valeurs, une transformation spécifique à l'OS utilisant des algorithmes décrits au § 4.1.2.1 doit être appliquée. Bien sûr, la section suivante après le § 4.1 est le § 4.2, donc bonne chance à ce sujet. En outre, LogicalVolumeIdentifier est "extrêmement important pour l'identification du volume logique lorsque plusieurs médias sont présents dans un jukebox. Le nom est généralement ce qui est affiché à l'utilisateur."

Donc, j'essaye le Spécification UDF 2.01, et maintenant je sais qu'au moins ils ont réalisé 4.2.2.1, qui existe, mais n’aide pas (il traite de choses comme des jeux de caractères).

Donc, pour autant que je sache:

  • L'identificateur de volume logique est ce qui est affiché à l'utilisateur (éventuellement uniquement des jukebox). Donc, il devrait être mis à quelque chose de significatif, par exemple, le titre du disque. Je suppose que c'est le titre du disque que Windows, Mac OS ou Nautilus afficherait.
  • Les autres n'existent que pour gaspiller de l'espace sur le disque, n'ayant aucune description réelle de ce qu'ils sont. Malgré cela, je devrais les définir sur des valeurs qui ne sont ni fixes ni triviales. Peut-être devrais-je simplement les définir au hasard (c'est-à-dire non fixes) à partir de Shakespeare (c'est-à-dire pas trivial).

Ou mieux encore: à quoi servent les autres champs?


16
2017-12-11 10:10


origine


Utilisez des UUID, pas des lignes Shakespeare. - Daniel Beck♦
@DanielBeck: Eh bien, il y a une note à propos du champ VolumeSetIdentifier, qui dit que les 16 premiers devraient être uniques, les 8 premiers étant un horodatage ... Donc je suppose que pour cela, l'UUID n'est pas autorisé, mais encore une fois Shakespeare non plus. Je crains cependant que les UUID puissent être considérés comme "triviaux". :-P Sur une note sérieuse, je soupçonne que le contenu de l'ensemble de volumes est similaire à la définition des volumes dans ISO9660, IOW, chose que personne n'utilise, mais le comité a ajouté quand même. - derobert


Réponses:


Ce sont des tas de chaînes inutiles, sauf LVID.

Formulaire mkudffs:

  • --lvid Spécifiez l'identificateur de volume logique. Il définit la chaîne donnée dans les champs suivants:
    • Identificateur de volume logique dans le descripteur de volume logique (voir la Figure 15 dans ECMA-167)
    • Identificateur de volume logique dans l'implémentation (Voir 2.2.7.2 dans UDF 2.01)
    • Identificateur de volume logique dans le descripteur d'ensemble de fichiers. (Voir Figure 9 dans ECMA-167) Descripteur d'ensemble de fichiers. (Voir Figure 9 dans [ECMA-167] [5]).
      Identificateur de volume logique affiché dans Windows en tant qu'étiquette de disque.
  • --vid  Spécifiez l'identificateur de volume. Il définit la chaîne givend sur le champ Identifiant du volume dans le descripteur de volume principal. (Voir Figure 6 dans ECMA-167). Longueur maximale 31 octets. Valeur par défaut "UDF Linux".
  • --vsid Spécifiez l'identifiant de l'ensemble de volumes. Il définit la chaîne donnée au champ identifiant de l'ensemble de volumes dans le descripteur de volume principal. (Voir Figure 6 dans ECMA-167). Longueur maximale 127 octets. Valeur par défaut "UDF Linux".
    Volume Set Identifier peut être modifié par certains programmes de création de disque tels que ImgBurn, MagicISO. Il spécifie une identification du jeu de volumes dont le volume est membre.
  • --fid Indiquez l'identifiant de l'ensemble de fichiers. Il définit le champ Identificateur de jeu de fichiers dans le descripteur d'ensemble de fichiers. (Voir Figure 9 dans ECMA-167). Longueur maximale 31 octets. Valeur par défaut "UDF Linux".

2
2018-04-15 06:35



Oui, j'ai lu la page de manuel et les sections des normes (après tout, je les ai liées dans ma question) ... La question est de savoir quels sont ces champs pour, pas comment les définir. - derobert


Je pense que c'est à vous de décider. Je dirais que les champs sont là pour soutenir les processus d'entreprise. Une des utilisations qui vous vient à l’esprit est d’utiliser l’identificateur de volume pour des choses telles que «sauvegarde complète mensuelle de FOO, 2015-12», et l’identificateur de volume pourrait alors être quelque chose comme «disque 1 sur 42». Ou peut-être aurez-vous un identifiant physique, par ex. un code à barres, imprimé sur le disque, et l'identifiant du volume peuvent contenir ce code (de sorte que vous puissiez identifier le disque en le lisant dans un lecteur ou en y pointant un lecteur de code à barres).

J'imagine que l'identifiant de l'ensemble de fichiers pourrait être utile lorsque vous mettez un tas de fichiers dans le système de fichiers qui forme une sorte d'unité logique (un "ensemble"), mais ils ne forment pas intuitivement un "volume"; par exemple, "Mariah Carey .gif 1994-1998" ou "Essais de lycée de Bob".


1
2018-01-13 21:11





Logiquement, ces champs existent tous pour contenir des données que certains membres (ou membres) du comité qui ont développé et / ou modifié la norme ont jugé nécessaire. Le simple fait que quelqu'un pense que c'est une perte de place sur le disque ne signifie pas qu'il n'y a pas eu une ou plusieurs opinions à ce sujet lorsque la norme a été acceptée. En fait, certains membres ou membres du comité les ont jugés suffisamment utiles dans un but ou un autre, ce qu’ils ont fait tout à fait dans la norme. Je dis que tout ce qui n'est pas explicitement défini dans une norme peut être interprété et peut donc être utilisé pour n'importe quel but ou ignoré en toute sécurité jusqu'à ce qu'il soit explicitement défini par la norme. Du point de vue de la création de logiciel, «mkudffs» n'a pas besoin de définir pour quoi utiliser ces champs, mais seulement un mécanisme pour vous permettre de les utiliser (ou de les utiliser en fonction de la perspective) comme bon vous semble. .


0
2017-08-03 07:05