Linux FHS: / srv vs / var… куда мне положить вещи?

55

Мой опыт веб-разработки начался с Fedora и RHEL, но я перехожу на Ubuntu. В Fedora / RHEL по умолчанию используется папка / var, а в Ubuntu - / srv.

Есть ли какая-либо причина использовать один над другим и где линия разделяется? (Это смутило меня настолько, что до недавнего времени я думал, что / srv был / svr для сервера / службы)

Моя основная задача связана с двумя типами папок

  • каталоги www и ftp по умолчанию
  • определенные папки приложений, такие как:
    1. общие папки samba (возможно, сгруппированные в папке smb)
    2. веб-приложения (если они находятся в папке www или я могу сделать символическую ссылку на свой собственный каталог, например "___ / www / wordpress" -> "/ srv / wordpress")

Я ищу лучшие практики, отраслевые стандарты и качественные причины, по которым подход является лучшим (или, по крайней мере, почему он предпочтителен).

wag2639
источник
Может быть, этот другой вопрос поможет вам: serverfault.com/questions/102569/…
ptman

Ответы:

51

Это происходит из LSB, который говорит: « /varсодержит переменные файлы данных. Это включает в себя каталоги и файлы спула, административные данные и данные журналов, а также временные и временные файлы». но говорит это для /srv: « /srvсодержит специфичные для сайта данные, которые обслуживаются этой системой».

SuSE был одним из первых дистрибутивов, который я использовал, который позволял использовать webroot /srv- как правило, в Debian / Ubuntu / RHEL /var/www- но также следует помнить, что если вы устанавливаете веб-приложение, используя yum или apt, то они, скорее всего, окажутся в /usr/share. Также в руководстве по упаковке для Fedora говорится, что «пакет, однажды установленный и сконфигурированный пользователем, может использовать /srvв качестве места для данных. Пакет просто не должен делать это из коробки».

Что касается сбалансированного размышления, я бы сказал, продолжайте /var/www- или вы можете сделать и то и другое, сделав /var/wwwсимволическую ссылку на /srv/www. Я знаю, что в системах Oracle RDBMS, которые я создаю, я часто создаю /u01 /u02символические ссылки /home/oracle. Причина этого в том, что многие администраторы БД ожидают найти что-то в / u01, а многие ожидают /home/oracle. То же самое можно сказать и о Sysadmins в целом - некоторые будут инстинктивно заглядывать, /var/wwwа другие, в /srv/wwwто время как другие, как я, будут использовать конфигурацию apache для DocumentRoot.

Надеюсь, это поможет вам.

Герайнт Джонс
источник
6
Я обычно помещаю «обслуживаемые» ресурсы в / srv, в основном для хранения и резервного копирования. Таким образом, обслуживаемые данные могут находиться в пуле хранения, отличном от файлов, управляемых системой, таких как кэш-память и журналы, и при необходимости легче разместить больше места.
Герлос
3
Использование /srvраздела особенно полезно, если у вас установлены отдельные диски, /varи /srvвы не хотите, чтобы запись в журнале влияла на ваш ввод-вывод. Стоит отметить, что Apache также содержит Directoryдирективы /srv, они только что закомментированы.
varlogtim