Provided by: udftools_2.0-2_amd64 bug

NAME

       udflabel - show or change UDF filesystem label

SYNOPSIS

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

DESCRIPTION

       When udflabel is invoked without identifier-options and without specifying new-label then it show current
       label of UDF filesystem on device to standard output terminated by new  line.  Otherwise  it  update  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.

OPTIONS

   GENERAL OPTIONS
       -h,--help
              Display the usage and the list of options.

   BLOCK OPTIONS
       -b,--blocksize= block-size
              Specify the size of blocks in bytes. Valid block size for a UDF filesystem  is  power  of  two  in
              range  from 512 to 32768 and must match a device logical (sector) size. If omitted, udflabel tries
              to autodetect block size. 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 is necessary to specify correct location.

              Virtual  Allocation  Table  on  disks  with UDF revisions higher then 1.50 contains Logical Volume
              Identifier (UDF Label).

       --force
              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  overwrite  existing Label or Identifiers also for UDF filesystem which has Access Type either
              Read-Only or Recordable  (Write-Once).  This  is  possible  only  if  underlaying  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 treat it as Overwritable.

       -n,--no-write
              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.

   IDENTIFIER OPTIONS
       -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
              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.

   ENCODING OPTIONS
       --locale
              Treat identifier string options as strings encoded according to current locale settings (default).
              Must be specified as 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 first argument.

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

UDF LABEL AND UUID

       UDF  specification  does  not  say  anything  about  a  disk  label  but describe that UDF Logical Volume
       Identifier is 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 majority of UDF implementations to
       use UDF Logical Volume Identifier as a UDF disk label.

       UDF specification does not have 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). Because there are still 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 lowercase form of the first 8 bytes (which are hexadecimal digits)
                     2. part: Convert next 4 bytes (9.-12. pos.) to their hexadecimal representation

       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.

EXIT STATUS

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

LIMITATIONS

       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). Also is not able to read Label correctly if disk has Virtual Allocation Table stored outside
       of Information Control Block.

AUTHOR

       Pali Rohár <pali.rohar@gmail.com>

AVAILABILITY

       udflabel  is   part   of   the   udftools   package   since   version   2.0   and   is   available   from
       https://github.com/pali/udftools/.

SEE ALSO

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