从Ubuntu 14.04升级到Ubuntu 15.04后,rc.local无效了,因为Ubuntu 15.04使用了systemd管理开机启动,于是从新设置我的shadowsocks开机启动。
1.在/lib/systemd/system/下添加启动文件
$ cd /lib/systemd/system/
$ sudo vim sslocal@myserver.service
sslocal@myserver.service内容为:
[Unit]
Description=Shadowsocks Client Start
After=network.target
[Service]
Type=simple
User=liuxu
ExecStart=/home/liuxu/.local/bin/sslocal -c /home/liuxu/.local/conf/shadowsocks/%i.json
[Install]
WantedBy=multi-user.target
[Unit]下设置了文件描述,启动顺序,在network启动以后,因为shadowsocks是代理,需要网络设置好了才能设置。
[Service]下设置Type启动模式,User设置启动用户,ExecStart为启动命令
[Install]下设置了启动模式,即老版的inittab。
2.将这个文件软连接到/etc/systemd/system/multi-user.target.wants/即可。
$ ln -s /lib/systemd/system/sslocal@myserver.service /etc/systemd/system/multi-user.target.wants/sslocal@myserver.service
$ ls -l /etc/systemd/system/multi-user.target.wants/sslocal@myserver.service
lrwxrwxrwx 1 root root 44 12月 26 19:30 /etc/systemd/system/multi-user.target.wants/sslocal@myserver.service -> /lib/systemd/system/sslocal@myserver.service
CentOS7/RHEL7 systemd详解