プロセスを開始するためのブート順序を指定する必要があります。Fedora 18で389のDirectory ServerとSambaを実行しています。ネットワークサービス、389 DS、Sambaを起動するにはどうすればよいですか?Fedoraでこれを管理するGUIはありますか?
Sambaをで開始できるようにしましたsystemctl enable smb.service
。で389 DSも有効にしましたsystemctl enable dirsrv.target
。
プロセスを開始するためのブート順序を指定する必要があります。Fedora 18で389のDirectory ServerとSambaを実行しています。ネットワークサービス、389 DS、Sambaを起動するにはどうすればよいですか?Fedoraでこれを管理するGUIはありますか?
Sambaをで開始できるようにしましたsystemctl enable smb.service
。で389 DSも有効にしましたsystemctl enable dirsrv.target
。
回答:
systemctl edit smb.service
依存関係を更新するために使用します。
After=dirsrv.target
-smb.serviceがdirsrv.targetの後に確実に開始されるようにします。
堅牢性のために(これをいじくり回している間は価値があります)、次のいくつかを含めることもできます。
Requires=dirsrv.target
-smb.serviceがアクティブになったときにdirsrv.targetをアクティブにします。dirsrv.targetが失敗すると、smb.serviceが失敗します。
Wants=dirsrv.target
-smb.serviceがアクティブになったときにdirsrv.targetをアクティブにします。dirsrv.targetが失敗してもsmb.serviceが失敗することはありません。
BindsTo=dirsrv.target
-dirsrv.targetが非アクティブ化されている場合、smb.serviceを非アクティブ化します。
ソース:http : //www.freedesktop.org/software/systemd/man/systemd.unit.html
systemd-ui
systemdのGUIを提供します。systemdの状態はよくわかりますが、ユニットファイルを変更するにはテキストエディターを使用する必要があります。
/usr/lib/systemd
ディストリビューションのメンテナーであるか、パッケージの更新ごとにファイルが上書きされるのを楽しんでいない限り、ユニットファイルのバージョンを編集しないでください。ユニットファイルをコピーして/etc/systemd
編集するか、ドロップインファイルを使用します(詳細については、systemd.unit(5)を参照してください)。さらに簡単に、systemctl edit smb.service
ドロップインファイルマジックを自動的に行うものを使用するだけです!
2つのことを行います。
/lib/systemd/system/smb.service
ユニットファイルを編集して、依存関係を指定します。[unit]
セクションには、このAfter=
サービスの前に到達する必要があるサービス/ターゲットを指定する行が含まれています。
After=syslog.target network.target nmb.service winbind.service
次のように変更します。
After=dirsrv.target syslog.target network.target nmb.service winbind.service
この依存関係をバグとしてFedoraに報告し、将来のリリースに組み込むことができるようにします。
unit
ファイルを変更した後、通常実行する必要がありますsystemctl daemon-reload
サービスファイルを変更するには、2つの選択肢があります/usr/lib/systemd/system
(例2.ベンダー設定のオーバーライドを参照)。
ファイルをコピーし、コピー/etc/systemd/system
に対して変更を実行します。このファイルは、のファイルを完全に上書きします
/usr/lib
。
ファイルを作成します/etc/systemd/system/smb.service.d/local.conf
。ファイルの内容は、次の例のようになります。これにより、ベンダーが提供するサービスファイルの「Requires」および「After」オプションが選択的にオーバーライドされます。
これらのそれぞれ(のファイルの変更を含む/usr/lib
)には長所と短所があります。最適な選択は、サービスと変更の性質によって異なります。
動作する可能性はありますが、「After」オプションを追加するだけでは不十分です([Unit]セクションオプションを参照)。「後」は順序を制御しますが、依存関係は制御しません。dirsrv.target
他の方法で開始されていない場合、順序を指定しても開始されません。「Requires」または「Wants」オプションを使用すると、強制的dirsrv.target
に開始されます。
[Unit]
Requires=dirsrv.target
After=dirsrv.target
NB:この質問が最初に尋ねられたときにこのアプローチが利用可能だったかどうかわかりません。