Pacote Ubuntu (.deb) Recomendações Pasta de Instalação e Nome Binário

0

Estou criando um arquivo .deb para um jar executável que construí para mim mesmo. Eu tenho um .deb construído e instalado meu programa para /usr/bin .

Como eu tenho um jar, agora eu tinha um arquivo executável chamado /usr/bin/mylovelyprogram.jar . Percebi que nenhum outro arquivo no diretório tinha uma extensão.

Agora, eu sei que ter uma extensão ou não, não importa, mas me incomoda desde que o meu programa se destacou. Gostaria de saber se era normal renomear o executável em pacote jars de tal forma que eles não têm mais uma extensão? Ou, se houvesse algum outro padrão, e. colocando o jar em outro lugar e usando um link simbólico? Eu gostaria de me adequar aos padrões existentes sempre que possível, principalmente para não cair em maus hábitos se algum dia decidir distribuir meu programa.

    
por Peter 08.04.2011 / 17:57

2 respostas

1

A localização unix "padrão" para pacotes locais (coisas específicas de um computador, e não toda a instalação da rede) é / usr / local

Muitas distribuições do Linux optam por quebrar este padrão e apenas descarregar tudo em / usr, ou (heaven probid) / opt! (você não odeia quando algum aplicativo decide preencher sua partição raiz porque ela se despe em / opt que não existia antes? sem mencionar nomes, libreoffice ...)

Seu arquivo jar é efetivamente uma biblioteca e deve estar em algum lugar como / usr / local / lib / myapp /

Você deve ter um script pequeno em / usr / local / bin que chama seu arquivo jar usando a máquina virtual java.

#!/bin/sh
java -jar /usr/local/lib/myapp/myjar.jar $*

E é claro que você deve ter certeza de que / usr / local / bin está em seu $ PATH

Esse arranjo impede que o seu software seja mesclado com o software do sistema operacional e também o mantém em uma partição que deve ter espaço de sobra. Ele também se encaixa muito bem com sistemas não-Linux, que, como é Java, você está esperando que ele esteja rodando, sim? Isso é afinal de contas todo o ponto de Java, não é? Plataforma cruzada?

    
por 08.04.2011 / 20:14
1

Os outros arquivos em /usr/bin certamente não são aplicativos java.

Seu jar não é um arquivo executável por si só, ele precisa ser aberto e executado pelo executável java . Clicar duas vezes fará a mágica (de executar java -jar your.jar ) em segundo plano.

IMHO seu jar não pertence a /usr/bin . /opt/yourapp seria mais sensato. Veja esta pergunta aqui .

    
por 08.04.2011 / 18:16