mirror of
https://github.com/privatevoid-net/nix-super.git
synced 2024-11-25 15:26:17 +02:00
Merge pull request #10715 from fricklerhandwerk/remove-copy-closure-guide
redirect "Copying Closures via SSH" guide to `nix-copy-closure`
This commit is contained in:
commit
8953bdbf32
4 changed files with 3 additions and 36 deletions
|
@ -285,7 +285,7 @@ const redirects = {
|
|||
"ch-basic-package-mgmt": "package-management/basic-package-mgmt.html",
|
||||
"ssec-binary-cache-substituter": "package-management/binary-cache-substituter.html",
|
||||
"sec-channels": "command-ref/nix-channel.html",
|
||||
"ssec-copy-closure": "package-management/copy-closure.html",
|
||||
"ssec-copy-closure": "command-ref/nix-copy-closure.html",
|
||||
"sec-garbage-collection": "package-management/garbage-collection.html",
|
||||
"ssec-gc-roots": "package-management/garbage-collector-roots.html",
|
||||
"chap-package-management": "package-management/index.html",
|
||||
|
|
|
@ -43,7 +43,6 @@
|
|||
- [Advanced Topics](advanced-topics/index.md)
|
||||
- [Sharing Packages Between Machines](package-management/sharing-packages.md)
|
||||
- [Serving a Nix store via HTTP](package-management/binary-cache-substituter.md)
|
||||
- [Copying Closures via SSH](package-management/copy-closure.md)
|
||||
- [Serving a Nix store via SSH](package-management/ssh-substituter.md)
|
||||
- [Remote Builds](advanced-topics/distributed-builds.md)
|
||||
- [Tuning Cores and Jobs](advanced-topics/cores-vs-jobs.md)
|
||||
|
|
|
@ -39,3 +39,5 @@
|
|||
/json/* /protocols/json/:splat 301!
|
||||
|
||||
/release-notes/release-notes /release-notes 301!
|
||||
|
||||
/package-management/copy-closure /command-ref/nix-copy-closure 301!
|
||||
|
|
|
@ -1,34 +0,0 @@
|
|||
# Copying Closures via SSH
|
||||
|
||||
The command `nix-copy-closure` copies a Nix store path along with all
|
||||
its dependencies to or from another machine via the SSH protocol. It
|
||||
doesn’t copy store paths that are already present on the target machine.
|
||||
For example, the following command copies Firefox with all its
|
||||
dependencies:
|
||||
|
||||
$ nix-copy-closure --to alice@itchy.example.org $(type -p firefox)
|
||||
|
||||
See the [manpage for `nix-copy-closure`](../command-ref/nix-copy-closure.md) for details.
|
||||
|
||||
With `nix-store
|
||||
--export` and `nix-store --import` you can write the closure of a store
|
||||
path (that is, the path and all its dependencies) to a file, and then
|
||||
unpack that file into another Nix store. For example,
|
||||
|
||||
$ nix-store --export $(nix-store --query --requisites $(type -p firefox)) > firefox.closure
|
||||
|
||||
writes the closure of Firefox to a file. You can then copy this file to
|
||||
another machine and install the closure:
|
||||
|
||||
$ nix-store --import < firefox.closure
|
||||
|
||||
Any store paths in the closure that are already present in the target
|
||||
store are ignored. It is also possible to pipe the export into another
|
||||
command, e.g. to copy and install a closure directly to/on another
|
||||
machine:
|
||||
|
||||
$ nix-store --export $(nix-store --query --requisites $(type -p firefox)) | bzip2 | \
|
||||
ssh alice@itchy.example.org "bunzip2 | nix-store --import"
|
||||
|
||||
However, `nix-copy-closure` is generally more efficient because it only
|
||||
copies paths that are not already present in the target Nix store.
|
Loading…
Reference in a new issue