From: Efraim Flashner <efraim@flashner.co.il>
To: "Ludovic Courtès" <ludo@gnu.org>
Cc: 38720@debbugs.gnu.org
Subject: [bug#38720] [PATCH] system: linux-container: Recommend guix container
Date: Sun, 5 Jan 2020 20:27:29 +0200 [thread overview]
Message-ID: <20200105182729.GA1001@E5400> (raw)
In-Reply-To: <87v9pxzcz5.fsf@gnu.org>
[-- Attachment #1.1: Type: text/plain, Size: 2731 bytes --]
On Mon, Dec 30, 2019 at 11:05:02PM +0100, Ludovic Courtès wrote:
> Hi!
>
> Efraim Flashner <efraim@flashner.co.il> skribis:
>
> > I've been using guix containers on foreign systems to bring some Guixy
> > goodness to the unwashed sysadmins out there. When the container starts
> > up it displays a message like "Run 'sudo nsenter -a -t 65698' to get a
> > shell into it." Sometimes when I try to do that I'll get an error
> > message back about the system's nsenter not knowing about the '-a' flag.
> > I have found that using a 'guix container' command works well for me.
>
> Oh. I was conservative and thought that people would rather use
> “standard” tools.
>
> > From f2cd59c9eb756e243a5a01e6cd3a6a6e58a02be6 Mon Sep 17 00:00:00 2001
> > From: Efraim Flashner <efraim@flashner.co.il>
> > Date: Mon, 23 Dec 2019 16:05:04 +0200
> > Subject: [PATCH] system: linux-container: Recommend guix container.
> >
> > * gnu/system/linux-container.scm (container-script)[script]: Recommend
> > using 'guix container' to get a shell inside the running container.
>
> [...]
>
> > - ;; XXX: Should we recommend 'guix container exec'? It's more
> > - ;; verbose and doesn't bring much.
> > - (info (G_ "Run 'sudo nsenter -a -t ~a' to get a shell into it.~%")
> > + (info (G_ "Run 'sudo guix container exec ~a /run/current-system/profile/bin/bash --login' to get a shell into it.~%")
> > pid)
>
> The comment is still correct: “guix container exec” is more verbose.
> :-)
I can update the comment :)
> Should we change it so that “guix container exec PID” without additional
> arguments runs /bin/sh by default, or something like that?
I've never really used docker, but I'm pretty sure when you enter a
docker container you also need to give it the path to a binary you want
to run.
I've thought about it a bit and now it displays this:
(ins)efraim@E5400 ~/workspace/guix$ sudo /gnu/store/7l5qdb0lw4bbghd17cam8pzdaz86zd3l-run-container
system container is running as PID 13663
Run 'sudo guix container exec 13663 /run/current-system/profile/bin/bash --login'
or run 'sudo nsenter -a -t 13663' to get a shell into it.
making '/gnu/store/8rrwm6wdyzl5i4g38va29azxki412nkr-system' the current system...
setting up setuid programs in '/run/setuid-programs'...
populating /etc from /gnu/store/lvxrcy913ga9g4sg549kk06krb8bbq6m-etc...
I think I like it like this with both options.
--
Efraim Flashner <efraim@flashner.co.il> אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
[-- Attachment #1.2: 0001-system-linux-container-Recommend-guix-container.patch --]
[-- Type: text/plain, Size: 2030 bytes --]
From 1e85542ad6de76f761a366ba8d83f61b63789384 Mon Sep 17 00:00:00 2001
From: Efraim Flashner <efraim@flashner.co.il>
Date: Mon, 23 Dec 2019 16:05:04 +0200
Subject: [PATCH] system: linux-container: Recommend guix container.
* gnu/system/linux-container.scm (container-script)[script]: Recommend
using 'guix container' to get a shell inside the running container.
---
gnu/system/linux-container.scm | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/gnu/system/linux-container.scm b/gnu/system/linux-container.scm
index 2ab679ff3f..c8807398b3 100644
--- a/gnu/system/linux-container.scm
+++ b/gnu/system/linux-container.scm
@@ -2,6 +2,7 @@
;;; Copyright © 2015 David Thompson <davet@gnu.org>
;;; Copyright © 2016, 2017, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2019 Arun Isaac <arunisaac@systemreboot.net>
+;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -194,11 +195,13 @@ that will be shared with the host system."
(define (explain pid)
;; XXX: We can't quite call 'bindtextdomain' so there's actually
;; no i18n.
+ ;; XXX: Should we really give both options? 'guix container exec'
+ ;; is a more verbose command. Hard to fail to enter the container
+ ;; when we list two options.
(info (G_ "system container is running as PID ~a~%") pid)
- ;; XXX: Should we recommend 'guix container exec'? It's more
- ;; verbose and doesn't bring much.
- (info (G_ "Run 'sudo nsenter -a -t ~a' to get a shell into it.~%")
+ (info (G_ "Run 'sudo guix container exec ~a /run/current-system/profile/bin/bash --login'\n")
pid)
+ (info (G_ "or run 'sudo nsenter -a -t ~a' to get a shell into it.~%") pid)
(newline (guix-warning-port)))
(call-with-container file-systems
--
2.24.1
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
next prev parent reply other threads:[~2020-01-05 18:29 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-12-23 14:07 [bug#38720] [PATCH] system: linux-container: Recommend guix container Efraim Flashner
2019-12-30 22:05 ` Ludovic Courtès
2020-01-05 18:27 ` Efraim Flashner [this message]
2020-01-06 9:56 ` Ludovic Courtès
2020-01-06 10:20 ` bug#38720: " Efraim Flashner
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200105182729.GA1001@E5400 \
--to=efraim@flashner.co.il \
--cc=38720@debbugs.gnu.org \
--cc=ludo@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.