Criando instalador para jar em Linux

Olá,

tenho um sistema .jar e meu cliente possui Ubuntu, gostaria de criar um instalador para que faça tudo sozinho, sem eu precisar pegar a máquina e criar as pastas, baixar jdk, mover arquivos, por ae vai…

pesquisei sobre softwares que crie isto para mim, não tivi muito sucesso visando o linux,
agora penso em criar em shellScript, mas ae eu teria que enviar um diretório e pedir pro usuário dar permissão de execução em tal arquivo dentro do diretório para assim, começar o trabalho, achei um pouco complicado, dependendo do usuário.

Gostaria de opiniões e ajuda sobre este assunto que possa facilitar minha vida com o cliente/usuário.

Obrigado.

você teria de solicitar ao usuário pelo menos o uso do comando sudo, já que instalação requer poderes administrativos. Algo como:

chmod +x ./seuShellScript

sudo ./seuShellScript

obrigado pela atenção,

justamente, por isso queria algo mais simples, se conhece um modo diferente para que eu possa fazer isto.

De qualquer maneira, é relativamente simples criar um shell script que contenha DENTRO dele os arquivos a serem descompactados. A ideia é a seguinte:
a) Pegue o tal diretório, contendo os arquivos a serem instalados, e crie um “tar.gz” desse diretório
b) Crie um shell script que faz a descompressão desse tar.gz
c) Mande o usuário copiar o shell script e o tar.gz

Você já viu o lzPack?

Todo caso, você pode criar um arquivo TAR contendo o script e seu JAR (o TAR preserva permissões, não sendo necessário dar um chmod). Aí as instruções para o usuário seriam:

  1. Baixe o arquivo e descompacte-o.
  2. Dê dois cliques no script.
  3. Se for solicitada sua senha (para instalar o JRE, por exemplo, é preciso da senha para fazer um sudo), digite-a.

hum, entendi, mas mesmo assim, o shell estaria composto com a programação mostrando onde os arquivos deverão ser descompactados?

o tar.gz seria só para não ter vários arquivos ‘soltos’ no diretório?

sim, vi sobre o IzPack, mas para ser sincero não entendi muito bem sua funcionalidade, até mesmo porque dentro do meu instalador, eu iria fazer com que instalasse tb o jdk, ja que a máquina estará limpa, só com o so, ae eu vi que preciso do native lancher la do izpack e não sei o que, fiquei perdido

[quote=PedroGenio]Olá,

tenho um sistema .jar e meu cliente possui Ubuntu, gostaria de criar um instalador para que faça tudo sozinho, sem eu precisar pegar a máquina e criar as pastas, baixar jdk, mover arquivos, por ae vai…

pesquisei sobre softwares que crie isto para mim, não tivi muito sucesso visando o linux,
agora penso em criar em shellScript, mas ae eu teria que enviar um diretório e pedir pro usuário dar permissão de execução em tal arquivo dentro do diretório para assim, começar o trabalho, achei um pouco complicado, dependendo do usuário.

Gostaria de opiniões e ajuda sobre este assunto que possa facilitar minha vida com o cliente/usuário.

Obrigado. [/quote]

Procura por algum tutorial pra criar um arquivo .deb (já que seu alvo é o Ubuntu), não é muito complicado e vai ser mais fácil pro usuário.

O IzPack depende do JRE para rodar. Então deve ser shell script mesmo.

E nesse caso, sim: o script teria em texto puro os comandos executados e diretórios onde os arquivos seriam extraídos/copiados.

[quote=rael_gc][quote=PedroGenio]Olá,

tenho um sistema .jar e meu cliente possui Ubuntu, gostaria de criar um instalador para que faça tudo sozinho, sem eu precisar pegar a máquina e criar as pastas, baixar jdk, mover arquivos, por ae vai…

pesquisei sobre softwares que crie isto para mim, não tivi muito sucesso visando o linux,
agora penso em criar em shellScript, mas ae eu teria que enviar um diretório e pedir pro usuário dar permissão de execução em tal arquivo dentro do diretório para assim, começar o trabalho, achei um pouco complicado, dependendo do usuário.

Gostaria de opiniões e ajuda sobre este assunto que possa facilitar minha vida com o cliente/usuário.

Obrigado. [/quote]

Procura por algum tutorial pra criar um arquivo .deb (já que seu alvo é o Ubuntu), não é muito complicado e vai ser mais fácil pro usuário.[/quote]
Bem observado. Coloque seu JAR como sendo dependente de sun-java6-bin (isso garante o JRE) e use scripts de pre/post instalation caso necessário.

agradeço imensamente a ajuda de vocês, vou estudar sobre o que falaram e por em prática logo logo.
obrigado

Você poderia criar um .deb e apontar como depedência o jdk e etc… Assim o usuário instalaria com alguns cliques. :lol: