Man Linux: Main Page and Category List

NAME

       dact - compress or expand a file or stream

SYNOPSIS

       dact  [  -dsfcvlniCHOShVNa  ]  [-b size]  [-e algo]  [-m file] [-o file] [-u url]
       [-p url] [-M command] [-D desc] [-I algo] [-U file] [-E cipher] [file ...]

DESCRIPTION

       DACT reduces input files by attempting to compress each  block  of  the
       file  with  several  different  algorithms and selects the best one for
       each block.

OPTIONS

       -d     Decompress the file (or stdin, if no file  is  given),  removing
              the extension if it has a valid one.

       -s     Display  statistics  about  the  file,  such as: Magic number of
              file, DACT version file was compressed with, Block size used  to
              compress  file,  Compressed  file  size,  Original  file’s size,
              Compression ratio (uncompressed to compressed), File’s  original
              name, CRCs (if available).

       -f     Force  bad and unsafe things to happen.  Can be combined to make
              even worse  things  happen.   One  ‘-f’  allows  overwriting  of
              existing  files, two ‘-f’ allows you to ignore bad magic and CRC
              check fails.

       -c     Send output to stdout, this will allow you to force DACT to send
              compressed  output to a terminal or result of compressing a file
              to a pipe.

       -v     Increase verbosity, can be combined to increase verbosity a lot.
              Currently,  only  up  to 3 makes sense.  One ‘-v’ displays a bar
              graph.  Two ‘-v’ displays a bar  graph  and  block  information.
              Three  ‘-v’  displays  a  bar  graph  and  detailed  compression
              statistics per block.

       -l     List compression algorithms available.

       -n     Toggle use of CRCs.   This  option  is  especially  useful  when
              combined  with  the network capabilities of DACT.  It allows you
              to create a compressed file with only the header pointing  to  a
              web  page  that  contains the real DACT file (which normally has
              its CRCs checked against the compressed header to ensure they’re
              the  same  file),  with  this option the files do not have to be
              from the same  source  (i.e.,  you  can  have  an  updated  copy
              automatically extend itself.)

       -i     Read  input  from  standard  input instead of /dev/tty.  This is
              used to read user supplied information like encryption keys  and
              passwords  from  standard  input instead of the more appropriate
              method of opening "/dev/tty."

       -C     Complain  when  compression  errors  occur.   When  a  block  is
              selected,  it  is  tested to ensure that it decompresses back to
              the original source.  If it fails, the algorithm  is  not  used,
              with this option you are informed of the failure.

       -H     Write  only  header  (no  data).   This  option  is  useful  for
              distributing archives that need  only  reside  on  the  internet
              someplace.

       -O     Toggle  writing  original file name in the DACT header. This has
              no real use that I know of.

       -S     Use speed-size as a  metric  rather  than  size.   This  is  not
              implemented  yet.   This  will  make  DACT  create  an optimized
              compressed file, balancing speed of decompression with size.

       -h     Give usage synopsis.

       -V     Display DACT version.

       -N     Upgrade DACT.  This option will fetch the latest binary from the
              internet  and place it in $HOME/.dact/ as dact.bin.  If you have
              ‘binary_check on’ in your dact.conf file, DACT  will  check  for
              this file and use it.  If you have Debian and run ‘dact -N’   as
              root the Debian  upgrade  procedure  will  upgrade  your  entire
              system.

       -a     DACT  modules.   This  option will fetch the latest modules from
              the internet and place them in $HOME/.dact/  in  a  subdirectory
              corresponding to your Operating System and CPU Architecture.

       -b size
              Use  the  specified  block  size to compress the file.  The size
              parameters is in bytes.

       -e num Exclude an algorithm from being used.  This option is useful  if
              you  know  your  target will not be able to decompress a certain
              algorithm (you can get their numbers from the ‘-l’ option.)

       -m file
              Load another config file.  This option will attempt to load  the
              specified  file  in addition to the normal files, the options in
              this file will supersede other options.

       -o file
              Alternate output.  This option sends output to a file instead of
              INFILE.dct.  The file can also be a URL or ’-’ for standard out.

       -u url This option will encode an URL in the compressed file’s  header,
              this  URL  will be tried (and CRCs checked) before attempting to
              decompress the data in the actual file.

       -p url URLs in DACT can have variables in them that  will  be  expanded
              when  network  access  is  required, this allows you to test the
              results of  that  extrapolation  easily.   Variables  and  their
              values are:
                  @@OSNM@@        OS Name (linux, freebsd, sunos, etc)
                  @@OSVR@@        OS version (2.2.x, 4.2, 5.8, etc)
                  @@OSVS@@        OS version (short) (2.2, 4.2, 5.8, etc)
                  @@ARCH@@        Arch (i386, sparc64, sun4u, sun4m, etc)
                  @@DIST@@        If OSNM=Linux, distribution of Linux.
                  @@FILE@@        Name of compressed file.
                  @@DTVR@@        Version of DACT (maj.min.rev)
                  @@DTVS@@        Version of DACT (short) (maj.min)
                  @@PASS@@        Prompt for Password
                  @@USER@@        Prompt for Username
                  @@ATSN@@        Put an ‘@’
                example:
                  dact                                                      -p
              http://www.rkeene.org/devel/dact/precompiled/dact-@@OSNM@@-@@OSVS@@-@@ARCH@@.bin
                  dact:     http://www.rkeene.org/devel/dact/precompiled/dact-
              linux-2.4-i586.bin

       -M command
              This option executes a command from the command line  as  if  it
              appeared in "dact.conf".

       -D desc
              Encode   the  description  specified  into  the  header  of  the
              compressed file.

       -I num Use only 1 algorithm (and uncompressed as a  fall-back),  useful
              if  you want to limit yourself to a certain type of compression.

       -U file
              Encode the specified file into  the  header  of  the  compressed
              file.   This  file will be searched (line-by-line) for a working
              URL to download compressed content from.  See also ‘-u.’

       -E cipher
              Enable  encryption  using  the  specified  algorithm,  different
              algorithms use different authentication methods.

FILES

         $HOME/.dact/
         $HOME/.dact/dact.conf
         /etc/dact.conf

SEE ALSO

       gzip(1), bzip2(1), mcrypt(3)

AUTHOR

       Roy Keene <dact@rkeene.org>