![私のシステムサービスをどこに置きますか? [コピー]](https://linux33.com/image/9634/%E7%A7%81%E3%81%AE%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%82%92%E3%81%A9%E3%81%93%E3%81%AB%E7%BD%AE%E3%81%8D%E3%81%BE%E3%81%99%E3%81%8B%EF%BC%9F%20%5B%E3%82%B3%E3%83%94%E3%83%BC%5D.png)
私は今までいくつかのソースを読んでいます。私が見た3つのオプションは次のとおりです。
/etc/systemd/system
/usr/lib/systemd/system
/lib/systemd/system
私はもともと私のサービスを/lib/systemd/systemに配置しましたが、そのディレクトリにも他のサービスがたくさんあるようです。ただし、/etc/systemd/system? にある必要があります。このソースは、3番目のオプションについては決して言及しません。Arch Linuxでは、システムデバイスファイルをどこに配置する必要がありますか?
また、チュートリアルではそのディレクトリに入れるようです。http://www.raspberrypi-spy.co.uk/2015/10/how-to-autorun-a-python-script-on-boot-using-systemd/
明確に助けてください。デバイスを有効にすると、「デバイスを有効にできませんでした:無効な引数」というエラーメッセージが表示されます。ディレクトリエラーが原因であると仮定します。 (私はアーチLinuxを使用しています)
答え1
私はSystemdサービスを使用して「キオスク」Pi(CentOS実行)システムを起動します。 Systemdは一部の構成ディレクトリからインポートされますが、通常Systemdサービスを次の場所に配置する必要があります。/etc/systemd/system/
もちろん、サービスファイルに何を含めるべきかに関するいくつかの要件がありますが、そのディレクトリにある限りsudo systemctl enable foo.service
サービスを有効にすることができます。サービスをこのディレクトリに保存してもエラーが引き続き発生する場合は、サービスファイルを確認してください。少なくとも以下を含める必要があります。
[Unit]
Description=Sample Script Startup
[Service]
Type=idle
ExecStart=/valid/path/to/an/executable/file
[Install]
WantedBy=multi-user.target
Type
WantedBy
達成したい目標によって属性が異なる場合がありますので、ぜひお読みください。文書!