Systemd

From Q
Jump to navigation Jump to search

Description

systemd is a system and session manager for Linux.

Kernel settings

First of all you need a recent kernel version >=2.6.39 and some kernel options set.

Linux Kernel Configuration: Kernel .config
General setup  --->
 [*] Control Group support  --->
  [*]   Namespace cgroup subsystem
  [*]   Freezer cgroup subsystem
  [*]   Device controller for cgroups
  [*]   Simple CPU accounting cgroup subsystem
  [*]   Group CPU scheduler  --->
   [*]   Group scheduling for SCHED_OTHER
  <*>   Block IO controller
Device Drivers  --->
 Generic Driver Options  --->
  [*] Maintain a devtmpfs filesystem to mount at /dev
  [*]   Automount devtmpfs at /dev, after the kernel mounted the rootfs
File systems  --->
 [*] Filesystem wide access notification
  [*]   fanotify permissions checking
 < > Kernel automounter support
 <*> Kernel automounter version 4 support (also supports v3)
 Pseudo filesystems
  -*- Tmpfs virtual memory file system support (former shm fs)
Security options  --->
 [*] Enable different security models

Paludis configuration

Unmask currently masked packages

File: /etc/paludis/package_unmask.conf
dev-lang/vala
dev-libs/glib

System and package options

File: /etc/paludis/options.conf
*/* build_options: -recommended_tests
*/* systemd
sys-apps/systemd simple-net

First we need to add repositories for the dependencies not in ::arbor (you need to setup Paludis for automatic repository installation first).

# cave resolve repository/desktop repository/x11 -x

Install the systemd package:

# cave resolve systemd -x

Now we need to reinstall packages with the systemd option set.

# cave resolve world -c -x

Swich over to systemd using eclectic.

# eclectic init set systemd
File: /etc/hostname
desired-hostname
File: /etc/vconsole.conf
FONT="lat9w-16"
KEYMAP="de"
File: /etc/conf.d/network.conf
IFACE=eth0
IPV4=192.168.0.2
MASK=255.255.255.0
BCAST=255.255.255.0
GATEWAY=192.168.0.1
File: /etc/env.d/02locale
LANG=de_DE.utf8

Reboot and login.


Enable network

either for simple net:

# systemctl enable network.service

or when using NetworkManager:

# systemctl enable NetworkManager.service


Enable sshd connectivity

# systemctl enable sshd.socket

Reboot and login via SSH.

Manually starting and stopping services

You'll find an overview of all installed services and sockets in /lib/systemd/system.

# systemctl start <service>.service
# systemctl stop <service>.service
# systemctl

prints a status report of your systemd setup.

Enable additional/optional services

vixie-cron:

# systemctl enable vixie-cron.service

ntp:

# systemctl enable ntpd.service

MySQL:

# systemctl enable mysql.service