Linux FHS: / srv vs / var… gdzie mam coś umieścić?

55

Moje doświadczenia związane z tworzeniem stron internetowych zacząłem od Fedory i RHEL, ale przechodzę na Ubuntu. W Fedorze / RHEL domyślnie używa się folderu / var, podczas gdy Ubuntu używa / srv.

Czy jest jakiś powód, aby używać jednego nad drugim i gdzie dzieli się linia? (Tak bardzo mnie to zmieszało, że do niedawna myślałem, że / srv to / svr dla serwera / usługi)

Moje główne obawy dotyczą dwóch rodzajów folderów

  • domyślne katalogi www i ftp
  • określone foldery aplikacji, takie jak:
    1. udziały samby (ewentualnie zgrupowane w folderze smb)
    2. aplikacje internetowe (czy powinny przejść do folderu www, czy też mogę zrobić dowiązanie symboliczne do własnego katalogu, np. „___ / www / wordpress” -> „/ srv / wordpress”)

Szukam najlepszych praktyk, standardów branżowych i jakościowych powodów, dla których podejście jest najlepsze (a przynajmniej dlaczego jest preferowane).

wag2639
źródło
Może to inne pytanie pomoże ci: serverfault.com/questions/102569/…
ptman

Odpowiedzi:

51

Wynika to z LSB, który mówi „ /varzawiera zmienne pliki danych. Obejmuje to katalogi i pliki buforowania, dane administracyjne i rejestrujące oraz pliki przejściowe i tymczasowe”. ale mówi to dla /srv: „ /srvzawiera dane właściwe dla witryny, które są obsługiwane przez ten system”.

SuSE był jednym z pierwszych programów, które użyłem, które utrzymywały webroota /srv- zwykle Debiana / Ubuntu / RHEL /var/www- ale pamiętaj też, że jeśli zainstalujesz aplikację webową używając yum lub apt, prawdopodobnie się w nią znajdą /usr/share. Również wytyczne dotyczące pakowania Fedory mówią, że „pakiet, po zainstalowaniu i skonfigurowaniu przez użytkownika, może służyć /srvjako lokalizacja danych. Pakiet po prostu nie może tego zrobić od razu po wyjęciu z pudełka”.

Jeśli chodzi o zrównoważoną refleksję, powiedziałbym, /var/wwwżebyś kontynuował - albo możesz to zrobić, tworząc /var/wwwdowiązanie symboliczne /srv/www. Wiem, że na budowanych przeze mnie systemach RDBMS często tworzę /u01 /u02itp. Jako dowiązania symboliczne /home/oracle. Powodem tego jest to, że wielu DBA spodziewa się znaleźć rzeczy w / u01 i wielu innych oczekuje /home/oracle. To samo można powiedzieć o Sysadminach w ogóle - niektórzy instynktownie zaglądają, /var/wwwa niektórzy /srv/www, jak ja, przywrócą konfigurację apache dla DocumentRoot.

Mam nadzieję, że to zapewni ci pewne wskazówki.

Geraint Jones
źródło
6
Zazwyczaj umieszczam zasoby „obsługiwane” w katalogu / srv, głównie ze względu na pamięć masową i kopie zapasowe. W ten sposób podawane dane mogą znajdować się w puli pamięci innej niż pliki zarządzane przez system, takie jak apt cache i dzienniki, i w razie potrzeby łatwiej jest pomieścić więcej miejsca.
gerlos
3
Korzystanie z /srvpartycji jest szczególnie przydatna, gdy masz oddzielne dyski montowane na /vara /srvi nie chcesz, aby rejestrowanie oddziaływać swoją IO. Warto wspomnieć, że Apache zawiera również Directorydyrektywy /srv, które zostały po prostu skomentowane.
varlogtim