Unix instala as melhores práticas, anexa ao caminho ou link por meio

3

Eu tenho alguns softwares que estou prestes a lançar (projeto gradschool) e quero saber em uma máquina unix quais são as melhores práticas para instalar software.

Eu originalmente vinculei por meio de /usr/local/bin meu projeto, mas recentemente olhei para instalá-lo anexando ao arquivo .bashrc para o usuário específico, com o caso especial de que, se o usuário for raiz, ele será anexado ao caminho global em vez de usuário específico.

Isso me trouxe alguns acréscimos fáceis de funcionalidade, já que posso vincular rapidamente a outros recursos com uma única adição de variável à pasta .bashrc do usuário instalador.

No entanto, estou começando a duvidar dessa decisão.

Para anexar ao caminho ou não anexar ao caminho, essa é a pergunta. Seja mais nobre para o link simbólico em /usr/local/bin , ou para pegar em armas e anexar a uma variável de caminho sempre crescente.

Mais informações:

É um back end C ++ com um front end TCL. Há também um arquivo java (criado muito antes na minha carreira) que o front end do TCL lança. Além disso, há uma extensão do front end do TCL que é reproduzido com outro programa com seu próprio interpretador TCL. Eu preciso fornecer o pacote bwidget tcl para o programa com o interpretador. Portanto, fornecer o pacote bwidget e iniciar o arquivo jar requer ter um local para vincular. Ainda mais, eu preciso facilitar para os usuários, pois eles são basicamente usuários de química e não são muito familiares com o unix e podem estar no mac.

A plataforma precisa funcionar no Mac ou no Unix.

Idealmente, quero que o usuário possa iniciar o script TCL com um único comando e não fazê-los lembrar da localização.

Este é um projeto de código fechado anteriormente que agora é de código aberto e queremos que os usuários possam facilmente compilar e instalar o programa

Estou usando o make para criar uma opção de instalação.

    
por user_123 31.03.2011 / 17:51

5 respostas

3

Não crie links simbólicos para / usr / local / bin ou com o PATH. Particularmente não o último. Basta escrever um programa de instalação que instale o material em um local especificado. Verifique um programa semelhante, de preferência bem conhecido, sobre como ele funciona. Se você puder fornecer mais detalhes sobre seu programa, poderemos oferecer alguns conselhos concretos, se você quiser.

Além disso, ninguém escreve programas de instalação a partir do zero. As pessoas costumam usar programas como Make, Cmake, scons etc. E algumas linguagens têm software de instalação especializado, como distutils para python, se você quiser usá-lo.

    
por 31.03.2011 / 18:01
0

Eu vi pacotes (normalmente coisas que você não encontraria nos repositórios de pacotes da distro) que se instalam em / opt e adicionam arquivos .desktop em ~ / Desktop e ~ / .local / share / applications para iniciá-los.

    
por 31.03.2011 / 19:48
0

Duas sugestões alternativas:

  1. Em sistemas semelhantes ao Red Hat, você pode soltar um arquivo em /etc/profile.d/myprogram.sh
    por exemplo. contendo PATH=$PATH:/opt/myprogram
  2. Em muitos sistemas, você pode anexar sua linha PATH=... a /etc/environment

Mas acho que instalar seu programa em /opt/myprogram e colocar um único script para iniciá-lo em /usr/local/bin pode ser o mal menor.

    
por 01.04.2011 / 06:06
0

Eu pensei que é muito claro, mas a julgar por outra resposta, parece que não - então, não escreva nenhum programa de instalação. Prepare o (s) pacote (s) para instalação e deixe o gerenciador de instalação (que está presente na maioria dos sistemas Linux / Unix) fazer o trabalho.

Sim, isso significa que você deve criar vários pacotes, mas não deve ser tão difícil hoje em dia, existem multibuilders agora, que criam todos os pacotes necessários para você, por exemplo: link

E mais uma observação: o pacote deve ser instalado silenciosamente, não exibir telas iniciais, configurações, EULA e assim por diante.

    
por 01.04.2011 / 08:38
0

Se você quiser instalar o programa para um único usuário, poderá colocar o executável binário em ~ / bin. O .bashrc na maioria dos sistemas UNIX é configurado para incluir ~ / bin no caminho do usuário, se existir.

    
por 02.04.2011 / 03:13