I've been bitten by this once before, and a user on #guix did as well.
When there are problems in the root filesystem that fsck doesn't want to
fix automatically, the user is dumped into a guile prompt where PATH is
not set, and it's very inconvenient to run fsck manually.
This is what I just suggested that the user type, with apologies:
(use-modules (ice-9 ftw) (srfi srfi-26))
(define dirs (scandir "/gnu/store" (cut string-suffix? "e2fsprogs-1.42.13"
<>)))
(define e2fsck (string-append "/gnu/store/" (car dirs) "/sbin/e2fsck"))
(system* e2fsck "/dev/XXX")
Is there a better way?
Speaking from personal experience, it's very painful to do anything
non-trivial in that REPL. Even just adding readline would help a lot.
Maybe we should at least set PATH to include the available /bin and
/sbin directories before entering the REPL.
We should probably also handle errors from fsck specially.
Thoughts?
Mark