4

У нас есть несколько инструментов для импорта данных, которые мы написали собственными силами, и мне нужно установить их на новом Linux-боксе.

Они написаны на Java и .NET (работают на Mono) и содержат двоичные файлы, файлы конфигурации, ресурсы / ресурсы, такие как изображения и шаблоны. Они также пишут журналы и ищут в некоторых специальных папках данные для импорта.

Я новичок в Linux. На данный момент они находятся в таких папках, как /data/importer.java/ и /data/importManager.net/ которых находятся все, что им нужно для запуска.

Но я вижу /data/ это нестандартная папка. Поэтому я хотел знать, есть ли подходящее место для их настройки, однако, похоже, что в Linux есть много-много папок, каждая для определенной цели и для данных только для чтения / чтения-записи.

Это почти как если бы мне нужно было разделить свои приложения на кучу папок, чтобы сделать это правильно, и некоторые имена папок, например, bin звучат правильно, но что тогда мне делать с недвоичными / скомпилированными файлами?

Помимо двоичных файлов, конфигурация и все остальное часто модифицируется людьми.

Что-то вроде (на данный момент сосредоточимся только на части Java):

  • /opt/importer.java/ для двоичных файлов, конфигурации и ресурсов
  • /var/importer.java/data-in/ для добавления данных для импорта
  • /var/importer.java/logs для написанных журналов

Или, может быть, я должен использовать папку /srv/ ? Или, возможно, /usr/bin/ . Может быть, логи должны быть записаны в папку /home/ работающего пользователя?

Это все так сложно. Всякий раз, когда я читаю какую-либо документацию по Linux, я сожалею об этом. Должен ли я просто скопировать все это с другой машины как есть и забыть, что я когда-либо пробовал?

Спасибо

Люк

2 ответа2

11

Это вопрос без правильного ответа и интригующей истории Unix.

Правило, которого мы придерживались у моего предыдущего работодателя, заключалось в том, что нестандартное программное обеспечение было установлено в /opt/PackageName-VersionNumber и была символическая ссылка из /opt/PackageName-VersionNumber на /opt/PackageName .

Конфиги идут в /opt/PackageName/etc
Логи идут в /opt/PackageName/logs
Двоичные файлы идут в /opt/PackageName/bin
Данные идут в /opt/PackageName/data

Для приложений, которые должны были распространяться за пределами нашего магазина, мы написали, что менеджер пакетов может их переместить. Это было редкое явление, а не "веселое".

1

Насколько я знаю, нативные Linux-приложения написаны так, что их двоичные файлы находятся в [/usr]/bin , входят в /var , config в /etc и так далее. Не родные приложения или комбинации пакетов (например, lampp/xampp, например), которые предназначены для использования во всей системе, с другой стороны, по умолчанию устанавливаются в /opt , при этом конфигурация обычно также находится в этой папке. Если программное обеспечение предназначено для запуска на пользователя, папка внутри его домашнего каталога является обычной.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .