10STORE(1)                                                            0STORE(1)
2
3
4

NAME

6       0store — manage the implementation cache
7
8

SYNOPSIS

10       0store add DIGEST DIRECTORY
11
12       0store add DIGEST ARCHIVE [ EXTRACT ]
13
14       0store audit [ DIRECTORY ... ]
15
16       0store copy DIRECTORY [ DIRECTORY ]
17
18       0store find DIGEST
19
20       0store list
21
22       0store manifest DIRECTORY [ ALGORITHM ]
23
24       0store optimise [ CACHE ]
25
26       0store verify ( DIGEST | DIRECTORY )
27
28       0store manage
29
30

DESCRIPTION

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

ADD

37       To add a directory to the store (makes a copy):
38
39       0store add sha256=XXX directory
40
41
42       To add an archive to the store:
43
44       0store add sha256=XXX archive.tgz
45
46
47       To add a subdirectory of an archive to the store:
48
49       0store add sha256=XXX archive.tgz subdir
50
51
52       The actual digest is calculated and compared to the given one. If  they
53       don't match, the operation is rejected.
54
55

AUDIT

57       Verifies  every  implementation in each of the given cache directories,
58       or in all of the default cache directories if no arguments  are  given.
59       This  will detect any packages which have been tampered with since they
60       were unpacked.  If  0store  itself  could  have  been  modified  by  an
61       attacker, mount the suspect file-system on a known-good machine and run
62       that machine's 0store on the mounted cache directory.
63
64
65       See the "verify" command below for details  of  the  verification  per‐
66       formed on each package.
67
68

COPY

70       To  copy  an implementation (a directory with a name in the form "algo‐
71       rithm=value"), use the copy function. This is similar to  performing  a
72       normal  recursive  directory  copy followed by a 0store verify to check
73       that the name matches the contents. E.g.:
74
75       0store  copy   ~someuser/.cache/0install.net/implementations/sha256=XXX
76       /var/cache/0install.net/implementations/
77
78

FIND

80       To find the path of a stored item:
81
82       0store find sha256=XXX
83
84

LIST

86       See the list of implementation caches currently configured:
87
88       0store list
89
90       To add directories to this list, add them to your 'implementation-dirs'
91       configuration file.
92
93

MANAGE

95       To open a window showing the contents of the cache:
96
97       0store manage
98
99       You can use this to delete versions of programs  you  no  longer  need.
100       However,  this doesn't remove any launchers you added (trying to launch
101       the program will prompt you to download the missing files  again).  For
102       that, try:
103
104       0desktop --manage
105
106

MANIFEST

108       To generate the manifest for a directory structure:
109
110       0store manifest DIRECTORY [ALGORITHM]
111
112
113       The manifest lists every file and directory in the tree, along with the
114       digest of each file, thus uniquely identifying that particular  set  of
115       files.  After the manifest, the last line gives the digest of the mani‐
116       fest itself.
117
118
119       This value is needed when creating feed files.  However,  the  0publish
120       command  will  automatically  calculate the required digest for you and
121       add it to a feed file. See the packager's guide on the Zero Install web
122       site for details.
123
124       Supported  algorithms are 'sha1' (supported by all versions), 'sha1new'
125       (requires injector 0.20 or later) and 'sha256' (requires injector  0.20
126       or later AND the Python hashlib module).
127
128

OPTIMISE

130       To hard-link duplicate files together to save space:
131
132       0store optimise [CACHE]
133
134
135       This   reads   in  all  the  manifest  files  in  the  cache  directory
136       (~/.cache/0install.net/implementations by default) and looks for dupli‐
137       cates  (files with the same permissions, modification time and digest).
138       When it finds a pair, it deletes one and replaces it (atomically)  with
139       a hard-link to the other.
140
141
142       Implementations using the old 'sha1' algorithm are not optimised.
143
144

VERIFY

146       To check that an item is stored correctly:
147
148       0store verify /path/to/sha256=XXX
149
150       This  calculates  the  manifest  of  the  directory and checks that its
151       digest matches the directory's name. It also checks that it matches the
152       digest  of  the  .manifest  file inside the directory. If the .manifest
153       doesn't correspond to the current tree, it displays a list of the  dif‐
154       ferences (in unified diff format).
155
156

COMMAND-LINE OPTIONS

158       -h, --help
159              Show the built-in help text.
160
161
162       -v, --verbose
163              More verbose output. Use twice for even more verbose output.
164
165
166       -V, --version
167              Display version information.
168
169

FILES

171       ~/.cache/0install.net/implementations
172              Cached implementations, indexed by manifest digest.
173
174
175       ~/.config/0install.net/injector/implementation-dirs
176              List of system cache directories, one per line.
177
178

LICENSE

180       Copyright (C) 2010 Thomas Leonard.
181
182
183       You  may redistribute copies of this program under the terms of the GNU
184       Lesser General Public License.
185
186

BUGS

188       Please report bugs to the developer mailing list:
189
190       http://0install.net/support.html
191
192

AUTHOR

194       The Zero Install Injector was created by Thomas Leonard.
195
196

SEE ALSO

198       0alias(1), 0launch(1), 0store-secure-add(1)
199
200       The Zero Install web-site:
201
202       http://0install.net
203
204
205
206Thomas Leonard                       2010                            0STORE(1)
Impressum