Назад | Перейти на главную страницу

Следует ли мне устанавливать приложения Linux в / var или / opt?

Я запускаю множество приложений с открытым исходным кодом, включая java и tomcat. Похоже, что в большинстве инструкций мои приложения запускаются из /var каталог. Но время от времени я также вижу /opt каталог. Пока я нахожусь на этом, я также вижу /usr/local/ и даже /etc также.

Когда мне следует устанавливать приложения в ту или иную папку? Есть ли у каждого из них плюсы и минусы? Связано ли это с историей вкусов (Solaris против Linux или Red Hat против Ubuntu)?

Стандарт для этих вопросов - Стандарт файловой иерархии. Это довольно большой документ. В основном (и очень грубо) стандартные пути в Linux:

  • /bin & /sbin предназначены для жизненно важных программ для ОС, sbin только для администраторов;
  • /usr/bin & /usr/sbin предназначены для неосновных программ, sbin только для администраторов;
  • /var это живые данные для программ. Это могут быть данные кеша, данные спула, временные данные (если они не находятся в /tmp, который стирается при каждой перезагрузке) и т. д .;
  • /usr/local для локально установленных программ. Как правило, в нем размещаются программы, которые соответствуют стандартам, но не были упакованы для ОС, а были установлены вручную администратором (например, с помощью ./configure && make && make install) а также скрипты администратора;
  • /opt предназначен для программ, которые не упакованы и не соответствуют стандартам. Вы бы просто поместили туда все библиотеки вместе с программой. Часто это быстрое и грязное решение, но его также можно использовать для программ, которые созданы вами и для которых вы хотите иметь определенный путь. Вы можете создать свой собственный путь (например, /opt/yourcompany) внутри него, и в этом случае вам рекомендуется зарегистрировать его как часть стандартных путей;
  • /etc не должны содержать программы, а скорее конфигурации.

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

Между дистрибутивами есть некоторые различия. Например, системы RedHat используют libexec каталоги, когда системы Debian / Ubuntu этого не делают.

FHS в основном используется дистрибутивами Linux (на самом деле я не знаю другой ОС, которая действительно ей соответствовала бы). Другие системы Unix не следуют этому. Например, системы BSD обычно используют /usr/local для упакованных программ, чего нельзя сказать о Linux. У Solaris очень разные стандартные пути.

Я настоятельно рекомендую вам прочитать документ FHS, который я указал выше, если вы хотите узнать больше об этом.

opt означает дополнительное программное обеспечение. var означает переменные системные файлы. Поэтому ваши приложения должны идти в /opt.

Это зависит от вашего местного стандарта.

Лично я ничего не устанавливаю в / var без уважительной причины. Мой / usr / local почти всегда монтируется nfs вне сети, поэтому все, что не упаковано, устанавливается в / opt.