Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

disklabel(8) [mojave man page]

disklabel(8)						    BSD System Manager's Manual 					      disklabel(8)

NAME
disklabel -- manipulate and query an Apple Label disk label SYNOPSIS
disklabel -create disk-device [-msize=size] [property=value] [...] disklabel -status disk-device disklabel -properties disk-device [property[=value]] [...] disklabel -destroy disk-device DESCRIPTION
The disklabel utility manipulates ``Apple Label'' partition metadata. ``Apple Label'' partitions allow for a disk device to have a consis- tent name, ownership, and permissions across reboots, even though uses a dynamic pseudofilesystem for /dev. The ``Apple Label'' partition uses a set of metadata (as a plist) in a reserved area of the partition. This metadata describes the owner, name, and so forth. When -create is used, the -msize argument can specify the size of metadata area; the default is 128Kbytes. The default size unit is bytes, but the following suffixes may be used to multiply by the given factor: ``b'' (512), ``k'' (1024), ``m'' (1048576), and ``g'' (1073741824). Although any key-value pair can be specified for the properties, certain keys are used by the system: owner-uid The user (as either a string or numeric value) to own the device. owner-gid The group (as either a string or numeric value) associated with the device. owner-mode The permissions (as a numeric value) for the device. dev-name The name for the device. If the owner-uid and owner-gid properties are given as strings, the utility will attempt to look up the names (as users or groups, as appro- priate), and will store the numeric values in the metadata. If it cannot find the names, and the values are not given as numbers, it will print an error, and not store the key/value pairs in the metadata. The owner-mode property may be given in decimal, or in octal by using a preceding ``0'' (e.g., ``0666''). Any property may be forced to be treated as a string by enclosing it in double-quotation marks; bear in mind that shell escapes will probably be necessary in this sitation. The -properties directive can print out all keys (if no arguments are given), a requested set of keys (if a list of key names is given), or can modify (or add) keys (if a key-value pairs are given). also maintains a checksum of the metadata; the -status directive verifies this checksum. EXAMPLES
The following example will create a device with 1MByte of metadata area, owned by fred, with a device name of fred, and be writable by fred: disklabel -create /dev/rdisk1s1 -msize=1M owner-uid=fred dev-name=fred owner-mode=0644 The following example will then print out the key-value pairs from the above: disklabel -properties /dev/rdisk1s1 SEE ALSO
pdisk(8) BSD
September 3, 2004 BSD

Check Out this Related Man Page

DISKLABEL(9)						   BSD Kernel Developer's Manual					      DISKLABEL(9)

NAME
disklabel, readdisklabel, writedisklabel, setdisklabel, bounds_check_with_label -- disk label management routines SYNOPSIS
char * readdisklabel(dev_t dev, void (*strat)(struct buf *), struct disklabel *lp, struct cpu_disklabel *clp); int writedisklabel(dev_t dev, void (*strat)(struct buf *), struct disklabel *lp, struct cpu_disklabel *clp); int setdisklabel(struct disklabel *olp, struct disklabel *nlp, u_long openmask, struct cpu_disklabel *clp); int bounds_check_with_label(struct buf *bp, struct disklabel *lp, int wlabel); DESCRIPTION
This collection of routines provides a disklabel management interface to kernel device drivers. These routines are classified as machine- or architecture-dependent because of restrictions imposed by the machine architecture and boot-strapping code on the location of the label, or because cooperation with other operating systems requires specialized conversion code. readdisklabel() attempts to read a disklabel from the device identified by dev, using the device strategy routine passed in strat. Note that a buffer structure is required to pass to the strategy routine; it needs to be acquired and parameterized for the intended I/O operation, and disposed of when the operation has completed. Some fields in the disklabel passed in lp may be pre-initialized by the caller in order to meet device driver requirements for the I/O operation initiated to get to the disklabel data on the medium. In particular, the field ``d_secsize'', if non-zero, is used by readdisklabel() to get an appropriately sized buffer to pass to the device strategy routine. Unspeci- fied fields in lp should be set to zero. If the medium does not contain a native disklabel that can be read in directly, readdisklabel() may resort to constructing a label from other machine-dependent information using the provided buffer passed in the clp argument. If a disk label can not be found or constructed, a string containing an approximated description of the failure mode is returned. Otherwise the NULL string is returned. writedisklabel() stores disk label information contained in the disk label structure given by lp on the device identified by dev. Like readdisklabel(), it acquires and sets up an I/O buffer to pass to the strategy routine strat. writedisklabel() may elect to do a machine- dependent conversion of the native disk label structure (using the buffer pointed at by clp), to store the disk label onto the medium in a format complying with architectural constraints. writedisklabel() returns 0 on success and EINVAL if the disk label specifies invalid or inconvertible values. Otherwise, any error condition reported by the device strategy routine in the buffer's ``b_error'' field is returned. setdisklabel() checks a proposed new disk label passed in nlp for some amount of basic sanity. This includes a check on attempts to change the location, or reduce the size, of an existing disk partition that is currently in use by the system. The current disposition of the disk partitions is made available through olp and openmask, which provide, respectively, the existing disk label and a bit mask identifying the partitions that are currently in use. Failure to pass on ``basic sanity'', results in a EINVAL return value, while a vetoed update of the partition layout is signaled by a EBUSY return value. Otherwise, 0 is returned. bounds_check_with_label() is used to check whether a device transfer described by bp to the device identified by dev, is properly contained within a disk partition of the disk with label lp. If this check fails, bounds_check_with_label() sets the buffer's ``b_error'' field to EINVAL, sets the B_ERROR flag in ``b_flags'', and returns -1. If the argument wlabel is zero, and the transfer is a write operation, a check is done if the transfer would overwrite (a portion of) the disklabel area on the medium. If that is the case, EROFS is set in ``b_error'', the B_ERROR flag is set in ``b_flags'', and -1 is returned. Note that wlabel should be set to a non-zero value if the intended operation is expected to install or update the disk label. Programs that intend to do so using the raw device interface should notify the driver by using a DIOCWLABEL ioctl function. SEE ALSO
disklabel(5), disklabel(8) BSD
December 26, 1996 BSD
Man Page