udflabel(8) — Linux manual page

NAME | SYNOPSIS | DESCRIPTION | OPTIONS | UDF LABEL AND UUID | EXIT STATUS | LIMITATIONS | AUTHOR | AVAILABILITY | SEE ALSO | COLOPHON

UDFLABEL(8)                System Manager's Manual               UDFLABEL(8)

NAME top

       udflabel — show or change UDF filesystem label

SYNOPSIS top

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

DESCRIPTION top

       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.

OPTIONS top

   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 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
              Force updating UDF disks without write support or write
              protected UDF disks. Some UDF disks may have set write protect
              flag. 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. Also it ignores UDF
              SoftWriteProtect and HardWriteProtected flags.

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

   ENCODING OPTIONS
       --locale
              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 without leading Compression ID
              byte, which is 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 without leading Compression ID
              byte, which is equivalent to UTF-16BE. 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 LABEL AND UUID top

       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 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 top

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

LIMITATIONS top

       udflabel is not able to set new Label, Logical Volume Identifier and
       File Set Identifier for disks with Virtual Allocation Table (used by
       Write Once media).

       udflabel prior to version 2.2 was unable to print and process Unicode
       strings with code points above U+FFFF correctly. When option --utf8
       was specified then input strings were limited to 3-byte UTF-8
       sequences and when option --u16 was specified then input strings were
       limited just to UCS-2BE strings (subset of UTF-16BE).

       udflabel prior to version 2.2 ignored UDF SoftWriteProtect and
       HardWriteProtected flags and overwritten such disks without any
       notice.

       udflabel prior to version 2.2 was not able to set a new Label,
       Logical Volume Identifier and File Set Identifier for disks with
       Metadata Partition (used by UDF revisions higher then 2.01).

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

AUTHOR top

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

AVAILABILITY top

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

SEE ALSO top

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

COLOPHON top

       This page is part of the udftools (Linux tools for UDF filesystems
       and DVD/CD-R(W) drives) project.  Information about the project can
       be found at ⟨https://github.com/pali/udftools⟩.  If you have a bug
       report for this manual page, see
       ⟨https://github.com/pali/udftools/issues⟩.  This page was obtained
       from the project's upstream Git repository
       ⟨https://github.com/pali/udftools.git⟩ on 2020-08-13.  (At that time,
       the date of the most recent commit that was found in the repository
       was 2020-03-21.)  If you discover any rendering problems in this HTML
       version of the page, or you believe there is a better or more up-to-
       date source for the page, or you have corrections or improvements to
       the information in this COLOPHON (which is not part of the original
       manual page), send a mail to man-pages@man7.org

Commands                          udftools                       UDFLABEL(8)

Pages that refer to this page: udfinfo(1) , mkfs.udf(8) , mkudffs(8)