- blogs:
- cles::blog

systemd で既存のユニットの設定を変更するには


CentOS 7 (というか、RHEL 7 )からデーモンの起動は SysVinit/Upstart に代わって systemd が使われるようになりました。
デーモンの依存関係や、起動・終了のためのコマンド、オプション等の設定については /usr/lib/systemd/system にあるユニットファイルで制御されています。デーモンの設定をカスタマイズしたいような場合に、このユニットファイルを編集したいという誘惑に駆られますが、このファイルを直接書き換えることは推奨されていません。
このファイルは root であれば編集することができ、systemctl daemon-reload をかけると変更も正常に反映されるのですが、将来、忘れた頃に大きな落とし穴にはまります。というのも、このファイルはデーモンが入っている rpm から提供されたものなので、yum などでうっかりデーモンをアップデートしたりすると、ユニットファイルが rpm に入っているもので上書きされ、カスタマイズした部分がいつのまにか先祖返り・・・という悲劇が待っています。(さっき実際に自分でハマって参りました。)
正しいユニットファイルの変更手順については RHEL 7 マニュアルの以下の部分に詳細な記載があります。
ポイントは /usr/lib/systemd/system にあるファイルを /etc/systemd/system にコピーしてから編集を行うこと。systemd は /usr/lib/systemd/system でも /etc/systemd/system/ でも、どちらのディレクトリからでもユニットファイルを認識しますが、検索順位は /etc/systemd/system/ の方が上位なので、同名のユニットだと /etc/systemd/system/ の方が優先されるようです。
設定ファイルのコピーの方法は具体的には以下のようになります。
このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/9272
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
コメントは承認後の表示となります。
OpenIDでログインすると、即時に公開されます。
OpenID を使ってログインすることができます。
- 居酒屋 八(ひらく) (3)
- 退去通知もネットで可能な時代に (1)
- ケーブルカーのケーブルが切... (1)
- Visual Studio 2017/2019 で ... (1)
- 国土交通省オフィシャルの「... (1)
2 . Windows 10 で勝手にログアウトされないようにする(26813)
3 . Word で数式がグレーアウトされていて挿入できないときは(24713)
4 . リモートデスクトップで Alt + PrtSc と同じことをするには(20964)
5 . Visual Studio 2017/2019 で scanf() がエラー(C4996)になるときは(20408)