Man Linux: Main Page and Category List

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 )

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.

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