方永、南天紫云

道亦有道

Arch Linux之systmed使用简介
作者 vinoca 發布於 2012年09月23日

Arch Linux的initscripts-2012.07.5包发布之后, /etc/rc.conf 的配置方式开始和systemd的兼容了,之前因为systemd的配置方式太过sysv而一直未用,在改完配置rm /etc/rc.conf后按照Wiki用上了systemd

systemd带来了一些新的理念,一般情况下启动速度要优于sysvinit,而且在某个更新之后,Arch将转向systemd。 首先,要做的是修改配置,将原先的rc.conf方式的配置修改为systemd兼容的格式:

第一行是文件名: 修改主机名:

/etc/hostname
myhostname

控制台和键盘布局:

/etc/vconsole.conf
KEYMAP=us
FONT=lat9w-16
FONT_MAP=8859-1_to_uni

Locale :

/etc/locale.conf
LANG=en_US.UTF-8
LC_COLLATE=C

时区:

/etc/timezone
Asia/Shanghai

硬件时钟:

/etc/adjtime
 
0.0 0.0 0.0
0
LOCAL

启动时加载的内核模块,同rc.conf的MODULES :

/etc/modules-load.d/virtio-net.conf
# Load virtio-net.ko at boot
virtio-net

参照rc.conf的DAEMONS,逐个添加启动项:

systemctl enable kdm.service

不使用登录管理器(如GDM、KDM)登录桌面环境:

/etc/systemd/system/graphical.target.wants/xinit.service
[Unit]
Description=Direct login to X
After=systemd-user-sessions.service
 
[Service]
ExecStart=/bin/su <username> -l -c "/bin/bash --login -c xinit"
 
[Install]
WantedBy=graphical.target

以太网网口dhcp方式连接:

# systemctl enable dhcpcd@eth0.service

其次,安装systmed:

pacman -S systemd

2012年9月1日以后systemd已代替 libsystemd systemd-tools udev ,所以一般情况下已安装。

添加内核参数 init=/bin/systemd ,可修改/etc/default/grub然后grub-mkconfig

然后重启电脑,删除参数 init=/bin/systemd

删除initscripts,然后安装systemd-sysvcompat

更多中文参考看这里