- 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 を使ってログインすることができます。
2 . 福岡銀がデマの投稿者への刑事告訴を検討中(112818)
3 . 年次の人間ドックへ(112261)
4 . 2023 年分の確定申告完了!(1つめ)(111825)
5 . 三菱鉛筆がラミーを買収(111703)