2021/02/13

update-rc.d: error: nginx Default-Start contains no runlevels, aborting.

nginxはいつもソースからビルドしていて、Ubuntu18でも同じようにビルドして、あーそういえばsystemctlか、となっていつもの起動コマンドをsystemctlに対応しようとして、/lib/systemd/system/nginx.service に配置して、

sudo systemctl start nginx

したら綺麗に起動したのでやったー!!と思っていたのだけど、サーバ起動時に勝手に起動して欲しいので、下のように enable しようとするとエラーが出てしまった。

$ sudo systemctl enable nginx
Synchronizing state of nginx.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable nginx
update-rc.d: error: nginx Default-Start contains no runlevels, aborting.

nginx Default-Start contains no runlevels だってよ。ほうほう、systemctl に runlevel は要らんのっちゃうんのー?と思いながらググってみると、起動スクリプトに懐かしのランレベル定義コメントで入れろとか書いてるのがたくさん見つかったけど、実際はそういうの関係なくって、/etc/init.d/ にまで起動スクリプトのシンボリックリンクを配置していたせいでした。そいつを消せば直って無事 enable できた。

ちなみに、enable でエラーが出ても、enable 自体は成功していたので、無視してもいいかもという気もしたけど。すっきりメモ。

サイト内検索