unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* ‘guix copy’
@ 2016-12-31 17:40 Ludovic Courtès
  2017-01-06 15:10 ` Thompson, David
  0 siblings, 1 reply; 2+ messages in thread
From: Ludovic Courtès @ 2016-12-31 17:40 UTC (permalink / raw)
  To: guix-devel

Hello Guix!  :-)

I’m pleased to announce the last(?) feature of the year: ‘guix copy’!
It copies store items over SSH, pretty much like ‘guix offload’ already
does; documentation below.

Currently there’s no progress report and error reporting is suboptimal,
but I find it useful already.

Feedback welcome!

Ludo’.


5.13 Invoking ‘guix copy’
=========================

The ‘guix copy’ command copies items from the store of one machine to
that of another machine over a secure shell (SSH) connection(1).  For
example, the following command copies the ‘coreutils’ package, the
user’s profile, and all their dependencies over to HOST, logged in as
USER:

     guix copy --to=USER@HOST \
               coreutils `readlink -f ~/.guix-profile`

   If some of the items to be copied are already present on HOST, they
are not actually sent.

   The command below retrieves ‘libreoffice’ and ‘gimp’ from HOST,
assuming they are available there:

     guix copy --from=HOST libreoffice gimp

   The SSH connection is established using the Guile-SSH client, which
is compatible with OpenSSH: it honors ‘~/.ssh/known_hosts’ and
‘~/.ssh/config’, and uses the SSH agent for authentication.

   The key used to sign items that are sent must be accepted by the
remote machine.  Likewise, the key used by the remote machine to sign
items you are retrieving must be in ‘/etc/guix/acl’ so it is accepted by
your own daemon.  *Note Invoking guix archive::, for more information
about store item authentication.

   The general syntax is:

     guix copy [--to=SPEC|--from=SPEC] ITEMS...

   You must always specify one of the following options:

‘--to=SPEC’
‘--from=SPEC’
     Specify the host to send to or receive from.  SPEC must be an SSH
     spec such as ‘example.org’, ‘charlie@example.org’, or
     ‘charlie@example.org:2222’.

   The ITEMS can be either package names, such as ‘gimp’, or store
items, such as ‘/gnu/store/...-idutils-4.6’.

   When specifying the name of a package to send, it is first built if
needed, unless ‘--dry-run’ was specified.  Common build options are
supported (*note Common Build Options::).

   ---------- Footnotes ----------

   (1) This command is available only when Guile-SSH was found.  *Note
Requirements::, for details.

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: ‘guix copy’
  2016-12-31 17:40 ‘guix copy’ Ludovic Courtès
@ 2017-01-06 15:10 ` Thompson, David
  0 siblings, 0 replies; 2+ messages in thread
From: Thompson, David @ 2017-01-06 15:10 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel

Hi Ludo,

On Sat, Dec 31, 2016 at 12:40 PM, Ludovic Courtès <ludo@gnu.org> wrote:
> Hello Guix!  :-)
>
> I’m pleased to announce the last(?) feature of the year: ‘guix copy’!
> It copies store items over SSH, pretty much like ‘guix offload’ already
> does; documentation below.
>
> Currently there’s no progress report and error reporting is suboptimal,
> but I find it useful already.
>
> Feedback welcome!

This is awesome!  I really wanted such a feature back when I was
poking around with a 'guix deploy' prototype.  Now I could use the
Scheme API to 'guix copy' to build an OS on my workstation, then ship
it to one or more remote machines and use guile-ssh to run the code to
instantiate it.  Exciting!

- Dave

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2017-01-06 15:10 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-12-31 17:40 ‘guix copy’ Ludovic Courtès
2017-01-06 15:10 ` Thompson, David

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).