]> Cypherpunks.ru repositories - nncp.git/blob - doc/cmd/nncp-reass.texi
Add various documentation indices
[nncp.git] / doc / cmd / nncp-reass.texi
1 @node nncp-reass
2 @pindex nncp-reass
3 @section nncp-reass
4
5 @example
6 $ nncp-reass [options] [-dryrun] [-keep] [-dump] [-stdout] FILE.nncp.meta
7 $ nncp-reass [options] [-dryrun] [-keep] @{-all | -node NODE@}
8 @end example
9
10 Reassemble @ref{Chunked, chunked file} after @ref{nncp-toss, tossing}.
11
12 When called with @option{FILE} option, this command will reassemble only
13 it. When called with @option{-node} option, this command will try to
14 reassemble all @file{.nncp.meta} files found in @option{NODE}'s
15 @ref{CfgIncoming, incoming} directory. When called with @option{-all}
16 option, then cycle through all known nodes to do the same.
17
18 Reassembling process does the following:
19
20 @enumerate
21 @item Parses @ref{Chunked, @file{.nncp.meta}} file.
22 @item Checks existence and size of every @file{.nncp.chunkXXX}.
23 @item Verifies integrity of every chunk.
24 @item Concatenates all chunks, simultaneously removing them from filesystem.
25 @end enumerate
26
27 That process reads the whole data twice. Be sure to have free disk
28 space for at least one chunk. Decrypted chunk files as a rule are saved
29 in pseudo-random order, so removing them during reassembly process will
30 likely lead to filesystem fragmentation. Reassembly process on
31 filesystems with deduplication capability should be rather lightweight.
32
33 If @option{-dryrun} option is specified, then only existence and
34 integrity checking are performed.
35
36 If @option{-keep} option is specified, then no
37 @file{.nncp.meta}/@file{.nncp.chunkXXX} files are deleted during
38 reassembly process.
39
40 @option{-stdout} option outputs reassembled file to @code{stdout},
41 instead of saving to temporary file with renaming after. This could be
42 useful for reassembling on separate filesystem to lower fragmentation
43 effect, and/or separate storage device for higher performance.
44
45 @option{-dump} option prints meta-file contents in human-friendly form.
46 It is useful mainly for debugging purposes. For example:
47 @example
48 Original filename: testfile
49 File size: 3.8 MiB (3987795 bytes)
50 Chunk size: 1.0 MiB (1048576 bytes)
51 Number of chunks: 4
52 Checksums:
53     0: eac60d819edf40b8ecdacd0b9a5a8c62de2d15eef3c8ca719eafa0be9b894017
54     1: 013a07e659f2e353d0e4339c3375c96c7fffaa2fa00875635f440bbc4631052a
55     2: f4f883975a663f2252328707a30e71b2678f933b2f3103db8475b03293e4316e
56     3: 0e9e229501bf0ca42d4aa07393d19406d40b179f3922a3986ef12b41019b45a3
57 @end example
58
59 Do not forget about @ref{ChunkedZFS, possible} ZFS deduplication issues.