web-dev-qa-db-ja.com

Linuxファイルシステムツリーのgitリポジトリを保存する従来の場所はどこですか?

私がWebサーバーのホスティングに例えると、gitのデータは/var/gitにあるはずなので、私のgitリポジトリは/var/git/myrepoにあるはずです。

[〜#〜] q [〜#〜]:それは正しい推測ですか?

60
Samuel Rossille

ここに正しい答えや間違った答えはありませんが、あなた自身の個人的な宗教によって指示されたものと、システムのhier(7)マンページの内容を除きます。

典型的なLinux hierマンページ ; 典型的なBSD hierマンページ

/var/git/*個人的に私には理にかなっているようです。それは私が私を保つ場所です。

33
voretaq7

/srvの下のディレクトリ(または共有ファイルシステム)に配置します。これが目的です。

/srvディレクトリは システムが提供するサイト固有のデータ を対象としています。標準から:

これを指定するこの主な目的は、ユーザーが特定のサービスのデータファイルの場所を見つけられるようにし、読み取り専用データ、書き込み可能なデータ、およびスクリプト(cgiスクリプトなど)に単一のツリーを必要とするサービスを合理的に配置できるようにするためです。特定のユーザーのみが関心を持つデータは、そのユーザーのホームディレクトリに保存する必要があります。

/srvのサブディレクトリに名前を付けるために使用される方法は、現時点ではこれがどのように行われるべきかについてコンセンサスがないため、指定されていません。 /srvの下でデータを構造化する1つの方法は、プロトコルによるものです。 ftprsyncwww、およびcvs。大規模なシステムでは、/srv/srv/physics/wwwなどの管理コンテキストによって/srv/compsci/cvsを構造化すると便利です。この設定はホストごとに異なります。したがって、どのプログラムも、既存の/srvの特定のサブディレクトリ構造や、/srvに必ず格納されるデータに依存するべきではありません。ただし、/srvはFHS準拠のシステムに常に存在し、そのようなデータのデフォルトの場所として使用する必要があります。

ディストリビューションでは、管理者の許可なしにこれらのディレクトリにローカルに配置されたファイルを削除しないように注意する必要があります。


SELinux対応システムでは、デフォルトのディレクトリは/var/www/gitであり、リポジトリはそのサブディレクトリにある必要があります。または、使用できます。 /srv/gitおよびファイルコンテキストを同等に設定します。

semanage fcontext -a -e /var/www/git /srv/git
33
Michael Hampton
/home/git/

これは最初は少し型破りに思えるかもしれませんが、このディレクトリはSudo useradd git。 gitユーザーcdに切り替えて、すぐに実行できます。

$ mkdir .ssh; chmod 700 .ssh
$ touch .ssh/authorized_keys; chmod 600 .ssh/authorized_keys

ピアの公開鍵を、作成したauthorized_keysファイルに入れます。

お先にどうぞ git init --bareあなたのプロジェクト、「url」はただ...それを待ちます...

git@<server>:<project>
5
clime

それは完全にあなた次第です。ただし、システムのアップグレードなどを簡単にするために、git data dirを別のパーティションまたはディスクに配置するのが最適です。もちろん、十分なディスク容量があることを確認する必要があります。

1
Sven

Voretaq7が言ったように、そのような問題についての正誤はありません。ただし、ソフトをフォローしたい場合、データベースソフトはデータを

/var/lib/soft

たとえば、debian上のPostgresql 9.1の場合、フォルダは

/var/lib/postgresql/9.1/

だから私は個人的に選択します

/var/lib/git
1
Denis R.

私のArch Linuxには/srv/httpはApache(システムのデフォルト)で、node.js httpサーバーにも使用します。同様に、すべてのgitリポジトリを/srv/git

私はGitLabを使用しており、/srv/gitもその場合のgitのホームフォルダーです。

最終的に、それはあなた次第です。あなたのディストリビューション内の他のサービスと同様のフォーマットに固執することは覚えやすいことを私は発見しました。

1
trusktr

Gitにフロントエンドを使用している場合は、ディストリビューションによってパッケージ化されているフロントエンドが配置したい場所に移動してください。それ以外のものは、不必要な非互換性を生み出しているだけです。

0
vonbrand

まず、/ srvを使用するという提案に関しては、すべてのgitリポジトリがWebサイトに使用されていると想定しています。それはあなたにとって本当かもしれませんが、あなたはウェブサイトではないソフトウェアの一部を持っているかもしれません。

次に、コードリポジトリを/ var/www/htmlまたは/ srv/htmlの外部に保存することで、2つのメリットがあります。リポジトリに任意のレベルでシンボリックリンクを作成して、ライブラリを非表示にするのが簡単になります。また、リポジトリの場所がまったく変更された場合でも、仮想ホストの構成を変更する必要はありません。代わりに、シンボリックリンクを調整するだけです。

私は/ var/repoを使用していましたが、/ var/gitの方が良いと思います。今後はそれを使用する予定です。

0
avatarofhope2

サイト構成を維持するためにgit reposをダウンロードし、それを展開して保存します。

/ data/repos/$ REPO_GROUP_OR_USER/$ REPO_NAME

0
yosefrow