Якщо я зроблю аналогію з хостингом веб-сервера, я б сказав, що дані git повинні бути /var/git
, тому моє сховище git буде/var/git/myrepo
З : Це правильна здогадка?
Якщо я зроблю аналогію з хостингом веб-сервера, я б сказав, що дані git повинні бути /var/git
, тому моє сховище git буде/var/git/myrepo
З : Це правильна здогадка?
Відповіді:
Тут немає правильної чи неправильної відповіді, крім тієї, яку диктує ваша особиста релігія та вміст сторінки сторінки hier(7)
у вашій системі.
Типовий Linux hier
сторінка керівництво ; Типова BSD hier
сторінка керівництва )
/var/git/*
особисто мені здається розумним. Ось де я зберігаю своє.
Помістіть його в каталог (або спільну файлову систему) під /srv
. Це для чого.
/srv
Довідник призначений для даних конкретних ділянок , що обслуговуються системою . Зі стандартного:
Основна мета цього уточнення полягає в тому, щоб користувачі могли знайти розташування файлів даних для певного сервісу, і таким чином, щоб сервіси, які потребують єдиного дерева для лише перегляду даних, даних, що записуються, та скриптів (наприклад, cgi-скриптів), могли бути розміщені розумно. Дані, які цікавлять лише конкретного користувача, повинні міститись у домашньому каталозі цих користувачів.
Методика, що використовується для назви підкаталогів,
/srv
не визначена, оскільки наразі немає єдиної думки щодо того, як це робити. Один з методів структурування даних/srv
за протоколом, наприклад.ftp
,rsync
,www
, Іcvs
. На великих системах це може бути корисно структурувати/srv
адміністративним контексті, наприклад/srv/physics/www
,/srv/compsci/cvs
і так далі Ця установка буде відрізнятися від хоста для розміщення. Тому жодна програма не повинна покладатися на конкретну структуру підкаталогу/srv
існуючих або даних, які обов'язково зберігаються в/srv
. Однак/srv
завжди має існувати в системах, сумісних з FHS, і їх слід використовувати як місце за замовчуванням для таких даних.Поширення повинні обережно не видаляти локально розміщені файли в цих каталогах без дозволу адміністратора.
У системі з підтримкою SELinux каталог за замовчуванням є /var/www/git
, а repos має знаходитись у підкаталогах. Або ви можете використовувати, наприклад, /srv/git
і встановити контекст файлу як еквівалентний:
semanage fcontext -a -e /var/www/git /srv/git
/home/git/
Спочатку це може здатися трохи нетрадиційним, але це дуже розумно, оскільки цей каталог створений для вас (з правильними дозволами), коли ви це робите sudo useradd git
. Ви можете просто перейти на користувача git cd
та негайно запустити:
$ mkdir .ssh; chmod 700 .ssh
$ touch .ssh/authorized_keys; chmod 600 .ssh/authorized_keys
і помістіть відкриті ключі ваших однолітків у щойно створений файл дозволених ключів.
Після того, як ви подали git init --bare
свій проект, "URL-адреса" буде просто ... зачекайте його ...
git@<server>:<project>
Як сказав voretaq7, на цю тему немає правильної чи неправильної відповіді. Однак, якщо ви хочете стежити за софт, здається, що софт бази даних зберігає свої дані в
/var/lib/soft
Наприклад, для Postgresql 9.1 на debian папка є
/var/lib/postgresql/9.1/
Тож я б особисто обрав
/var/lib/git
У моєму Arch Linux у мене /srv/http
є апарат apache (який є системним за замовчуванням), і я також його використовую для своїх http-серверів node.js. Так само я вирішив просто помістити всі сховища git /srv/git
.
Я використовую GitLab, і /srv/git
в цьому випадку є домашньою папкою для git.
Зрештою, це залежить від вас. Я виявив, що дотримуватися формату, подібного до інших служб у вашому дистрибутиві, легко запам'ятовується.
Якщо ви використовуєте деякий фронтенд для git, просто перейдіть туди, куди той, який упакований вашим розповсюдженням, хоче розмістити їх. Все інше - це лише створення непотрібних несумісностей.
По-перше, щодо пропозиції щодо використання / srv, ви припускаєте, що всі сховища git використовуються для веб-сайтів. Це може бути правдою для вас, але ви можете мати програмне забезпечення, яке не є веб-сайтом.
По-друге, зберігаючи свої сховища коду поза / var / www / html або / srv / html, ви отримуєте дві приємні переваги. Ви можете створювати символічні посилання в репо-рене на будь-якому рівні, полегшуючи приховувати свої бібліотеки. Крім того, якщо місцезнаходження вашого репозиторію взагалі змінюється, вам не доведеться змінювати конфігурації віртуального хоста. Натомість ви просто налаштовуєте свої символічні посилання.
Я використовував / var / repo, але я вважаю, що / var / git краще, і з цього моменту буде використовувати це.