X-Git-Url: http://www.git.cypherpunks.ru/?a=blobdiff_plain;f=doc%2Fbundles.texi;h=df0b554c3094d673ef1d7caefaded598b958acc0;hb=bb7fe5e770586be9f44a8a7f3321a3139d5345bb;hp=a70e0235f2a1181f47b01e5222fa551668bf9fbd;hpb=6d771479c630cc44a3873ded16ce24f75aadf0fe;p=nncp.git diff --git a/doc/bundles.texi b/doc/bundles.texi index a70e023..df0b554 100644 --- a/doc/bundles.texi +++ b/doc/bundles.texi @@ -1,46 +1,49 @@ @node Bundles +@cindex bundles +@cindex tapes +@cindex streaming media @unnumbered Bundles -Usual @ref{nncp-xfer} command requires filesystem it can operate on. -That presumes random access media storage usage, like hard drives, USB -flash drives and similar. But media like CD-ROM and especially tape -drives are sequential by nature. You can prepare intermediate directory -for recording to CD-ROM disc, but that requires additional storage and -is inconvenient. Tape drive will require intermediate extract step too. +Usual @command{@ref{nncp-xfer}} command requires filesystem it can +operate on. That presumes random access media storage usage, like hard +drives, USB flash drives and similar. But media like CD-ROM and +especially tape drives are sequential by nature. You can prepare +intermediate directory for recording to CD-ROM disc/tape, but that +requires additional storage and is inconvenient. -Bundles, created with @ref{nncp-bundle} command are convenient -alternative to ordinary @command{nncp-xfer}. Bundle is just a collection -of @ref{Encrypted, encrypted packets}, stream of packets. It could be -sequentially streamed for recording and digested back. +Bundles, created with @command{@ref{nncp-bundle}} command are convenient +alternative to ordinary @command{@ref{nncp-xfer}}. Bundle is just a +collection of @ref{Encrypted, encrypted packets}, stream of packets. It +could be sequentially streamed for recording and digested back. @itemize @item They do not require intermediate storage before recording on either CD-ROM or tape drive. -@verbatim -% nncp-bundle -tx SOMENODE | cdrecord -tao - # record directly to CD -% nncp-bundle -tx SOMENODE | dd of=/dev/sa0 bs=512 # record directly to tape +@example +$ nncp-bundle -tx SOMENODE | cdrecord -tao - # record directly to CD +$ nncp-bundle -tx SOMENODE | dd of=/dev/sa0 bs=10240 # record directly to tape -% dd if=/dev/cd0 bs=2048 | nncp-bundle -rx # read directly from CD -% dd if=/dev/sa0 bs=512 | nncp-bundle -rx # read directly from tape -@end verbatim +$ dd if=/dev/cd0 bs=2048 | nncp-bundle -rx # read directly from CD +$ dd if=/dev/sa0 bs=10240 | nncp-bundle -rx # read directly from tape +@end example @item They do not require filesystem existence to deal with, simplifying administration when operating in heterogeneous systems with varying filesystems. No @command{mount}/@command{umount}, @command{zpool import}/@command{zpool export} and struggling with file permissions. -@verbatim -% nncp-bundle -tx SOMENODE | dd of=/dev/da0 bs=1M # record directly to +@example +$ nncp-bundle -tx SOMENODE | dd of=/dev/da0 bs=1M # record directly to # hard/flash drive -% dd if=/dev/da0 bs=1M | nncp-bundle -rx # read directly from drive -@end verbatim +$ dd if=/dev/da0 bs=1M | nncp-bundle -rx # read directly from drive +@end example @item This is the fastest way to record outbound packets for offline transmission -- sequential write is always faster, when no metainformation needs to be updated. -@item This is convenient to use with write-only/append-only storages, -just sending/appending new bundles. +@item This is convenient to use with append-only storages, just +sending/appending new bundles. @item Bundles could be repeatedly broadcasted in one-way transmission. @ref{Sync, Sync protocol} requires interactive connection, but bundles @@ -48,8 +51,11 @@ can contain mix of various recipients. @end itemize -Technically bundle is valid POSIX.1 -@url{http://www.freebsd.org/cgi/man.cgi?query=tar&sektion=5, tar archive}, +@pindex pax +@pindex tar +Technically bundle is valid POSIX.1-2001 +@url{https://pubs.opengroup.org/onlinepubs/9699919799/utilities/pax.html#tag_20_92_13_01, pax archive} with directory/files hierarchy identical to that is used in -@ref{nncp-xfer}. So bundle can be created by manual tar-ing of -@command{nncp-xfer} resulting directory too. +@command{@ref{nncp-xfer}}: @file{NNCP/RECIPIENT/SENDER/PACKET}. +So bundle can also be created by manual tar-ing of +@command{@ref{nncp-xfer}} resulting directory.