Provided by: zeroinstall-injector_1.6-1ubuntu1_all bug

NAME

       0store — manage the implementation cache

SYNOPSIS

       0store add DIGEST DIRECTORY

       0store add DIGEST ARCHIVE [ EXTRACT ]

       0store audit [ DIRECTORY ... ]

       0store copy DIRECTORY [ DIRECTORY ]

       0store find DIGEST

       0store list

       0store manifest DIRECTORY [ ALGORITHM ]

       0store optimise [ CACHE ]

       0store verify ( DIGEST | DIRECTORY )

       0store manage

DESCRIPTION

       0store  provides  access  to  the  low-level  implementation cache. Normally, the cache is
       updated automatically using 0launch(1).

ADD

       To add a directory to the store (makes a copy):

       0store add sha256=XXX directory

       To add an archive to the store:

       0store add sha256=XXX archive.tgz

       To add a subdirectory of an archive to the store:

       0store add sha256=XXX archive.tgz subdir

       The actual digest is calculated and compared to the given one. If they  don't  match,  the
       operation is rejected.

AUDIT

       Verifies  every  implementation  in  each of the given cache directories, or in all of the
       default cache directories if no arguments are given. This will detect any  packages  which
       have  been  tampered  with  since  they  were  unpacked.  If 0store itself could have been
       modified by an attacker, mount the suspect file-system on a  known-good  machine  and  run
       that machine's 0store on the mounted cache directory.

       See the "verify" command below for details of the verification performed on each package.

COPY

       To copy an implementation (a directory with a name in the form "algorithm=value"), use the
       copy function. This is similar to performing a normal recursive directory copy followed by
       a 0store verify to check that the name matches the contents. E.g.:

       0store            copy            ~someuser/.cache/0install.net/implementations/sha256=XXX
       /var/cache/0install.net/implementations/

FIND

       To find the path of a stored item:

       0store find sha256=XXX

LIST

       See the list of implementation caches currently configured:

       0store list

       To add directories to this list, add  them  to  your  'implementation-dirs'  configuration
       file.

MANAGE

       To open a window showing the contents of the cache:

       0store manage

       You  can use this to delete versions of programs you no longer need. However, this doesn't
       remove any launchers you added (trying to launch the program will prompt you  to  download
       the missing files again). For that, try:

       0desktop --manage

MANIFEST

       To generate the manifest for a directory structure:

       0store manifest DIRECTORY [ALGORITHM]

       The  manifest  lists  every  file and directory in the tree, along with the digest of each
       file, thus uniquely identifying that particular set of files.   After  the  manifest,  the
       last line gives the digest of the manifest itself.

       This  value  is  needed  when  creating  feed  files.  However,  the 0publish command will
       automatically calculate the required digest for you and add it to a  feed  file.  See  the
       packager's guide on the Zero Install web site for details.

       Supported  algorithms are 'sha1' (supported by all versions), 'sha1new' (requires injector
       0.20 or later) and 'sha256' (requires injector  0.20  or  later  AND  the  Python  hashlib
       module).

OPTIMISE

       To hard-link duplicate files together to save space:

       0store optimise [CACHE]

       This     reads    in    all    the    manifest    files    in    the    cache    directory
       (~/.cache/0install.net/implementations by default) and looks for  duplicates  (files  with
       the same permissions, modification time and digest).  When it finds a pair, it deletes one
       and replaces it (atomically) with a hard-link to the other.

       Implementations using the old 'sha1' algorithm are not optimised.

VERIFY

       To check that an item is stored correctly:

       0store verify /path/to/sha256=XXX

       This calculates the manifest of the directory and  checks  that  its  digest  matches  the
       directory's  name.  It also checks that it matches the digest of the .manifest file inside
       the directory. If the .manifest doesn't correspond to the current tree, it displays a list
       of the differences (in unified diff format).

COMMAND-LINE OPTIONS

       -h, --help
              Show the built-in help text.

       -v, --verbose
              More verbose output. Use twice for even more verbose output.

       -V, --version
              Display version information.

FILES

       ~/.cache/0install.net/implementations
              Cached implementations, indexed by manifest digest.

       ~/.config/0install.net/injector/implementation-dirs
              List of system cache directories, one per line.

LICENSE

       Copyright (C) 2010 Thomas Leonard.

       You  may  redistribute  copies  of  this program under the terms of the GNU Lesser General
       Public License.

BUGS

       Please report bugs to the developer mailing list:

       http://0install.net/support.html

AUTHOR

       The Zero Install Injector was created by Thomas Leonard.

SEE ALSO

       0alias(1), 0launch(1), 0store-secure-add(1)

       The Zero Install web-site:

       http://0install.net