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:  tailf
why:   "tail -f" is better nowadays, tailf has unfixed bugs

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

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:  "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:	reset
Why:	ncurses has better reset(1)

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

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
