サービスがあると仮定しますxyz
。 systemdでは、/lib/systemd/system/xyz.service
ファイルには次のコマンドがあります。
[Service]
ExecStart=/usr/bin/xyz --foo
--bar
このコマンドにオプションを追加したいです。 systemdを使用すると、埋め込み/etc/systemd/system/xyz.service.d/xyz.conf
ファイルに次の行を追加できます。
[Service]
ExecStart=
ExecStart=/usr/bin/xyz --foo --bar
これは後続のコマンドを無視できますsystemctl daemon-reload
。 SysVinitでも同様のようですが、いいえ/etc/init.d/xyz
ファイルを編集します。 SysVinitスクリプトを編集せずにコマンドオプションを追加/変更できますか?そうでなければ、正しいアプローチは何ですか?このコマンドオプションを永久に変更したいと思います。
答え1
それでもSysVInitに依存しているシステムでは、特定のディストリビューションがどのメカニズムを使用しているかを知る必要があります。デーモンスクリプトに任意のファイルを保存できるため、デフォルト設定source
の場所を決定することはディストリビューションによって異なります。
引用する郵便はがきSlackwareフォーラムで:
私の理解は、これがいくつかのソフトウェアパッケージに採用されているDebianの概念であるということです。
デフォルトでは、
/etc/default
その値を実際の起動スクリプトに含めるのではなく、エンドユーザーまたは管理者が変更できるいくつかのパラメータを含めます。これにより、パッケージをアップグレードして起動スクリプトを置き換えても変更は保持されます。概念は本質的に
.conf
(など)下のファイルと同じですが、スクリプト自体から離れた中央の場所にあります。rc.d
rc.inet1.conf
rc.bluetooth.conf
これは、ほとんどのDebianベースのディストリビューションです/etc/default
。
存在する赤い帽子ディストリビューションに応じて、この構成は最も一般/etc/sysconfig
的に使用されるソフトウェア(acpid
、、、、)のディレクトリで管理されます。httpd
ntpd
crond
samba
Archでは、systemdスイッチの前に/etc/{rc.conf,rc.d/functions,rc.d/functions.d/}
デーモンをカスタマイズするために使用しました。
スラックウェアから、サービスによっては(、...)に引数を提供したいデーモンと同じ名前のファイルがあるか、.conf
デーモンファイル自体を編集する必要があります。/etc/rc.d/
rc.inet1.conf
rc.wireless.conf
TL、博士:「Default SysV Init」パラメータファイルまたはディレクトリはありません。