diff options
author | John Ericson <John.Ericson@Obsidian.Systems> | 2020-09-01 18:01:48 +0000 |
---|---|---|
committer | John Ericson <John.Ericson@Obsidian.Systems> | 2020-09-01 18:01:48 +0000 |
commit | ef278d00f92cddba48a463a38107276b029dd66b (patch) | |
tree | be87cd383b0bf9610f63e45258614f99c6ed62c2 /doc/manual/command-ref/nix-hash.xml | |
parent | 8017fe7487ff545ac7be68bd7b339fffffa12b8f (diff) | |
parent | 6d7f7efb896c482ff6e7ce6c105e4dd3f7ee7218 (diff) |
Merge remote-tracking branch 'upstream/master' into single-ca-drv-build
Diffstat (limited to 'doc/manual/command-ref/nix-hash.xml')
-rw-r--r-- | doc/manual/command-ref/nix-hash.xml | 176 |
1 files changed, 0 insertions, 176 deletions
diff --git a/doc/manual/command-ref/nix-hash.xml b/doc/manual/command-ref/nix-hash.xml deleted file mode 100644 index 80263e18e..000000000 --- a/doc/manual/command-ref/nix-hash.xml +++ /dev/null @@ -1,176 +0,0 @@ -<refentry xmlns="http://docbook.org/ns/docbook" - xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns:xi="http://www.w3.org/2001/XInclude" - version="5.0" - xml:id="sec-nix-hash"> - -<refmeta> - <refentrytitle>nix-hash</refentrytitle> - <manvolnum>1</manvolnum> - <refmiscinfo class="source">Nix</refmiscinfo> - <refmiscinfo class="version"><xi:include href="../version.txt" parse="text"/></refmiscinfo> -</refmeta> - -<refnamediv> - <refname>nix-hash</refname> - <refpurpose>compute the cryptographic hash of a path</refpurpose> -</refnamediv> - -<refsynopsisdiv> - <cmdsynopsis> - <command>nix-hash</command> - <arg><option>--flat</option></arg> - <arg><option>--base32</option></arg> - <arg><option>--truncate</option></arg> - <arg><option>--type</option> <replaceable>hashAlgo</replaceable></arg> - <arg choice='plain' rep='repeat'><replaceable>path</replaceable></arg> - </cmdsynopsis> - <cmdsynopsis> - <command>nix-hash</command> - <arg choice='plain'><option>--to-base16</option></arg> - <arg choice='plain' rep='repeat'><replaceable>hash</replaceable></arg> - </cmdsynopsis> - <cmdsynopsis> - <command>nix-hash</command> - <arg choice='plain'><option>--to-base32</option></arg> - <arg choice='plain' rep='repeat'><replaceable>hash</replaceable></arg> - </cmdsynopsis> -</refsynopsisdiv> - - -<refsection><title>Description</title> - -<para>The command <command>nix-hash</command> computes the -cryptographic hash of the contents of each -<replaceable>path</replaceable> and prints it on standard output. By -default, it computes an MD5 hash, but other hash algorithms are -available as well. The hash is printed in hexadecimal. To generate -the same hash as <command>nix-prefetch-url</command> you have to -specify multiple arguments, see below for an example.</para> - -<para>The hash is computed over a <emphasis>serialisation</emphasis> -of each path: a dump of the file system tree rooted at the path. This -allows directories and symlinks to be hashed as well as regular files. -The dump is in the <emphasis>NAR format</emphasis> produced by <link -linkend="refsec-nix-store-dump"><command>nix-store</command> -<option>--dump</option></link>. Thus, <literal>nix-hash -<replaceable>path</replaceable></literal> yields the same -cryptographic hash as <literal>nix-store --dump -<replaceable>path</replaceable> | md5sum</literal>.</para> - -</refsection> - - -<refsection><title>Options</title> - -<variablelist> - - <varlistentry><term><option>--flat</option></term> - - <listitem><para>Print the cryptographic hash of the contents of - each regular file <replaceable>path</replaceable>. That is, do - not compute the hash over the dump of - <replaceable>path</replaceable>. The result is identical to that - produced by the GNU commands <command>md5sum</command> and - <command>sha1sum</command>.</para></listitem> - - </varlistentry> - - <varlistentry><term><option>--base32</option></term> - - <listitem><para>Print the hash in a base-32 representation rather - than hexadecimal. This base-32 representation is more compact and - can be used in Nix expressions (such as in calls to - <function>fetchurl</function>).</para></listitem> - - </varlistentry> - - <varlistentry><term><option>--truncate</option></term> - - <listitem><para>Truncate hashes longer than 160 bits (such as - SHA-256) to 160 bits.</para></listitem> - - </varlistentry> - - <varlistentry><term><option>--type</option> <replaceable>hashAlgo</replaceable></term> - - <listitem><para>Use the specified cryptographic hash algorithm, - which can be one of <literal>md5</literal>, - <literal>sha1</literal>, and - <literal>sha256</literal>.</para></listitem> - - </varlistentry> - - <varlistentry><term><option>--to-base16</option></term> - - <listitem><para>Don’t hash anything, but convert the base-32 hash - representation <replaceable>hash</replaceable> to - hexadecimal.</para></listitem> - - </varlistentry> - - <varlistentry><term><option>--to-base32</option></term> - - <listitem><para>Don’t hash anything, but convert the hexadecimal - hash representation <replaceable>hash</replaceable> to - base-32.</para></listitem> - - </varlistentry> - -</variablelist> - -</refsection> - - -<refsection><title>Examples</title> - -<para>Computing the same hash as <command>nix-prefetch-url</command>: -<screen> -$ nix-prefetch-url file://<(echo test) -1lkgqb6fclns49861dwk9rzb6xnfkxbpws74mxnx01z9qyv1pjpj -$ nix-hash --type sha256 --flat --base32 <(echo test) -1lkgqb6fclns49861dwk9rzb6xnfkxbpws74mxnx01z9qyv1pjpj -</screen> -</para> - -<para>Computing hashes: - -<screen> -$ mkdir test -$ echo "hello" > test/world - -$ nix-hash test/ <lineannotation>(MD5 hash; default)</lineannotation> -8179d3caeff1869b5ba1744e5a245c04 - -$ nix-store --dump test/ | md5sum <lineannotation>(for comparison)</lineannotation> -8179d3caeff1869b5ba1744e5a245c04 - - -$ nix-hash --type sha1 test/ -e4fd8ba5f7bbeaea5ace89fe10255536cd60dab6 - -$ nix-hash --type sha1 --base32 test/ -nvd61k9nalji1zl9rrdfmsmvyyjqpzg4 - -$ nix-hash --type sha256 --flat test/ -error: reading file `test/': Is a directory - -$ nix-hash --type sha256 --flat test/world -5891b5b522d5df086d0ff0b110fbd9d21bb4fc7163af34d08286a2e846f6be03</screen> - -</para> - -<para>Converting between hexadecimal and base-32: - -<screen> -$ nix-hash --type sha1 --to-base32 e4fd8ba5f7bbeaea5ace89fe10255536cd60dab6 -nvd61k9nalji1zl9rrdfmsmvyyjqpzg4 - -$ nix-hash --type sha1 --to-base16 nvd61k9nalji1zl9rrdfmsmvyyjqpzg4 -e4fd8ba5f7bbeaea5ace89fe10255536cd60dab6</screen> - -</para> - -</refsection> - - -</refentry> |