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:  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:  "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:  "pid" as binary name for "kill --pid"
why:   too ugly, too obscure

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

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:    useless, nobody uses this command, head(1) is better

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

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

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

What:	deprecated_last(1)
Why:	nobody uses this implementation

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

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
