* Manual updates.
* Documented nix-{pack,unpack}-closure.
This commit is contained in:
parent
4ad6fb7ea3
commit
e2eed05224
6 changed files with 110 additions and 11 deletions
|
@ -8,7 +8,8 @@ XSLTPROC = $(xsltproc) $(xmlflags) \
|
||||||
|
|
||||||
man1_MANS = nix-env.1 nix-build.1 nix-store.1 nix-instantiate.1 \
|
man1_MANS = nix-env.1 nix-build.1 nix-store.1 nix-instantiate.1 \
|
||||||
nix-collect-garbage.1 nix-push.1 nix-pull.1 \
|
nix-collect-garbage.1 nix-push.1 nix-pull.1 \
|
||||||
nix-prefetch-url.1 nix-channel.1
|
nix-prefetch-url.1 nix-channel.1 \
|
||||||
|
nix-pack-closure.1 nix-unpack-closure.1
|
||||||
|
|
||||||
FIGURES = figures/user-environments.png
|
FIGURES = figures/user-environments.png
|
||||||
|
|
||||||
|
|
|
@ -3,11 +3,6 @@
|
||||||
|
|
||||||
<title>Introduction</title>
|
<title>Introduction</title>
|
||||||
|
|
||||||
<!--
|
|
||||||
<epigraph><para><quote>The number of Nix installations in the world
|
|
||||||
has grown to 5, with more expected.</quote></para></epigraph>
|
|
||||||
-->
|
|
||||||
|
|
||||||
<para>Nix is a system for the deployment of software. Software
|
<para>Nix is a system for the deployment of software. Software
|
||||||
deployment is concerned with the creation, distribution, and
|
deployment is concerned with the creation, distribution, and
|
||||||
management of software components (<quote>packages</quote>). Its main
|
management of software components (<quote>packages</quote>). Its main
|
||||||
|
|
|
@ -74,6 +74,14 @@
|
||||||
<title>nix-prefetch-url</title>
|
<title>nix-prefetch-url</title>
|
||||||
<xi:include href="nix-prefetch-url.xml" />
|
<xi:include href="nix-prefetch-url.xml" />
|
||||||
</section>
|
</section>
|
||||||
|
<section>
|
||||||
|
<title>nix-pack-closure</title>
|
||||||
|
<xi:include href="nix-pack-closure.xml" />
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
<title>nix-unpack-closure</title>
|
||||||
|
<xi:include href="nix-unpack-closure.xml" />
|
||||||
|
</section>
|
||||||
</appendix>
|
</appendix>
|
||||||
|
|
||||||
<xi:include href="troubleshooting.xml" />
|
<xi:include href="troubleshooting.xml" />
|
||||||
|
|
64
doc/manual/nix-pack-closure.xml
Normal file
64
doc/manual/nix-pack-closure.xml
Normal file
|
@ -0,0 +1,64 @@
|
||||||
|
<refentry xmlns="http://docbook.org/ns/docbook"
|
||||||
|
xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||||
|
|
||||||
|
<refnamediv>
|
||||||
|
<refname>nix-pack-closure</refname>
|
||||||
|
<refpurpose>pack the closure of a store path into a single file that
|
||||||
|
can be unpacked with
|
||||||
|
<command>nix-unpack-closure</command></refpurpose>
|
||||||
|
</refnamediv>
|
||||||
|
|
||||||
|
<refsynopsisdiv>
|
||||||
|
<cmdsynopsis>
|
||||||
|
<command>nix-pack-closure</command>
|
||||||
|
<arg choice='plain' rep='repeat'><replaceable>paths</replaceable></arg>
|
||||||
|
</cmdsynopsis>
|
||||||
|
</refsynopsisdiv>
|
||||||
|
|
||||||
|
|
||||||
|
<refsection><title>Description</title>
|
||||||
|
|
||||||
|
<para>The command <command>nix-pack-closure</command> packs the
|
||||||
|
contents of the store paths <replaceable>paths</replaceable> and
|
||||||
|
<emphasis>all their dependencies</emphasis> into a single file, which
|
||||||
|
is written to standard output. (That is, it
|
||||||
|
<emphasis>serialises</emphasis> <replaceable>paths</replaceable>.)
|
||||||
|
The output can then be unpacked into the Nix store of another machine
|
||||||
|
using <command>nix-unpack-closure</command>.</para>
|
||||||
|
|
||||||
|
<para>Together, <command>nix-pack-closure</command> and
|
||||||
|
<command>nix-unpack-closure</command> provide a quick and easy way to
|
||||||
|
deploy a package to a different machine. However, as the output of
|
||||||
|
<command>nix-pack-closure</command> tends to be rather large (since it
|
||||||
|
contains all dependencies), it’s not very efficient.
|
||||||
|
<command>nix-push</command> and <command>nix-pull</command> are more
|
||||||
|
efficient, but are also a bit more cumbersome to use.</para>
|
||||||
|
|
||||||
|
</refsection>
|
||||||
|
|
||||||
|
|
||||||
|
<refsection><title>Examples</title>
|
||||||
|
|
||||||
|
<para>To copy some instance of Subversion with all its dependencies to
|
||||||
|
another machine:
|
||||||
|
|
||||||
|
<screen>
|
||||||
|
$ nix-pack-closure /nix/store/hj232g1r...-subversion-1.3.0 > svn.closure
|
||||||
|
|
||||||
|
<lineannotation>Copy <!-- !!! <filename> --> svn.closure to the remote machine, then on the remote machine do:</lineannotation>
|
||||||
|
$ nix-unpack-closure < svn.closure</screen>
|
||||||
|
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>Copy the program <command>azureus</command> with all its
|
||||||
|
dependencies to the machine <literal>scratchy</literal>:
|
||||||
|
|
||||||
|
<screen>
|
||||||
|
$ nix-pack-closure $(which azureus) | ssh scratchy nix-unpack-closure</screen>
|
||||||
|
|
||||||
|
</para>
|
||||||
|
|
||||||
|
</refsection>
|
||||||
|
|
||||||
|
|
||||||
|
</refentry>
|
28
doc/manual/nix-unpack-closure.xml
Normal file
28
doc/manual/nix-unpack-closure.xml
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
<refentry xmlns="http://docbook.org/ns/docbook"
|
||||||
|
xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||||
|
|
||||||
|
<refnamediv>
|
||||||
|
<refname>nix-unpack-closure</refname>
|
||||||
|
<refpurpose>unpack the closure of a store path created by <command>nix-pack-closure</command> into the Nix store</refpurpose>
|
||||||
|
</refnamediv>
|
||||||
|
|
||||||
|
<refsynopsisdiv>
|
||||||
|
<cmdsynopsis>
|
||||||
|
<command>nix-unpack-closure</command>
|
||||||
|
</cmdsynopsis>
|
||||||
|
</refsynopsisdiv>
|
||||||
|
|
||||||
|
|
||||||
|
<refsection><title>Description</title>
|
||||||
|
|
||||||
|
<para>The command <command>nix-unpack-closure</command> unpacks the
|
||||||
|
closure of a set of store paths created by
|
||||||
|
<command>nix-pack-closure</command> into the local Nix store. The
|
||||||
|
closure is a single file read from standard input. See the
|
||||||
|
description of <command>nix-pack-closure</command> for details and
|
||||||
|
examples.</para>
|
||||||
|
|
||||||
|
</refsection>
|
||||||
|
|
||||||
|
|
||||||
|
</refentry>
|
|
@ -31,7 +31,8 @@ file).</para></listitem>
|
||||||
<listitem><para>Subscribe to the Nix Packages channel.
|
<listitem><para>Subscribe to the Nix Packages channel.
|
||||||
|
|
||||||
<screen>
|
<screen>
|
||||||
$ nix-channel --add http://nix.cs.uu.nl/dist/nix/channels-v3/nixpkgs-unstable</screen>
|
$ nix-channel --add \
|
||||||
|
http://nix.cs.uu.nl/dist/nix/channels-v3/nixpkgs-unstable</screen>
|
||||||
|
|
||||||
</para></listitem>
|
</para></listitem>
|
||||||
|
|
||||||
|
@ -49,7 +50,7 @@ available remotely.</para></listitem>
|
||||||
available in the channel:
|
available in the channel:
|
||||||
|
|
||||||
<screen>
|
<screen>
|
||||||
$ nix-env -qa
|
$ nix-env -qa ’*’ <lineannotation>(mind the quotes!)</lineannotation>
|
||||||
docbook-xml-4.2
|
docbook-xml-4.2
|
||||||
firefox-1.0pre-PR-0.10.1
|
firefox-1.0pre-PR-0.10.1
|
||||||
hello-2.1.1
|
hello-2.1.1
|
||||||
|
@ -109,13 +110,15 @@ to get rid of unused packages, since uninstalls or upgrades don't
|
||||||
actually delete them:
|
actually delete them:
|
||||||
|
|
||||||
<screen>
|
<screen>
|
||||||
$ nix-env --delete-generations old
|
$ nix-collect-garbage -d</screen>
|
||||||
$ nix-store --gc</screen>
|
|
||||||
|
|
||||||
|
<!--
|
||||||
The first command deletes old “generations” of your profile (making
|
The first command deletes old “generations” of your profile (making
|
||||||
rollbacks impossible, but also making the components in those old
|
rollbacks impossible, but also making the components in those old
|
||||||
generations available for garbage collection), while the second
|
generations available for garbage collection), while the second
|
||||||
command actually deletes them.</para></listitem>
|
command actually deletes them.-->
|
||||||
|
|
||||||
|
</para></listitem>
|
||||||
|
|
||||||
</orderedlist>
|
</orderedlist>
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue