デーモンファイルはどこにありますか?

デーモンファイルはどこにありますか?

私はUnixドメインソケット(ネイティブソケット)を介して通信するいくつかのデーモンを書いていました。どのファイルをどこに行くべきですか?

これまでに私が得た情報は次のとおりです(より良い場所を提案してください)。

  • デーモンバイナリ/実行可能:糸口なし… /usr/sbin/<subdir>//usr/bin/<subdir>/?他の場所?
  • ソケット: /var/run/<subdir>/(なぜかわからないが不便です/tmp/
  • ログファイル:/var/log/<subdir>/
  • 構成ファイル:/etc/<subdir>/

ターゲットオペレーティングシステムはUbuntu Server 16.04+です。

ベストアンサー1

以下を含む標準に関する優れた資料がたくさんあります。https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html

私は以下をお勧めします:

  • ソケット: /run/<subdir>/。現在、Ubuntuの/var/runシンボリックリンクだからです。この種の新しい標準的な場所です。/run/run
  • ログファイル/var/log/<subdir>/正しい。単一ログには実際にディレクトリは必要ありません。/etc/logrotate.dアイテムを追加することを忘れないでください
  • 構成ファイル/etc/<subdir>/ 正しい。繰り返しますが、単一の構成ファイルにはディレクトリは必要ありませんが、そうしても害になることはありません。

バイナリファイル:

これらは存在できる場所がたくさんあります。通常、binユーザーコマンドで使用されるsbinはサーバーデーモンで使用されます。一部の人は、sbinルートでのみ実行されるバイナリファイルであると言います。ねえ:https://askubuntu.com/questions/308045/differences-Between-bin-sbin-usr-bin-usr-sbin-usr-local-bin-usr-local

  • /binまたはを使用しないでください/sbin。システムの起動に必要なバイナリ用に予約してください。
  • /usr/binとを使用してください/usr/sbin。例外がありますが、Bontuのほとんどのものがここに住んでいます。ソフトウェアを正しく(.dpkgまたは同様のファイルとして)パッケージ化した場合と/usr/binを使用する必要があります/usr/sbin
  • 適切にパッケージングする意図がなく、手動でシステム管理者にコピーしたい場合は、/usr/local/binより/usr/local/sbin適しています。ただし、コードを他の人に配布する場合は、通常この方法を使用しないでください。
  • バイナリの一部一度だけ他のバイナリで使用する場合、または/usr/lib下に配置することをお勧めします/usr/local/lib。バイナリがライブラリとして扱われるのは珍しいことではありません。

/usr/sbin要するに、おそらく正しい/usr/binでしょう。

おすすめ記事