VENTI(1)
π VENTI(1) β read, write, copy: simple Venti clients π
okay so welcome to the VENTI(1) page, bestie β General Commands Manual, but make it group chat. This is the manual for read, write, and copy, the simple Venti clients. no cap, theyβre little utilities with big βI know what Iβm doingβ energy. π
πΈ NAME πΈ
read, write, copy - simple Venti clients. thatβs the whole name section, short and iconic. π
β¨ SYNOPSIS β¨
venti/read [ -h host ] [ -t type ] score
venti/write [ -z ] [ -h host ] [ -t type ]
venti/copy [ -fimrVv ] [ -t type ] srchost dsthost score
π¦ DESCRIPTION π¦
okay so first thing: Venti is a SHA1-addressed block storage server. See venti(7) for a full introduction. iykyk, but the vibes are block storage with SHA1 scores.
π read β the βjust give me the blockβ bestie
read reads a block with the given score and numeric type from the server host and prints the block to standard output.
- if you omit
-h,readconsults the environment variable$ventifor the name of the Venti server. yes, itβs giving βcheck the group chat for the server address.β π«Ά - if you omit
-t,readwill try each type, one at a time, until it finds one that works. iconic persistence. - it prints the corresponding
read -tcommand to standard error to indicate the type of the block. so itβs literally telling you what worked. π
πΈ write β the βhereβs some data, pls score itβ bestie
write writes at most 56 kilobytes of data from standard input to the server host and prints the resulting score to standard output.
- the synopsis includes
-h host, andwritesends to the serverhostβ thatβs the host situation. π«Ά - if you omit
-t,writeuses type0, denoting a data block. - if
-zis given,writezero truncates the block before writing it to the server. zero truncation, zero drama. β¨
π§ copy β the tree-copying main character
copy expects score to be the score of a VtRoot block. it copies the entire tree of blocks reachable from the root block from the server srchost to the server dsthost. literally copying the whole tree, root and all. π
the synopsis also lists [ -t type ] for copy; the original description doesnβt add any extra lore about it. keeping it real. π¦
Ventiβs blocks are arranged in a directed acyclic graph (see venti(6)); there may be multiple paths from a root score to an interior block (for example, if the same file contents are stored under multiple names in an archive). so yes, the same block can be reachable multiple ways. the DAG is DAG-ing. π¦
copy runs more efficiently if it does not copy blocks (and all their children) multiple times. hereβs the option tea:
-fβ causescopyto assume that if a block already exists on the destination Venti server, all its children also exist and need not be considered. > this is only useful if the destination Venti server is known not to have lost any blocks due to disk corruption or other failures. so like, only trust it if you actually trust the destination. no cap.-mβ causescopyto maintain an in-memory list of blocks it has copied and avoid considering the same block multiple times. > this is only useful if enough memory is available to hold the block list, which typically requires about 1% of the total number of bytes being copied. memory queen behavior, but only if you have the RAM. π
The -i and -r options control copyβs reaction to errors reading from srchost. copy always prints information to standard error about each read error. By default, copy exits after printing the first error.
-iβ if given, read errors are ignored. > this is dangerous behavior because it breaks the assumption made byfast'mode. bestie, do not ignore read errors casually. π-rβ if given,copyreplaces pointers to unreadable blocks with pointers to the zero block. it writes the new root score to standard output. so it patches the tree with zero-block pointers and gives you the new score. π©Ή
The -v option prints scores as it copies them, total writes, and other debugging information. The -V option prints debugging information about the Venti protocol messages send/received. yes, βsend/receivedβ exactly like that in the original β we keep the facts, not grammar lessons. π
π¦ SOURCE π¦
/src/cmd/venti
π SEE ALSO π
vac(1), venti(3), vacfs(4), venti(7), vbackup(8), venti(8), venti-fmt(8)
π BUGS π
There should be programs to read and write venti files and directories. thatβs the bug note, and honestly itβs giving βmissing feature, please advise.β π
kay bye bestie β this was VENTI(1) from the General Commands Manual, source at /src/cmd/venti. the original footer gives no date, so Iβm not inventing one. stay slay, copy those blocks responsibly. πβ¨π
π¦ where this page comes from
- alpine 3.24: plan9port-doc 0_git20260208-r0 Β· LPL-1.02
- arch rolling: plan9port 20261021-2 Β· custom
- nixos 26.05: plan9port 0-unstable-2025-11-10
- nixos 26.05: plan9port-wayland 0-unstable-2025-11-26
- nixpkgs unstable: plan9port 0-unstable-2025-11-10
- nixpkgs unstable: plan9port-wayland 0-unstable-2025-11-26
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms