By no means am I a developer, but I can try to explain some things...

A profile is a collection of packages.  Each user on the system has a
profile of his packages.  So Jerry has a profile of Emacs 24, Iceweasel
50, etc.  Jill also uses the system, but she has packages Tetris 5.4,
Emacs 23, etc.  Jerry's packages and Jill's packages are independent of
one another and cause no conflicts.
There is also a system profile.  This is the collection of packages that
boots your system.  For example if Jerry uses gnome, usually his profile
will not contain the gnome program.  Instead gnome is found under the
system profile.
The root filesystem is everything under /  right?  

chroot is a way of letting applications thing that they are running with
full root privileges when they are not.
A container restricts what an application can access.  Firefox for
example should only be able to access your Downloads directory.  It
should not be able to read your gpg keys.  One can run Firefox in a
container to limit the things that Firefox can access.
docker I believe is a way of running a web application.  Web application
development is getting really hard these days.  Your application can
have js dependencies, python dependencies, etc.  Each language has its
own package manager, and if one packages gets updated your web
application can refuse to work.  Docker just freezes everything so that
it works.  Then you run that frozen image.
lxc?  No idea. 


On Mon, Jan 1, 2018, at 11:31 AM, Amirouche Boubekki wrote:
> Héllo,
> 
> It's a long time I did not read the manual. So I read he manual this
> afternoon.> 
> I have to say that I don't really understand some guix concepts and
> how they map to the rest of the world.> 
> Can someone try to explain to me how the following concepts are
> related to each other:> 
> Environments, profiles, gc roots, root filesystem, chroot, containers,
> docker and lxc> 
> TIA

Reply via email to