Création d'une image UDF sous Linux

15

Il est gênant d'imaginer qu'il n'y a pas d'outils intelligents sur Linux pour créer des images UDF, similaires à makeisofs, mais je n'en ai pas encore trouvé. L'outil genisoimagefonctionne pour créer des images de disque vidéo, mais il n'y a pas d'équivalent pour les données générales. Le jeu d'outils Linux est-il vraiment si déficient en ce qui concerne les outils de disque optique?

Je l' ai déjà vu ce et la réponse acceptée est tout simplement pas suffisante.

Gorgoth de vecteur
la source

Réponses:

9

linux-udf

Semble être le projet que vous recherchez, projet linux-udf . Le projet est mentionné dans le fichier udf.txt du noyau Linux .

En parcourant leur site sourceforge, le téléchargement est appelé udftools. En cherchant dans le référentiel de paquets de mon Fedora 19, j'ai trouvé ce paquet exact.

$ yum search udf | grep "^udf"
udftools.x86_64 : Linux UDF Filesystem userspace utilities
udftools-debuginfo.x86_64 : Debug information for package udftools

Contenu du RPM.

$ rpm -ql udftools 
/usr/bin/cdrwtool
/usr/bin/mkudffs
/usr/bin/pktsetup
/usr/bin/udffsck
/usr/bin/wrudf
/usr/share/doc/udftools-1.0.0b3
/usr/share/doc/udftools-1.0.0b3/AUTHORS
/usr/share/doc/udftools-1.0.0b3/COPYING
/usr/share/doc/udftools-1.0.0b3/ChangeLog
/usr/share/man/man1/cdrwtool.1.gz
/usr/share/man/man8/mkudffs.8.gz
/usr/share/man/man8/pktsetup.8.gz

En parcourant les outils répertoriés ci-dessus.

cdrwtool

La commande cdwrtool peut effectuer certaines actions sur un périphérique CD-R, CD-RW ou DVD-R. Il s'agit principalement de masquer le support, de le formater pour l'utiliser avec le périphérique packet-cd et d'appliquer un système de fichiers UDF.

mkudffs

mkudffs est utilisé pour créer un système de fichiers UDF sur un périphérique (généralement un disque). périphérique est le fichier spécial correspondant au périphérique (par exemple / dev / hdX). nombre de blocs est le nombre de blocs sur le périphérique. S'il est omis, mkudffs représente automatiquement la taille du système de fichiers.

pktsetup

Pktsetup est utilisé pour associer des périphériques de paquets à des périphériques de bloc de CD ou de DVD, afin que le périphérique de paquets puisse ensuite être monté et potentiellement utilisé comme système de fichiers en lecture / écriture. Cela nécessite la prise en charge du noyau pour le périphérique de paquets et le système de fichiers UDF.

  See: http://packet-cd.sourceforge.net/ ⟨⟩

Formatage d'un DVD UDF

Ce didacticiel montre comment formater un DVD à l'aide d'UDF, intitulé: Comment formater un DVD avec UDF .

Exemple

$ sudo mkudffs --media-type=dvd /dev/dvd
trying to change type of multiple extents

$ sudo dvd+rw-format /dev/dvd
* DVD±RW/-RAM format utility by , version 6.1.
* 4.7GB DVD+RW media detected.
* formatting 9.5\

$ sudo mkudffs /dev/dvd
start=0, blocks=16, type=RESERVED 
start=16, blocks=3, type=VRS 
start=19, blocks=237, type=USPACE 
start=256, blocks=1, type=ANCHOR 
start=257, blocks=16, type=PVDS 
start=273, blocks=1, type=LVID 
start=274, blocks=2294573, type=PSPACE 
start=2294847, blocks=1, type=ANCHOR 
start=2294848, blocks=239, type=USPACE 
start=2295087, blocks=16, type=RVDS 
start=2295103, blocks=1, type=ANCHOR 

Déterminer le type de média

$ sudo dvd+rw-mediainfo /dev/dvd

Faire une ISO

Je pense que vous rejetez trop rapidement genisoimage. Si vous regardez dans la page de manuel, il y a ce commutateur:

-udf   Include UDF filesystem support in the generated filesystem image.  
       UDF support is currently in alpha status and for this reason, it is 
       not possible to create UDF-only images.  UDF data structures are 
       currently coupled to  the  Joliet  structures,  so  there are many 
       pitfalls with the current implementation. There is no UID/GID 
       support, there is no POSIX permission support, there is no support 
       for symlinks.  Note that UDF wastes the space from sector ~20 to 
       sector 256 at  the beginning of the disc in addition to the space 
       needed for real UDF data structures.

Exemple

$ genisoimage -udf -o image.iso R/
I: -input-charset not specified, using utf-8 (detected in locale settings)
Using SPLIT000.HTM;1 for  R/x86_64-redhat-linux-gnu-library/2.13/plyr/html/splitter_a.html (splitter_d.html)
Using LIST_000.HTM;1 for  R/x86_64-redhat-linux-gnu-library/2.13/plyr/html/list_to_vector.html (list_to_dataframe.html)
Using INDEX000.HTM;1 for  R/x86_64-redhat-linux-gnu-library/2.13/plyr/html/indexed_array.html (indexed_df.html)
...
...
Using TEST_002.R;1 for  R/x86_64-redhat-linux-gnu-library/2.13/plyr/tests/test-split-labels.r (test-split-data-frame.r)
Total translation table size: 0
Total rockridge attributes bytes: 0
Total directory bytes: 24576
Path table size(bytes): 134
Max brk space used 43000
1141 extents written (2 MB)

Maintenant, si nous vérifions le .isofichier résultant .

$ file im.iso 
image.iso: # UDF filesystem data (version 1.5) 'CDROM                           '

Pour confirmer qu'il image.isos'agit bien d'un système de fichiers UDF, nous pouvons le monter juste pour vérifier.

$ sudo mount -o loop image.iso /mnt/
mount: /dev/loop0 is write-protected, mounting read-only

Maintenant, voyez comment il a été monté via la mountcommande.

$ mount | grep '/mnt'
/home/saml/image.iso on /mnt type udf (ro,relatime,utf8)

Les références

slm
la source
3
Merci. Toujours incroyablement primitif par rapport à ce que j'attendais pour un format vieux de 10 ans, mais votre réponse semble assez canonique, donc je vais devoir y faire face pour l'instant.
Vector Gorgoth