mirror of
https://gist.github.com/a929dfdb0cdb7dd946d313bde708900e.git
synced 2024-12-04 18:11:30 -08:00
expand and extend this documentation
This commit is contained in:
parent
34c0c3c74e
commit
34e20535e0
@ -1,7 +1,8 @@
|
|||||||
## Install a Gentoo nspawn Container on Ubuntu 17.04 on Digital Ocean.
|
## Install a Gentoo nspawn Container on Ubuntu 17.04 on Digital Ocean.
|
||||||
|
|
||||||
Spin up an Ubuntu 17.04 droplet, because nspawn containers are slightly
|
Spin up an Ubuntu 17.04 droplet, because nspawn containers are slightly
|
||||||
more difficult with Ubuntu 16.04. Install systemd-container.
|
more difficult with Ubuntu 16.04. Install systemd-container. (This will also
|
||||||
|
work on your local workstation or laptop running Ubuntu 17.04.)
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
apt install systemd-container
|
apt install systemd-container
|
||||||
@ -28,7 +29,7 @@ passwd
|
|||||||
logout
|
logout
|
||||||
```
|
```
|
||||||
|
|
||||||
Because of how Digital Ocean sets up networking, if you want to subnet
|
Because of how Digital Ocean and Ubuntu set up networking, if you want to subnet
|
||||||
the container, start systemd-network (systemd-resolved is probably already running).
|
the container, start systemd-network (systemd-resolved is probably already running).
|
||||||
And optionally it's also pretty straightforward to create a /usr/portage directory
|
And optionally it's also pretty straightforward to create a /usr/portage directory
|
||||||
on the host operating system, and then bind that directory to the container.
|
on the host operating system, and then bind that directory to the container.
|
||||||
@ -54,6 +55,16 @@ from the host, but not locale. And your MAKEOPTS="-j<some number>", some things
|
|||||||
seem to not compile if your MAKEOPTS j number is more than the number of
|
seem to not compile if your MAKEOPTS j number is more than the number of
|
||||||
cores on the host.
|
cores on the host.
|
||||||
|
|
||||||
|
Testing this on a local machine, the nspawn container does not inherit the
|
||||||
|
correct time-zone, so from the container's command line
|
||||||
|
|
||||||
|
```bash
|
||||||
|
timedatectl set-timezone <some/time_zone>
|
||||||
|
```
|
||||||
|
|
||||||
|
[And here is what the Gentoo wiki has to say about setting the locale if you're concerned about that](https://wiki.gentoo.org/wiki/Localization/Guide#Generating_specific_locales),
|
||||||
|
again from the container's command line.
|
||||||
|
|
||||||
Your systemd-nspawn command will open up one root console, but if you use
|
Your systemd-nspawn command will open up one root console, but if you use
|
||||||
a multi-plexer like byobu you can run additional sessions with machinectl
|
a multi-plexer like byobu you can run additional sessions with machinectl
|
||||||
commands
|
commands
|
||||||
@ -66,3 +77,16 @@ bash
|
|||||||
# to power down the container
|
# to power down the container
|
||||||
poweroff
|
poweroff
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Before you can install anything, you'll need to update your portage tree,
|
||||||
|
and `emerge-webrsync` takes care of that easily enough.
|
||||||
|
|
||||||
|
If you want to update everything: `emerge -avDuN @world`
|
||||||
|
|
||||||
|
By default, any overlays will end up in /var/lib/layman.
|
||||||
|
If you need to build mono, it needs a kernel config. Depending on the host
|
||||||
|
operating system you might be able to find one at /proc/config.gz, or in the
|
||||||
|
/boot directory.
|
||||||
|
If you find yourself fetching git repos repeatedly,
|
||||||
|
you can add `EVCS_OFFLINE=1` temporarily in make.conf, and any ebuild that
|
||||||
|
depends on git-r3.eclass will stop fetching from git.
|
||||||
|
Loading…
Reference in New Issue
Block a user