Provided by: udftools_2.1-1build1_amd64 bug


       udflabel — show or change UDF filesystem label


       udflabel [encoding-options] [block-options] [identifier-options] device [new-label]


       When  udflabel is invoked without identifier-options and without specifying new-label then
       it shows current label of UDF filesystem on device to standard output  terminated  by  new
       line.  Otherwise  it  updates  UDF filesystem (up to the revision 2.60) on device with new
       specified identifiers from identifier-options. Specifying new-label is  synonym  for  both
       --lvid and --vid, see section UDF LABEL AND UUID.


              Display the usage and the list of options.

       -b,--blocksize= block-size
              Specify  the  size  of  blocks in bytes. Valid block size for a UDF filesystem is a
              power of two in the range from 512  to  32768  and  must  match  a  device  logical
              (sector)  size. If omitted, udflabel tries to autodetect block size. First it tries
              logical (sector) size and then all valid block sizes.

       --vatblock= vat-block
              Specify the block location of the  Virtual  Allocation  Table.  Virtual  Allocation
              Table  is  present  only on UDF disks with Virtual Partition Map and must be at the
              last written/recorded disk block.

              If omitted, udflabel for optical disc tries to detect the last recorded block  with
              fallback  to the last block of block device or disk file image. In most cases, this
              fallback does not have to work and for disk file  images  with  Virtual  Allocation
              Table it is necessary to specify the correct location.

              Virtual Allocation Table contains Logical Volume Identifier (UDF Label).

              Force updating UDF disks without write support. Some media, like CD-ROM, DVD-ROM or
              BD-ROM are read-only. Other media, like CD-RW or DVD-RW,  are  write-once.  UDF  is
              designed  also  for such media where updating Label or Identifiers is not possible.
              But in some rare cases, it could make sense to try and overwrite the existing Label
              or  Identifiers  also  for UDF filesystem which has Access Type either Read-Only or
              Recordable (Write-Once).  This  is  possible  only  if  underlying  media  supports
              overwriting.  E.g.  UDF  image of CD-ROM stored on hard disk or Read-Only UDF image
              burned to DVD-RAM or BD-RE discs. Option --force ignores UDF Access Type and treats
              it as Overwritable.

              Not  really,  do  not  write to device. Just simulate and display what would happen
              with device. Useful for determining which UDF blocks would be overwritten.

       -u,--uuid= uuid
              Specify the UDF uuid. Must be exactly 16 hexadecimal lowercase digits and  is  used
              for  first  16  characters of --fullvsid option. Special value random generates new
              uuid from local time and a random number. See section UDF LABEL AND UUID.

       --lvid= new-logical-volume-identifier
              Specify the new Logical Volume Identifier.

       --vid= new-volume-identifier
              Specify the new Volume Identifier.

       --vsid= new-volume-set-identifier
              Specify the new 17.–127. character of Volume Set Identifier. See section UDF  LABEL
              AND UUID.

       --fsid= new-file-set-identifier
              Specify the new File Set Identifier.

       --fullvsid= new-full-volume-set-identifier
              Specify  the  new  Volume  Set  identifier.  Overwrite  previous  --uuid and --vsid
              options. See section UDF LABEL AND UUID.

              Treat identifier string options as strings  encoded  according  to  current  locale
              settings (default). Must be specified as the first argument.

       --u8   Treat identifier string options as strings encoded in 8-bit OSTA Compressed Unicode
              format, equivalent to Latin1 (ISO-8859-1). Must be specified as first argument.

       --u16  Treat identifier string options  as  strings  encoded  in  16-bit  OSTA  Compressed
              Unicode format, equivalent to UCS-2BE. Note that it is not possible to include zero
              byte in command line options, therefore any character which has at least  one  zero
              byte  cannot be supplied (this applies to all Latin1 characters). Must be specified
              as the first argument.

       --utf8 Treat identifier string options as strings encoded in UTF-8. Must be  specified  as
              the first argument.


       UDF  specification  does  not  say  anything  about a disk label but it describes that UDF
       Logical Volume Identifier is an extremely important field for media  identification  in  a
       jukebox as that field is displayed to the user. And based on this statement it is a common
       practice for the majority of UDF implementations to use UDF Logical Volume Identifier as a
       UDF disk label.

       UDF  specification  does  not  have  a  concept  of  disk UUID like other filesystems. But
       mandates that the first 16 characters of UDF Volume Set Identifier are unique, a non-fixed
       and  a  non-trivial  value.  Plus  first  eight characters are hexadecimal digits. Windows
       application format.exe and Mac OS X application  newfs_udf  are  known  to  violates  this
       requirement and set only the first 8 characters as unique (others are fixed). Since, there
       are still a lot of  UDF  implementations  which  use  in  the  first  16  characters  only
       hexadecimal  digits  and  all compliant UDF implementations have hexadecimal digits in the
       first 8 characters, the following algorithm for  generating  stable  UUID  was  informally
       chosen and now is used by udftools, util-linux, grub2 and other projects:

              0. If Volume Set Identifier has less then 8 characters then stop with empty UUID
              1. Take the first 16 bytes from UTF-8 encoded string of Volume Set Identifier
              2. If all bytes are hexadecimal digits then use their lowercase form as UUID
              3.  If  first  8 bytes are not all hexadecimal digits then convert those 8 bytes to
              their hexadecimal representation (resulting in 16 bytes) and use as UUID
              4. Otherwise, compose UUID from two 8 byte parts:
                     1. part: Use the lowercase form of the first 8 bytes (which are  hexadecimal
                     2.   part:   Convert  next  4  bytes  (9.–12.  pos.)  to  their  hexadecimal

       Which means that this generated UUID has always 16 hexadecimal lowercase digits.  In  most
       cases,  this  UUID  matches  case-insensitively  the first 16 characters of UDF Volume Set
       Identifier and for all disks compliant to the UDF specification the first 8 bytes of  UUID
       matches  case-insensitively  the  first 8 characters of UDF Volume Set Identifier. In that
       algorithm was chosen  UTF-8  encoding  because  it  is  the  only  commonly  used  Unicode
       transformation to bytes with fixed points in all hexadecimal digits.


       udflabel  returns  0  if successful, non-zero if there are problems like block device does
       not contain UDF filesystem or updating failed.


       udflabel is not able to set new Label, Logical Volume Identifier and File  Set  Identifier
       for  disks  with  Metadata  Partition  (used by UDF revisions higher then 2.01) or Virtual
       Allocation Table (used by Write Once media).

       udflabel prior to version 2.1 was not able to read Label correctly if the disk has Virtual
       Allocation Table stored outside of Information Control Block.


       Pali Rohár <>


       udflabel  is  part  of  the  udftools  package  since  version  2.0  and is available from


       mkudffs(8), pktsetup(8), cdrwtool(1), udfinfo(1), wrudf(1)