systemdデバイスを設定する必要があるbashスクリプトベースのインストーラを作成しています。/etc/systemd/system
または、同じ一般的なシステム単位ファイルの場所をハードコードできますが、/usr/lib/systemd/system
新しい単位ファイルとサービスを追加するためにシステムが好む場所を検出できるスクリプトが必要です。
既存のサービス単位ファイルを使用して検索してこれを実行できますが、呼び出すことがfind
できる既存のグローバル変数がすでに存在する場合(たとえば、複雑すぎないようにしたい)。$HOME
答え1
私が知る限り、すべてのシステムは同じです。マンページは多くの洞察を提供します。 https://www.freedesktop.org/software/systemd/man/systemd.unit.html
System Unit Search Path
/etc/systemd/system.control/*
/run/systemd/system.control/*
/run/systemd/transient/*
/run/systemd/generator.early/*
/etc/systemd/system/*
/etc/systemd/system.attached/*
/run/systemd/system/*
/run/systemd/system.attached/*
/run/systemd/generator/*
…
/usr/lib/systemd/system/*
/run/systemd/generator.late/*
サービス単位ファイルを作成する場合は、/etc/systemd/system
「管理者生成システム単位」という説明を使用してファイルをインストールする必要があります。
コードには、これらのパスのほとんどが変更されたように見えず、ハード/etc/systemd/system
コーディングされているように見えるようにするいくつかの場所があります。