mirror of
https://github.com/NixOS/nix
synced 2025-06-27 04:21:16 +02:00
Documentation on "classic" commands with many sub-commands are notoriously hard to discover due to lack of overview and anchor links. Additionally the information on common options and environment variables is not accessible offline in man pages, and therefore often overlooked by readers. With this change, each sub-command of nix-store and nix-env gets its own page in the manual (listed in the table of contents), and each own man page. Also, man pages for each subcommand now (again) list common options and environment variables. While this makes each page quite long and some common parameters don't apply, this should still make it easier to navigate as that additional information was not accessible on the command line at all. It is now possible to run 'nix-store --<subcommand> --help` to display help pages for the given subcommand. Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
40 lines
1.4 KiB
Markdown
40 lines
1.4 KiB
Markdown
# Name
|
||
|
||
`nix-store --dump` - write a single path to a Nix Archive
|
||
|
||
## Synopsis
|
||
|
||
`nix-store` `--dump` *path*
|
||
|
||
## Description
|
||
|
||
The operation `--dump` produces a NAR (Nix ARchive) file containing the
|
||
contents of the file system tree rooted at *path*. The archive is
|
||
written to standard output.
|
||
|
||
A NAR archive is like a TAR or Zip archive, but it contains only the
|
||
information that Nix considers important. For instance, timestamps are
|
||
elided because all files in the Nix store have their timestamp set to 0
|
||
anyway. Likewise, all permissions are left out except for the execute
|
||
bit, because all files in the Nix store have 444 or 555 permission.
|
||
|
||
Also, a NAR archive is *canonical*, meaning that “equal” paths always
|
||
produce the same NAR archive. For instance, directory entries are
|
||
always sorted so that the actual on-disk order doesn’t influence the
|
||
result. This means that the cryptographic hash of a NAR dump of a
|
||
path is usable as a fingerprint of the contents of the path. Indeed,
|
||
the hashes of store paths stored in Nix’s database (see `nix-store -q
|
||
--hash`) are SHA-256 hashes of the NAR dump of each store path.
|
||
|
||
NAR archives support filenames of unlimited length and 64-bit file
|
||
sizes. They can contain regular files, directories, and symbolic links,
|
||
but not other types of files (such as device nodes).
|
||
|
||
A Nix archive can be unpacked using `nix-store
|
||
--restore`.
|
||
|
||
{{#include ./opt-common.md}}
|
||
|
||
{{#include ../opt-common.md}}
|
||
|
||
{{#include ../env-common.md}}
|