Às vezes, encontro softwares que não são oferecidos .deb
ou são .rpm
apenas executáveis.
Por exemplo, Visual Studio Code , WebStorm ou Kerbal Space Programm .
Para esta pergunta, tomarei o Visual Studio Code como ponto de referência.
O software é oferecido como um pacote compactado.
Ao descompactar, fico com uma pasta chamada VSCode-linux-x64
que contém um executável chamado Code
.
Posso clicar duas vezes Code
ou apontar para ele com o meu terminal /home/user/Downloads/VSCode-linux-x64/Code
para executá-lo.
No entanto, gostaria de saber se existe uma maneira adequada de instalar esses aplicativos.
O que eu quero alcançar é:
- um lugar onde eu posso colocar todos os aplicativos / softwares oferecidos dessa maneira (executáveis)
- suporte ao terminal (que significa, por exemplo: eu posso escrever
vscode
em qualquer pasta do meu terminal e ele executará automaticamente o Visual Studio Code.
Informação adicional:
- Ambiente de trabalho: Gnome3
- SO: Debian
EDIT:
Decidi dar a resposta ao @kba porque sua abordagem funciona melhor com a minha solução de backup e além disso. Ter um script executando os binários oferece a possibilidade de adicionar argumentos.
Mas, para ser justo, a abordagem de John WH Smith é tão boa quanto a da @ kba.
fonte
.desktop
entrada para iniciar em um menu ou adicionar configuração, descobrir sinalizadores de linha de comando etc. Um alias é muito inflexível.Segundo o TLDP ,
/opt
pode ser um bom lugar para esse tipo de software. Eu mesmo usei para armazenar algumas ferramentas relacionadas à impressora, e a versão "dinâmica" do Skype (como disse o kba, "suporte ao terminal" pode ser alcançado configurando aPATH
variável de acordo).De maneira mais geral, costumo usar
/opt
para "instalar" o software proprietário compactado como um executável, mas isso provavelmente é só comigo. Além disso, eu tendem a simplesmente evitar esse tipo de software, já que geralmente não tenho certeza do que ele fará quando o rodar.Outro motivo pelo qual eu escolhi
/opt
é porque geralmente é para código independente de terceiros, que não depende de nenhum arquivo fora do/opt/'package'
diretório (e de outrosopt
diretórios, como/etc/opt
).Uma vantagem da liberação do código-fonte é que as pessoas configuram o processo de compilação, fornecendo caminhos de biblioteca / cabeçalhos personalizados com base nas especificidades do sistema. Quando um desenvolvedor decide liberar o código como um executável, essa vantagem é perdida. IMHO, neste ponto, o desenvolvedor não está mais autorizado a assumir que as dependências de seu programa estarão disponíveis (é por isso que tudo deve ser empacotado juntamente com o executável).
Para obter mais informações, eu também sugeriria a leitura dessa outra questão de U&L , que lida com as diferenças entre
/opt
e/usr/local
. Eu evitaria pessoalmente/usr/local
nesse caso, especialmente se não sou eu quem criou o programa que estou instalando.fonte
É inteiramente possível, e de fato bastante fácil, criar um pacote binário de distribuição a partir de um arquivo zip ou tarball binário, como no seu exemplo do Visual Studio Code.
Sim, pacotes binários de distribuição do Linux como
deb
s erpm
s são normalmente gerados a partir da fonte, mas não precisam ser. E muitas vezes (embora nem sempre) é possível organizar as coisas para que o pacote binário de distribuição resultante instale as coisas nos locais "certos" para estar em conformidade com a política de distribuição.No caso de um tarball proprietário aleatório, se houvesse uma maneira de instalar corretamente o software, por exemplo, um destino de instalação em um makefile, isso poderia ser usado com a maquinaria de embalagem de distribuição. Caso contrário, isso pode envolver o mapeamento "manual" dos arquivos para os locais "certos", o que pode dar muito trabalho. Embora a criação de um pacote possa parecer algo estranho, ele ainda possui um dos principais benefícios do gerenciamento de pacotes, a saber: instalações e desinstalações limpas. E é claro que esse pacote nunca seria aceito em nenhuma distribuição Linux que valha o nome, mas essa não é a sua pergunta.
fonte
fpm
.Eu raramente vi um software que é entregue apenas como um executável binário e nada mais, e sinceramente suspeitava disso. Se nada mais, pelo menos, eu esperaria um
README
(com instruções para instalá-lo) e umLICENSE
para acompanhá-lo. Dito isto ...O local usual em que os binários instalados localmente e não gerenciados pelo gerenciador de pacotes da distribuição são mantidos
/usr/local/bin
. Você pode colocá-lo lá e, como esse diretório já está (ou deveria estar) no seu,$PATH
você pode executar o software digitando seu nome na linha de comando.Normalmente, o software também deve ter uma página de manual (software não documentado é ruim, certo?) Que entra
/usr/local/man
e pode ter alguns arquivos de suporte, como traduções para outros idiomas e plugins que podem entrar/usr/local/share
ou/usr/local/lib
assim por diante. Por esta razão, o software que não é fornecido como um pacote como.deb
ou.rpm
normalmente vem com um instalador que coloca tudo nos lugares certos. Quando você está instalando a partir do código-fonte, normalmente émake install
.fonte
Code
é apenas o ponto de partida. Pode exibir a licença durante a execução (o executável de 64 bits não é executado na máquina na mão, mas alguém deve verificar que tipo de coisa para fornecer uma boa resposta abordando questão real do OP./usr/local
meu diretório pessoal. (Nem todos os programas funcionariam -Eclipse
por exemplo).