サービスを削除したくなく、起動時に起動しないようにしたいと思います。後で手動で起動するには(コマンドを使用systemctl start <service>
)オプションが必要です。
.itを使ってみましたsystemctl disable <service>
。サービスが削除されたため動作しませんでした。
別の可能性があります。サービスファイルから
[Install]
#WantedBy=multi-user.target
コメントを付けることができます(その後systemctl daemon-reload
)。そのサービスファイルが私が作成したので、私のサービスで動作します。
ただし、展開に属するサービスファイルはにあります/lib/systemd/system
。このディレクトリのファイルはオペレーティングシステムによって管理されます。つまり、アップデートで上書きされ、システムの他の部分ではこれらのファイルが変更されていないと想定できます。単にシステムファイルを編集するのは/etc
悪い習慣であり、私はそうしたくありません。私は私を編集したくありません/lib
。
何をすべきか?
ベストアンサー1
systemctl disable
これを行う正しい方法は、実行する必要があるsystemctl --all
すべての起動可能なデバイスを一覧表示するために出力に表示されない場合でも、デバイスを手動で起動できます。systemctl list-unit-files
デバイスを起動できないようにするには、mask
そのデバイスが必要です。
$ sudo systemctl stop unbound
$ sudo systemctl status unbound
● unbound.service - Unbound DNS server
Loaded: loaded (/lib/systemd/system/unbound.service; enabled; vendor preset: enabled)
Active: inactive (dead) since Fri 2019-05-03 13:12:41 CEST; 5s ago
Docs: man:unbound(8)
Main PID: 5320 (code=exited, status=0/SUCCESS)
$ sudo systemctl disable unbound
$ sudo systemctl status unbound
● unbound.service - Unbound DNS server
Loaded: loaded (/lib/systemd/system/unbound.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Docs: man:unbound(8)
$ sudo systemctl start unbound
$ sudo systemctl status unbound
● unbound.service - Unbound DNS server
Loaded: loaded (/lib/systemd/system/unbound.service; disabled; vendor preset: enabled)
Active: active (running) since Fri 2019-05-03 13:13:14 CEST; 1s ago
Docs: man:unbound(8)
Process: 30513 ExecStartPre=/usr/lib/unbound/package-helper chroot_setup (code=exited, status=0/SUCCESS)
Process: 30518 ExecStartPre=/usr/lib/unbound/package-helper root_trust_anchor_update (code=exited, status=0/SUCCESS)
Main PID: 30525 (unbound)
Tasks: 1 (limit: 4915)
CGroup: /system.slice/unbound.service
└─30525 /usr/sbin/unbound -d
本当に必要な場合は、で/lib
定義されているシステム提供サービスをオーバーライドし、ファイルを追加して目的の宛先/etc
を変更できます。systemctl edit yourunit
これにより、必要な設定のみをオーバーライドできるエディタが開きます。結果をオーバーレイ「フラグメント」として正しい場所に保存します。システム提供サービスの上書きされない設定の更新(例えばパッケージのアップグレードを通じて)は透過的に考慮されます。