ihucos / plash

Build and run layered root filesystems.
MIT License
379 stars 15 forks source link

Dependencies (unionfs-fuse, uidmap) not documented, confusing for new users #50

Closed nikvdp closed 6 years ago

nikvdp commented 6 years ago

packages unionfs-fuse and uidmap are not installed by default on ubuntu, but are required for plash to run. The error message for unionfs-fuse was fairly self explanatory, but my first run experience (following the tutorial at plash.io) went as follows:

$ pip3 install plash > /dev/null
$ plash init
$ echo 'plash reference' | plash run --from ubuntu --apt figlet -- figlet
plash: fetching 100%
plash: extracting...
plash error: forked child: [Errno 2] No such file or directory: 'newuidmap': 'newuidmap'
plash error: no image specified                               

which was quite cryptic, and it took some googling to figure out that apt-get install -y uidmap was the solution. Consider including this in the docs so newcomers can get started with plash with less friction.

ihucos commented 6 years ago

Yeah, thanks for the issue. I'll make it nicer and then close the issue.

ihucos commented 6 years ago

Here is a potential fix https://github.com/ihucos/plash/pull/52

It is still kind of long, what do you think?

$ echo 'plash reference' | plash run --from ubuntu --apt figlet -- figlet
plash: fetching 100%
plash: extracting...
plash error: newuidmap/newgidmap not found in PATH, please install it (package typically called `uidmap` or `shadow-utils`)
plash error: plash.macros.froms: from: Command '['plash', 'import-lxc', 'ubuntu']' returned non-zero exit status 1. (CalledProcessError)

It's two error messages because actually the --from build command is responsible to ensure the ubuntu image is there... by invoking plash.

I also added a note to the homepage.

ihucos commented 6 years ago

merged