Onde devo instalar meu aplicativo no Linux?

3

Temos algumas ferramentas de importação de dados que nós escrevemos internamente e eu preciso configurá-las em uma nova caixa Linux.

Eles são escritos em Java e .NET (em execução no Mono) e incluem binários, arquivos de configuração, recursos / recursos, como imagens e modelos. Eles também gravam logs e consultam algumas pastas especiais para os dados a serem importados.

Sou novo no Linux. No momento, eles estão em uma pasta como /data/importer.java/ e /data/importManager.net/ com essas pastas contendo tudo o que precisam para executar.

Mas vejo que /data/ é uma pasta não padrão. Então, eu queria saber se há um lugar apropriado para configurá-los, no entanto, parece que no Linux, há muitas, muitas pastas para um propósito específico e para dados somente leitura / leitura-gravação.

É quase como se eu precisasse dividir meus aplicativos em várias pastas para fazer isso corretamente, e alguns nomes de pastas, como bin , mas o que eu faço com arquivos não binários / compilados?

Além dos binários, a configuração e tudo o mais é freqüentemente modificado por humanos.

Algo como (apenas focando na parte Java por enquanto):

  • /opt/importer.java/ para os binários, configuração e recursos
  • /var/importer.java/data-in/ para descartar dados para importar
  • /var/importer.java/logs para os registros gravados

Ou talvez eu deva usar a pasta /srv/ ? Ou talvez /usr/bin/ . Talvez os logs devam ser gravados na pasta /home/ do usuário em execução?

É tudo tão complicado. Sempre que leio alguma documentação do Linux, eu me arrependo. Devo apenas copiar tudo da outra máquina como está e esquecer que já tentei?

Obrigado

Luke

    
por Luke Puplett 13.03.2014 / 18:08

2 respostas

10

Esta é uma pergunta sem resposta certa e um pouco intrigante do histórico do Unix.

A regra que seguimos no meu empregador anterior era que o software não pronto para uso era instalado em /opt/PackageName-VersionNumber e havia um link simbólico de /opt/PackageName-VersionNumber para /opt/PackageName .

As configurações vão em /opt/PackageName/etc
Registros entram em /opt/PackageName/logs
Binários vão em /opt/PackageName/bin
Os dados vão em /opt/PackageName/data

Para aplicativos que seriam distribuídos fora de nossa loja, nós os escrevemos para serem relocáveis pelo gerenciador de pacotes. Esta foi uma ocorrência rara e não "divertida".

    
por 13.03.2014 / 18:38
0

Tanto quanto sei, os aplicativos nativos do linux são escritos para ter seus binários em [/usr]/bin , registram em /var , config em /etc e assim por diante. Aplicativos não nativos ou combinações de pacotes (como lampp / xampp por exemplo) que são destinados a serem usados em todo o sistema, por outro lado, são instalados por padrão em /opt , com a configuração normalmente residindo nessa pasta. Se o software for executado por usuário, uma pasta dentro de seu diretório pessoal é habitual.

    
por 13.03.2014 / 18:34

Tags