initスクリプトを編集せずにSysVinitサービスをどのように変更できますか?

initスクリプトを編集せずにSysVinitサービスをどのように変更できますか?

サービスがあると仮定します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.drc.inet1.confrc.bluetooth.conf

これは、ほとんどのDebianベースのディストリビューションです/etc/default

存在する赤い帽子ディストリビューションに応じて、この構成は最も一般/etc/sysconfig的に使用されるソフトウェア(acpid、、、、)のディレクトリで管理されます。httpdntpdcrondsamba

Archでは、systemdスイッチの前に/etc/{rc.conf,rc.d/functions,rc.d/functions.d/}デーモンをカスタマイズするために使用しました。

スラックウェアから、サービスによっては(、...)に引数を提供したいデーモンと同じ名前のファイルがあるか、.confデーモンファイル自体を編集する必要があります。/etc/rc.d/rc.inet1.confrc.wireless.conf

TL、博士:「Default SysV Init」パラメータファイルまたはディレクトリはありません。

おすすめ記事