man(1) Manual page archive


     ICHECK(8)                                               ICHECK(8)

     NAME
          icheck, dcheck, ncheck - file system consistency check

     SYNOPSIS
          /etc/icheck [ option ... ] filesystem ...

          /etc/dcheck [ option ... ] filesystem ...

          /etc/ncheck [ option ... ] filesystem ...

     DESCRIPTION
          These programs perform consistency checks on file systems.
          For normal file system maintenance, see fsck(8). Common
          options are

          -B   The file system is bitmapped.  If filesystem is a spe-
               cial file, this option is set automatically from the
               minor device number.

          -i number ...
               Report only on specified inode numbers (dcheck and
               ncheck only).

          Icheck examines each filesystem, builds a list of used
          blocks, and compares this list against the free list main-
          tained on the file system.  The normal output of icheck
          includes a report of

               The total number of files and the numbers of regular,
               directory, block special and character special files.

               The total number of blocks in use and the numbers of
               single-, double-, and triple-indirect blocks and direc-
               tory blocks.

               The number of free blocks.

               The number of blocks missing; i.e. not in any file nor
               in the free list.

          Other icheck options are

          -s   Ignore the free list and reconstruct a new one by
               rewriting the super-block of the file system.  The file
               system should be dismounted while this is done; if this
               is not possible (for example if the root file system
               has to be salvaged) care should be taken that the sys-
               tem is quiescent.  The words in the super-block which
               indicate the size of the free list and of the i-list
               are believed.  If the super-block has been curdled

     ICHECK(8)                                               ICHECK(8)

               these words will have to be patched.  The normal output
               reports are suppressed.

          -b number ...
               Report each appearance of the selected block numbers in
               a file or on the free list.

          -d   Report each duplicate block.

          -m   Report each missing block.

          -e   Print at most one diagnostic per file; useful for badly
               curdled file systems.

          Dcheck reads the directories in each filesystem and compares
          the link count in each inode with the number of directory
          entries by which it is referenced.

          Ncheck generates a list of pathname vs i-number for each
          named filesystem. Other ncheck options are

          -a   Report `.'  and `..', which are normally ignored.

          -s   Report only special files, and files with set-userid or
               set-groupid mode; helpful in finding security breaches.

     SEE ALSO
          filsys(5), chuck(8), fsck(8), clri(8)

     DIAGNOSTICS
          For duplicate blocks and bad blocks (which lie outside the
          file system) icheck announces the difficulty, the i-number,
          and the kind of block involved.  If a read error is encoun-
          tered, the block number of the bad block is printed and
          icheck considers it to contain 0.  `Bad freeblock' means
          that a block number outside the available space was encoun-
          tered in the free list.  `Dups in free' means that blocks
          were found in the free list which duplicate blocks either in
          some file or in the earlier part of the free list.

          When a file turns up for which the link-count and the number
          of directory entries disagree, dcheck reports the relevant
          facts.  Allocated files which have 0 link-count and no
          entries are also listed.  The only dangerous situation
          occurs when there are more entries than links; if entries
          are removed, so the link-count drops to 0, the remaining
          entries point to thin air.  They should be removed.  When
          there are more links than entries, or there is an allocated
          file with neither links nor entries, some disk space may be
          lost but the situation will not degenerate.

          When the filesystem structure is improper, ncheck prints

     ICHECK(8)                                               ICHECK(8)

          `??'  to denote the `parent' of a parentless file.  A path-
          name beginning with `...'  denotes a loop.

     BUGS
          Extraneous diagnostics may be produced if these commands are
          applied to active file systems.
          They believe even preposterous super-blocks and consequently
          can get core images.
          Ncheck's report is in no useful order, and probably should
          be sorted.  Ncheck fails to report the root inode.