mirror of
https://github.com/privatevoid-net/nix-super.git
synced 2024-11-22 05:56:15 +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",
|
"ch-basic-package-mgmt": "package-management/basic-package-mgmt.html",
|
||||||
"ssec-binary-cache-substituter": "package-management/binary-cache-substituter.html",
|
"ssec-binary-cache-substituter": "package-management/binary-cache-substituter.html",
|
||||||
"sec-channels": "command-ref/nix-channel.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",
|
"sec-garbage-collection": "package-management/garbage-collection.html",
|
||||||
"ssec-gc-roots": "package-management/garbage-collector-roots.html",
|
"ssec-gc-roots": "package-management/garbage-collector-roots.html",
|
||||||
"chap-package-management": "package-management/index.html",
|
"chap-package-management": "package-management/index.html",
|
||||||
|
|
|
@ -43,7 +43,6 @@
|
||||||
- [Advanced Topics](advanced-topics/index.md)
|
- [Advanced Topics](advanced-topics/index.md)
|
||||||
- [Sharing Packages Between Machines](package-management/sharing-packages.md)
|
- [Sharing Packages Between Machines](package-management/sharing-packages.md)
|
||||||
- [Serving a Nix store via HTTP](package-management/binary-cache-substituter.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)
|
- [Serving a Nix store via SSH](package-management/ssh-substituter.md)
|
||||||
- [Remote Builds](advanced-topics/distributed-builds.md)
|
- [Remote Builds](advanced-topics/distributed-builds.md)
|
||||||
- [Tuning Cores and Jobs](advanced-topics/cores-vs-jobs.md)
|
- [Tuning Cores and Jobs](advanced-topics/cores-vs-jobs.md)
|
||||||
|
|
|
@ -39,3 +39,5 @@
|
||||||
/json/* /protocols/json/:splat 301!
|
/json/* /protocols/json/:splat 301!
|
||||||
|
|
||||||
/release-notes/release-notes /release-notes 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