さくらのGentooにsystemdを導入する

みんな大好き さくらのVPS にGentooLinuxを入れているのですが、久しぶりにカーネルアップデートしようと思い、ついでにsystemdを導入してみました。

Gentoo Wiki

みんな大好き Gentoo WikiSystemd を見てカーネルコンフィグとかしたらすんなり起動しました。

ip

ただ、起動はしたもののssh接続ができず、なんでだろうなーと見ていたらインターネットに繋がらなくなってしまっていました。

dhcpcdを使っていないので、どうやらnetwork.serviceみたいなのを自分で書かないといけないようなので、 みんな大好きArch Forums をみて、同じように/etc/systemd/system/network.serviceに設定ファイルをかきました。

$ cat /etc/conf.d/network
interface=eth0
address=XXX.XXX.XXX.XXX (VPSのアドレス)
netmask=255.255.254.0 (VPSのネットマスクアドレス)
broadcast=XXX.XXX.XXX.XXX (VPSのブロードキャスト)
gateway=XXX.XXX.XXX.XXX (VPSのゲートウェイ)
$ cat /etc/systemd/system/network.service 
[Unit]
Description=Network Connectivity
Wants=network.target
Before=network.target
 
[Service]
Type=oneshot
RemainAfterExit=yes
EnvironmentFile=/etc/conf.d/network
ExecStart=/sbin/ip link set dev ${interface} up
ExecStart=/sbin/ip addr add ${address}/${netmask} broadcast ${broadcast} dev ${interface}
ExecStart=/sbin/ip route add default via ${gateway}
ExecStop=/sbin/ip addr flush dev ${interface}
ExecStop=/sbin/ip link set dev ${interface} down

[Install]
WantedBy=multi-user.target

「ipコマンドが無いよ」と言われてしまったので、sys-apps/iproute2をインストールしました。

# emerge -av sys-apps/iproute2

最後に、

# systemctl daemon-reload
# systemctl enable network.service
# systemctl start network.service
# systemctl enable sshd.service
# systemctl start sshd.service

これで無事sshログインもできるようになりました。