安装systemd

安装步骤倒是很简单,只需要修改kernel,mtab文件;安装systemd(注意和udev的block),修改grub参数即可。重启后,查pid = 1的进程是否systemd就知道启动结果了。

systemd配置

这里稍稍有点复杂,其中的重点是如何配置unit file , 我手动安装systemd后发现很多包没配好service文件,需要找,目前如下:

感觉到不同就是原来的系统配置文件在/etc现在变成了/usr/lib/systemd/了,SA所配置的文件从/etc/init.d变成/etc/systemd/了。启动速度有明显加快。然后一些配置例如/etc/init.d, /etc/rc好像用不上了,基本上所有的rc启动脚本需要重新配置,个别还需要修改unit file文件来匹配需求。

systemd-networkd

如果不想手动启动,则需要服务启动systemd-networkd.servicesystemd-resolved.service。 另外网卡的配置文件可如下:

cat /etc/systemd/network/wired.network
[Match]
Name=enp0s3

[Network]
DNS=114.114.114.114

[Address]
Address=10.0.2.15/24

[Route]
Gateway=10.0.2.2

ss-local.service

[Unit]
Description=showdowsocks

[Service]
User=kk
Group=kk
ExecStart=/usr/bin/ss-local -c /etc/shadowsocks.json
RestartSec=5
Restart=on-failure

[Install]
WantedBy=multi-user.target

squid.service

[Unit]
Description=showdowsocks
After=local-fs.target network.target systemd-resolved

[Service]
User=kk
Group=kk
ExecStart=/usr/bin/ss-local -c /etc/shadowsocks.json
RestartSec=5
Restart=on-failure

[Install]
WantedBy=multi-user.target

dropbox@kk.service

这里需要注意一下,unitname@module.service会通过%I传参给unit file ,这里需要先启动ss-local,然后通过proxychains来调用dropbox。

[Unit]
Description=Dropbox
After=local-fs.target network.target ss-local

[Service]
ExecStart=/usr/bin/proxychains /opt/dropbox/dropboxd
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=always
User=%I

[Install]
WantedBy=multi-user.target

problems

CONFIG_FW_LOADER_USER_HELPER

$ sudo emerge  systemd
...
...
 * Messages for package sys-apps/systemd-218-r3:

 *   CONFIG_FW_LOADER_USER_HELPER:   should not be set. But it is.
 * Please check to make sure these options are set correctly.
 * Failure to do so may cause unexpected problems.

  • sudo make menuconfig
Symbol: FW_LOADER_USER_HELPER [=y]                                                                                 x  
Type  : boolean                                                                                                    x  
  Defined at drivers/base/Kconfig:151                                                                              x  
  Selected by: FW_LOADER_USER_HELPER_FALLBACK [=n] && FW_LOADER [=y] || DELL_RBU [=m] && X86 [=y] 

solution

直接修改.config文件,自定义CONFIG_FW_LOADER_USER_HELPER,不经过menuconfig进行编译:结果失败,编译前会重置回=y。

根据这里提示,禁止DELL_RBU后,不会重置,正常。