少しハマってしまったのでメモ。
今回からubuntuでもSysVinitの代わりにsystemdが正式採用されるようになったのですが、おそらくこれが原因でいくつかのサービスが起動できないという問題が発生しているようです。
##症状
適当にインストールしたMongoDBを起動しようとすると
# sudo systemctl start mongod Failed to start mongod.service: Unit mongod.service not found.
あろうことかこのようなエラーが出てしまいました。
確かに、エラー文の通りに/etc/init.dや/lib/systemd/systemの中をみてもそれらしきファイルが見つかりません
##解決策
こちらによると、自分でmongod.serviceを作ってしまえということです。
sudo vim /lib/systemd/system/mongod.service
[Unit]
Description=MongoDB Database Service
Wants=network.target
After=network.target
[Service]
ExecStart=/usr/bin/mongod --config /etc/mongod.conf
ExecReload=/bin/kill -HUP $MAINPID
Restart=always
User=mongodb
Group=mongodb
StandardOutput=syslog
StandardError=syslog
[Install]
WantedBy=multi-user.target
としてmongod.serviceを作成して
sudo systemctl start mongod
としたところ、うまく起動してくれました
##おわりに
MongoDB以外にも似たような問題が起きているケースがあるんじゃないかと思います。16.04LTSはまだ出たばかりなので、各種パッケージ側もそのうち対応してくれるんじゃないかと思います