mirror of
https://github.com/NixOS/nix
synced 2025-06-28 01:11:15 +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.1 KiB
Markdown
40 lines
1.1 KiB
Markdown
# Name
|
|
|
|
`nix-store --optimise` - reduce disk space usage
|
|
|
|
## Synopsis
|
|
|
|
`nix-store` `--optimise`
|
|
|
|
## Description
|
|
|
|
The operation `--optimise` reduces Nix store disk space usage by finding
|
|
identical files in the store and hard-linking them to each other. It
|
|
typically reduces the size of the store by something like 25-35%. Only
|
|
regular files and symlinks are hard-linked in this manner. Files are
|
|
considered identical when they have the same NAR archive serialisation:
|
|
that is, regular files must have the same contents and permission
|
|
(executable or non-executable), and symlinks must have the same
|
|
contents.
|
|
|
|
After completion, or when the command is interrupted, a report on the
|
|
achieved savings is printed on standard error.
|
|
|
|
Use `-vv` or `-vvv` to get some progress indication.
|
|
|
|
{{#include ./opt-common.md}}
|
|
|
|
{{#include ../opt-common.md}}
|
|
|
|
{{#include ../env-common.md}}
|
|
|
|
## Example
|
|
|
|
```console
|
|
$ nix-store --optimise
|
|
hashing files in `/nix/store/qhqx7l2f1kmwihc9bnxs7rc159hsxnf3-gcc-4.1.1'
|
|
...
|
|
541838819 bytes (516.74 MiB) freed by hard-linking 54143 files;
|
|
there are 114486 files with equal contents out of 215894 files in total
|
|
```
|
|
|