The following is a list of commands or features that are deprecated.  All
deprecated utils are in maintenance mode and we keep them in source tree for
backward compatibility only.

what:  hwclock --debug
why:   renamed to --verbose, and may be repurposed later.
since: v2.32

--------------------------

what:  hwclock -v for version
why:   renamed to -V
since: v2.20 (was repurposed to verbose in v2.32)

--------------------------

what:  column --columns
why:   renamed to --output-width
since: v2.30

--------------------------

what:  sfdisk --show-size
why:   this does not belong to fdisk, use "blockdev --getsz"

--------------------------

what:   sfdisk --Linux
why:    unnecessary option, only Linux (non-DOS mode) is supported

--------------------------

what:   sfdisk --unit
why:    unnecessary option, only 'S'ector unit is supported

--------------------------

what:   sfdisk --show-pt-geometry
why:    equal to --show-geometry for a long time

--------------------------

what:  "swapon --summary" output format
why:   does not provide control on output data formatting. The recommended solution
       is to use --show=<columns> in all scripts.

--------------------------

What:   mkfs
Why:    use filesystem specific mkfs.<type>.

--------------------------

What:   fdisk -s <device>
Why:    this does not belong to fdisk, use "blockdev --getsz"

--------------------------

What:   'udev' and 'list' blkid(8) output formats
Why:    udevd links libblkid directly; the 'list' is unnecessary, use lsblk(8)

--------------------------

What:   line(1) command
Why:    use the read(1) command

--------------------------

What:   pg(1) command
Why:    use less(1) or more(1)

--------------------------

What:   CHS stuff in fdisk (except SUN where are partitions addresses by cylinders only)
Why:    use addressing by sectors, CHS does not work with modern disks,
        confusing for users...

--------------------------

What:	losetup -s
Why:	the option -s is in collision with the Loop-AES losetup dialect that is used
        in some distributions. Use the long version (--show) only.

--------------------------

What:   losetup output format without --list

        deprecated format"

          # losetup -a
          /dev/loop0: []: (/home/fs-images/swap.img)
          /dev/loop1: []: (/home/fs-images/disk.img), offset 100

	new format:

          # losetup
          NAME       SIZELIMIT OFFSET AUTOCLEAR RO BACK-FILE
          /dev/loop0         0      0         0  0 /home/fs-images/swap.img
          /dev/loop1         0    100         0  0 /home/fs-images/disk.img

--------------------------

What:	tunelp
Why:	parallel port printers are probably almost extinct devices

----------------------------

The Single UNIX(TM) Specification, Version 2
Copyright (C) 1997 The Open Group

  Legacy utilities which are part util-linux package are:

	col
	line
	pg

  http://pubs.opengroup.org/onlinepubs/7908799/xcu/intro.html#tag_001_003_003
