Где обычное место для хранения репозиториев 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 лучше, и с этого времени будет использоваться.

  • Сетевая map suddently больше не отвечает, но ответы после пинга
  • как полностью настроить службу при остановке
  • Каков наилучший способ задания задания cron, чтобы проверить, что длительный процесс все еще продолжается, а если нет, запустите его?
  • Как просматривать динамические MAC-адреса dnsmasq?
  • Восстановление fileов с ReadyNAS
  • Не удалось установить Fedora 18 с флеш-накопителя (предупреждение: / dev / root не существует)
  • Разрешить Apache запускать команду как другого пользователя
  • Эффект обновления прошивки IBM V7000 на установленном LUN
  • Как отkeyить пассивный режим в команде linux ftp
  • IPTABLES - проблема предварительного прослушивания - порт 443
  • Где лучшее место для LUKS для работы в stackе RAID / LVM / LUKS?
  • Interesting Posts

    Redhat OpenShift – connection отказалось от фатального: удаленный конец неожиданно повесил трубку

    Dovecot, Courier, Postfix Differences

    Как обнаружить почтовые serverы с переходом MX-записей на другой server MX

    Rekest приурочен к разрешению домена на aws ec2 при вызове веб-сервиса

    У меня два serverа Mysql, работающие на Centos7. оба используют разные порты. нужно вручную uploadся при запуске.

    Linux Cron: Могу ли я replace time выполнения на «x»?

    Самый быстрый метод удаления больших directoryов / папок

    Проблемы с правами доступа к fileам на OS X El Capitan и SMB share

    Настройки порта лака

    Есть ли регистратор доменов, который надежно предоставляет возможность редактировать записи клея?

    «Расширение диска» / «Хранилища» для Windows Server 2008 R2

    Сервер 2012 R2 (server terminalов Citrix) C: \ Windows \ System32 \ config \ TxR 5GB Regtrans Files

    Удалите заголовки X-SA-Exim из выходящих писем

    Удалите Диспетчер serverов и значки Powershell из панели задач

    Установка elfutils-libelf, неудачной зависимости, которая уже установлена?