Где обычное место для хранения репозиториев git в дереве файловой системы Linux?

Если я сделаю аналогию с хостингом веб-сервера, я бы сказал, что данные git должны быть в /var/git , поэтому мой репозиторий git будет в /var/git/myrepo

В : Правильно ли это?

8 Solutions collect form web for “Где обычное место для хранения репозиториев git в дереве файловой системы Linux?”

Здесь нет правильного или неправильного ответа, кроме тех, которые продиктованы вашей личной религией и содержанием hier(7) в вашей системе.

Типичная hier страница hier Linux ; Типичная hier страница BSD hier )

/var/git/* кажется мне разумным. Вот где я держу свою.

Поместите его в каталог (или общую файловую систему) в /srv . Для этого это и есть.

Каталог /srv предназначен для данных сайта, обслуживаемых системой . Из стандарта:

Эта основная цель заключается в том, чтобы пользователи могли находить местоположение файлов данных для конкретной службы и чтобы службы, требующие отдельного дерева для данных только для чтения, записываемых данных и сценариев (например, скриптов cgi), могли быть размещены разумно. Данные, представляющие интерес только для конкретного пользователя, должны находиться в домашнем каталоге этого пользователя.

Методология, используемая для обозначения подкаталогов /srv не определена, поскольку в настоящее время нет консенсуса относительно того, как это должно быть сделано. Один способ структурирования данных в /srv – по протоколу, например. ftp , rsync , www и cvs . В больших системах может быть полезно структурировать /srv по административному контексту, например /srv/compsci/cvs /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 
 /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> 

Это полностью зависит от вас. Оптимально, однако, вы должны поместить git data dir на отдельный раздел или даже диск, чтобы сделать обновления системы и т. Д. Проще и, конечно же, вам нужно убедиться, что на диске достаточно свободного места.

На моем Arch Linux у меня есть /srv/http для apache (который является системным по умолчанию), и я использую его для моих http-серверов node.js. Аналогичным образом я решил просто поместить все репозитории git в /srv/git .

Я использую GitLab, и /srv/git – это домашняя папка для git в этом случае.

В конечном счете, это зависит от вас. Я обнаружил, что придерживаться формата, аналогичного другим сервисам в вашем дистрибутиве, легко запомнить.

Как сказал voretaq7, на этот предмет нет правильного или неправильного ответа. Тем не менее, если вы хотите следить за программами, кажется, что программные файлы базы данных хранят свои данные в

 /var/lib/soft 

Например, для Postgresql 9.1 на debian папка

 /var/lib/postgresql/9.1/ 

Поэтому я бы лично выбрал

 /var/lib/git 

Если вы используете какой-то интерфейс для git, просто идите туда, где захотите разместить их в своем дистрибутиве. Все остальное просто создает ненужные несовместимости.

Во-первых, в отношении предложения использовать / srv вы считаете, что все репозитории git используются для веб-сайтов. Это может быть правдой для вас, но у вас может быть часть программного обеспечения, которое не является веб-сайтом.

Во-вторых, сохраняя свои репозитории кода вне / var / www / html или / srv / html, вы получаете два приятных преимущества. Вы можете создавать символические ссылки в своем репо на любом уровне, что упрощает скрытие ваших библиотек. Кроме того, если местоположение вашего репозитория вообще изменится, вам не нужно изменять настройки виртуального хоста. Вместо этого вы просто корректируете свои символические ссылки.

Я использовал / var / repo, но я думаю, что / var / git лучше, и с этого времени будет использоваться.

  • Неизвестный request Apache от неизвестного пользователя
  • Cronjob stderr для отправки и отправки по электронной почте
  • Установите Apache на RedHat без подkeyения к Интерlessу.
  • Очень высокая сеть в экземпляре ec2
  • Пакеты, проходящие через два маршрутизатора DNATing, IP-адрес источника теряется
  • Apache as Load balancer - принудительный разрыв в постоянном соединении
  • Ограничить использование ввода-вывода с использованием групп
  • ZFS при обновлении linux от 0.6.2 до 0.6.3 сделал мою zpool нечитаемую помощь перевести CentOS на команды Ubuntu
  • Как установить приложение Linux в случаях, когда запущенные параллельные сценарии запуска вkeyены или отkeyены?
  • Атака блочной атаки с использованием lastb и iptables
  • Как я могу get доступ к базе данных postgres без доступа root к моей локальной машине?
  • Interesting Posts

    swap на dev +, но get mount dev + как поменять dev в любом случае?

    Рекомендовать платформу хранения: Gluster Vs Nexenta

    Сохранение секретности

    Может ли user AD DS реплицироваться / синхронизироваться с AD LDS в другой контейнер / организационный блок?

    Централизованная виртуализация (ESXi, XenServer) в полностью свободной от Windows среде

    Файл Htaccess продолжает отображаться | Как заставить его остановиться?

    Как получать notifications о сбоях жестких дисков в serverах Dell PowerEdge

    Nagios. Возможно ли создать пользователей «только для просмотра» и позволить им просматривать только определенные службы / serverы?

    Как проверить использование gpu на экземпляре aws ec2 gpu?

    Есть ли логическая причина, почему Amazon EC2 не позволяет мне указывать порт при использовании GRE?

    Использование стороннего certificateа с Active Directory без requestа certificateа

    Мой VPS отправляет исходящую атаку

    Как exportировать данные SQL Server из поврежденной базы данных (с ошибкой записи на диск)

    Сколько виртуальных машин на kernel ​​/ vcpu можно запустить в OpenStack

    Можно перенаправить с HTTPS на HTTP за балансировщик нагрузки?