ファイルシステムのどこに共有データを保存する必要がありますか?


44

UNIXファイルシステムのどこに、ユーザー固有ではないデータ(nfsやftp経由で共有されるデータ、またはバックアップなど)を保存する従来の場所はありますか?

もちろん、任意のフォルダー(/ home / shared、/ data、/ var / dataなど)を作成して使用できますが、「ベスト」または「共通」のプラクティスガイドラインがあるかどうかは本当に疑問です。ファイルシステム階層標準は、共有データの場所を指定していません。

バックアップの場合、/ var / backupsを使用する傾向がありますが、いくつかのcronjobが書き込むので、実際に使用する必要がありますか?

回答:


29

この質問はないで明確な答え持っているように見えるファイルシステム階層標準をかを指定し、/srvとして「このシステムによって提供される[ING]サイト固有のデータが含まれています」。(3.16.1)

これを指定する主な目的は、特定のサービスのデータファイルの場所をユーザーが見つけられるようにすること、および読み取り専用データ、書き込み可能なデータ、およびスクリプト用の単一ツリーを必要とするサービス

(私の強調)

注:「システムによって提供される」とは、必ずしもインターネットを指すとは限りません。ネットワークを意味する必要さえありません。共有システムにも適用できます。さらに、サイトサービスという言葉は、インターネット以前の意味で理解されるべきです。あなたのサイトは「物理学部」または「財務部」になります。

それは言い続けます:

大規模システムでは、/ srv / physics / www、/ srv / compsci / cvsなどの管理コンテキストごとに/ srvを構成すると便利です。このセットアップはホストごとに異なります。したがって、既存の/ srvの特定のサブディレクトリ構造や、/ srvに必ず格納されるデータに依存するプログラムはありません。ただし、/ srvは常にFHS準拠のシステムに存在し、そのようなデータのデフォルトの場所として使用する必要があります。

したがって/srv/nfs、などのディレクトリでデータをさらに構造化する必要があります/srv/backup

また、これを行う人はほとんどいません。しかし、そうしない正当な理由はありません。標準は決して古いものではありません。

/var伝統的には、印刷スプールやログファイルなどに使用されますが、Apache Webサーバーでも使用されます(とにかくDebianシステムでは-SUSEは/ srvを使用します)。/var共有データ用の適切なディレクトリであるかどうかについてはコンセンサスがないようです。しかし、代わりに使用することにした場合、後悔はないでしょう。

注:Karthickの答えは決して間違っていません。FHSは/ srvを「そのようなデータのデフォルトの場所として使用する必要がある」と述べていますが、標準では、用語の解釈方法に応じて、ユーザーの好みに応じて余地が残されています。


4
Debian(およびRed Hat)はApacheのファイルをFHSの一部となる/var/www/srv/に配置し始めたことに注意してください。
mattdm

良い説明ですが、質問への答えは「実際に従う標準は実際にはない」と思われますが。おそらくあるはずです、おそらくそれは本当に重要ではありません。
ミスターベン

正当な理由がある場合は、常にルールを破る必要があります。しかし、私はこの標準が多くの大規模な展開で細心の注意を払って従われていると推定します。
ステファノパラッツォ

共通の標準に移行したい人は、FHSに基づいてこの答えを明確に見つける必要があります。
ジェレミー

13
  • ユーザー固有ではないデータを/ usr / local / varに保存して、再びnewtwork共有にならないようにすることができます。
  • ../local/ ..の下にないものはすべてnfs共有に置かれるため、nfs共有からデータをダウンロードする場合は、それらがマシンのハードドライブにローカルに保存されていることを確認してください。
  • 次に、... / local / ..を含むパスを選択する必要があります。残りは、データの性質、タイプに依存します。/local/varまたは/ local / tmpなどです。 。

ファイルシステム階層:
代替テキスト

こちらもご覧ください


1
これはFHSの便利な表現ですが、共有データストアの標準的な場所を示唆するものではありません。
ミスターベン

FSHの状態:/ usrは共有可能な読み取り専用データです。つまり、/ usrはさまざまなFHS準拠ホスト間で共有可能で なければならず、に書き込まれてはなりません。うーん、だからあなたの共有の目的に依存しているようだ。
htorque

@htorque / varの下のどこかが(今は削除された)回答で示唆したように、ファイル共有に最も適していると考えています。
ミスターベン

1
FHSにも次のように記載されているため、回答を削除しました。通常アプリケーションはディレクトリを/ varの最上位に追加してはいけません。このようなディレクトリは、システム全体に何らかの影響がある場合にのみ、FHSメーリングリストと相談して追加する必要があります。-FHSは、単に(書き込み可能な)データを共有することを望んでいません!:P
htorque

ありがとう、便利な概要、そして他の答えと同様に、それは決定的な答えがないことを文書化するのに役立ちます。
ミスターベン

5

FHSが共有ユーザーデータの場所を定義するとは思わない。共有データをそこに保存するのはユーザー次第です。通常、/usr/local/sharedまたはを使用します/home/shared


1

NFSドキュメントで提案されているように、以前/exportはNFSでサービスを提供し/mnt、NFS共有をローカルにマウントするのを見てきました。

/etc/exportsファイル名エクスポートされたボリュームや/exportsディレクトリそれらをマウントし、リモートユーザーにそれらを提供しています/mnt。サーバーホストは/mnt、リモートホストとの互換性を維持し、負荷平準化、クォータなどの機能を保持するために、サーバー上でローカルに実行されているクライアントまたはプロセスの使用に同じnfsデーモンを使用してこれらの同じ共有をマウントすることもできます

それは、「標準」に近いものです。/exportFHSにはないため/export、独立して追加されたため、おそらく誰も満足していないことに注意してください/srv。おそらく、「サービス」ボリュームではなくデーモンとして実行されている「サービス」との潜在的な混乱のためです。/export混乱の可能性がほとんどない明確な名前です。私は何も見ません/srv

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.