Installation de Calculate en LXC

Updated 30 Avril 2020


Installing the required packages

To continue, you need to install app-emulation/lxc:

emerge -a app-emulation/lxc

Installing Calculate into a container

To install Calculate Linux Container, run:

lxc-create -n calculate -t download -- --server --no-validate --arch x86_64
lxc-create -n calculate -t download -- --server --no-validate --arch x86_64
Downloading the image index
WARNING: Running without gpg validation!

CCS     20      x86_64  default 20200430


Downloading the image index
Downloading the rootfs
Downloading the metadata
The image cache is now ready
Unpacking the rootfs

You just created a Gentoo container (release=18, arch=amd64, variant=default)

To enable sshd, run: rc-update add sshd

For security reason, container images ship without user accounts
and without a root password.

Use lxc-attach or chroot directly into the rootfs to set a root password
or create user accounts.

Replace calculate with any name you want for your container. To use Btrfs subvolumes, add -B btrfs as an option when creating the root partition for the container. The script will display the available system images and prompt for distribution name, CCS~ (in capital letters) and release number, ~20~ as of the date of this manual. The application will automatically fetch the container on the cloud and install it. The installed containers are stored in the /var/calculate/lxc/ directory.


In subsequent commands and paths, use the container name you replaced calculate with.

Network configuration

Network configuration of the host computer

To configure the network in a LXC container, you will need to configure the network bridge on the host. To do this, select one of the two configuration options:

  • If the host computer has multiple IP addresses - for example, if you will run the container on a desktop operating in the local network and receiving the IP via DHCP - you can configure the network by [using shared network containers] (network#ispolzovanie_obshchei_seti).
  • If the host computer has a single IP address - for example, when running a container on a VPS or dedicated server - you can configure [network address translation] (network#transliatsiia_ip-adresov) via a single interface.

Network configuration of the container

Configure the network for your container:


# network type if bridge is used = veth
# start the network at system start = up
# interface inside the container = eth0
# bridge to be used by the virtual interface = br0
# random MAC for the network interface of the container (first number must be even) = 02:03:04:05:06:07

Replace the MAC address, 02:03:04:05:06:07. Please note that the first number must be even (addresses with an odd first number are multicast and cannot be assigned).

Start the container

To start the container, run:

lxc-start calculate

Make sure the container is up and running:

lxc-info calculate
Name:           calculate
State:          RUNNING
PID:            25107
CPU use:        3.03 seconds
BlkIO use:      51.98 MiB
Memory use:     61.21 MiB
KMem use:       4.39 MiB
Link:           vethXLWII2
 TX bytes:      516 bytes
 RX bytes:      516 bytes
 Total bytes:   1.01 KiB

Add the container to autostart:

ln -sf /etc/init.d/lxc /etc/init.d/lxc.calculate

rc-update add lxc.calculate

In order for the system in the container to start correctly once the network is up, create a file containing the following rule:



Configuring system in the container

Connect to the container to make further modifications or adjustments.

lxc-attach calculate


You can also edit settings in the container from the host computer, using the following syntax:



Network configuration when using a shared network

If you are using a shared network (with local IPs), you can configure the network either with DHCP or by specifying an available IP address and a router IP address.

When using a DHCP server on a local network, you simply have to run the following:

/etc/init.d/net.eth0 start

rc-update add net.eth0

Network configuration when using NAT

If using [network address translation (NAT)] (network#transliatsiia_ip-adresov), edit the host settings accordingly:

cl-setup-network --iface eth0: --route default: --dns

rc-update add net.eth0

In the example, the container uses IP ~ to route via ~

Other settings

Check the localization parameters and set the root password:

cl-setup-locale -l ru_RU --timezone Europe/Moscow


You can also specify the complete hostname:

cl-setup-network --hostname

To check the changes, run:

hostname -f

Adding applications in a container

Update Portage in the container:


The first time you run the tool, it pulls the Portage tree and enabled overlays.

Now install the software you need for logging and cron jobs:

emerge -a app-admin/logrotate app-admin/syslog-ng sys-process/cronie

When you have completed the configuration, exit the container:



Containers are useful as they remain separated from the main system. You can experiment with them and even launch Calculate Linux from other systems.