初试systemd


今天闲来没事,本着keep折腾的原则,把sysvinit启动方式替换为了systemd,按照 wiki 一步一步的还算简单,只是整理了一下操作顺序。

安装

sudo pacman -Rcsn sysvinit syslog-ng
sudo pacman -S systemd systemd-arch-units systemd-sysvcompat

我用的纯systemd启动方式,所以直接删除sysvinit,安装systemd-sysvcompat.

配置文件

设置主机名

主机名写入/etc/hostname,和之前rc.conf文件的hostname相同

file:/etc/hostname
myhostname

控制台和键盘布局

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

Locale

file:/etc/locale.conf
LANG=en_US.UTF-8
LC_COLLATE=C
file:/etc/environment
LANG=en_US.utf8

时区

file:/etc/timezoneAsia/Shanghai

因为我是双系统,不想弄乱Windows的夏令时,所以增加下面这个配置

file:/etc/adjtime
0.0 0.0 0.0
0
LOCAL

好了,配置文件基本完毕,在进行下一步之前先增加一些快捷命令,这会在以后节省大量的时间

在.bashrc尾部增加以下配置

file:~/.bashrc
if ! systemd-notify --booted; then  # 兼容不用 systemd 的情况
  start() {
    sudo rc.d start $1
  }

  restart() {
    sudo rc.d restart $1
  }

  stop() {
    sudo rc.d stop $1
  }
else
  start() {
    sudo systemctl start $1.service
  }

  restart() {
    sudo systemctl restart $1.service
  }

  stop() {
    sudo systemctl stop $1.service
  }

  enable() {
    sudo systemctl enable $1.service
  }

  status() {
    sudo systemctl status $1.service
  }

  disable() {
    sudo systemctl disable $1.service
  }
  poweroff() {
    sudo systemctl poweroff
 }
  reboot() {
    sudo systemctl reboot
 }
fi

启动服务

启动服务的具体命令参见 wiki ,而且我已经在上面的bashrc文件做了精简命令,其实作用是一样的,切勿混淆。

启动登录管理器

# systemctl enable gdm.service

Slim登录管理器在systemd登录方式下有些问题,我暂时用gdm代替

网络

直接使用networkmanager来管理网络

# systemctl enable NetworkManager.service
# systemctl enable NetworkManager-wait-online.service

到这里就基本设置完毕,非常的简单,现在就重启享受极速的systemd吧!

参考文章:

Systemd_(简体中文)

systemdnow