For a very long time we have been providing a preconfigured opsi server (often referred as opsivm) in the form of a virtual machine, which can be integrated under various virtualisation systems including Virtualbox and VMWare. After the server has been started for the first time, a script is executed to setup the last configuration settings. These are, among other things name, domain, IP of the server, the standard gateway, the DNS server and also the passwords for the already created users. The opsi server is then ready for use and only needs to be filled up with the opsi standard packages.
We always try to keep the opsi server up to date, both in terms of the opsi version and the Linux distribution used. The latest version has been changed from being based on Ubuntu 16.04 to Ubuntu 18.04.
Since Ubuntu 18.04, netplan has been used instead of
ifconfig as the default network configuration.
After a first attempt to disable
netplan and keep the configuration procedure using
ifconfig as before, this attempt has been discarded because this solution would require installing additional programs as well as making more adjustments.
So the decision was made to use the netplan configuration.
The configuration for
netplan can be found in
network: version: 2 renderer: networkd ethernets: enp3s0: addresses: - 10.10.10.2/24 gateway4: 10.10.10.1 nameservers: search: [mydomain, otherdomain] addresses: [10.10.10.1, 18.104.22.168]
By making adjustments to our start script we are able to use a template based on the default configuration. This template is patched with the values as retrieved during the first startup.
network: version: 2 renderer: networkd ethernets: enp3s0: addresses: - @ip@/@cidrnetmask@ gateway4: @gateway@ nameservers: search: [@domain@] addresses: [@dns@]
A particular challenge was the network mask, which is required to be in format 255.255.255.0, but in
config.yaml must be given as in CIDR notation including the network address as
Once the template is filled the following call activates the network settings from
Deploying a root shell
Another change was the way we made the use of a terminal with root privileges available via a desktop icon.
Most of the tasks on an opsi server can be performed by a dedicated user called
If system administrator rights are necessary, there is a desktop call to open a shell with root rights.
So far this has been done using the
gksu tool which is considered obsolete and is therefore no longer supported in the latest versions of Debian and Ubuntu.
For this reason we now start our root shell with the following call:
lxterminal --title "root shell" --command "sudo -s"
Testing the new opsi-appliance