Como implantar / instalar scripts corretamente?

3

Desenvolvi vários scripts utilitários que resolvem problemas específicos do trabalho diário da minha equipe.

Até agora, o que fiz para implantar o script nos laptops de meus colegas de trabalho é o seguinte:

  • Cada solução tem um script main.sh (assim como outros scripts e arquivos de suporte)
  • Crie uma pasta na pasta base do usuário e coloque os arquivos lá
  • Adicione um alias a .bashrc ou .bash_aliases , dependendo da distribuição do Linux, apontando para o main.sh script
  • Copie o arquivo de preenchimento automático para /etc/bash_completion.d/ (o nome do arquivo de conclusão é o mesmo que o alias e a extensão .auto ).
  • Copie a página man para /usr/share/man/man1/ e depois gzip (o nome do arquivo man é o mesmo que o alias mais a extensão .1 ).

Eu gostaria de criar um instalador, mas a parte do alias é complicada.

  • Existe uma opção melhor que também permitiria a automação (instalador)?
  • Talvez colocar um link flexível para o arquivo main.sh em /usr/local/bin em vez de criar aliases?
  • Existe uma prática recomendada para isso?
por Tulains Córdova 10.02.2015 / 17:12

2 respostas

1

Eu acho que você está certo, adicionando um link para / usr / local / bin seria muito melhor e fazendo um real . deb pacote para seus scripts

    
por grantbow 13.04.2015 / 18:20
1

Existem programas de gerenciamento de configuração e automação que podem fazer exatamente o que você precisa. Em vez de passar por todos os computadores e fazer o mesmo trabalho manualmente repetidamente, você deve usar seriamente qualquer uma das ferramentas de automação / orquestração.

Usando essas ferramentas, basta criar um arquivo contendo as etapas e, em seguida, executar o arquivo no computador de seu colega de trabalho com facilidade. Como sugestão, você deve tentar ansible primeiro, pois é fácil de entender e trabalhar com o SSH (não requer qualquer programa cliente adicional). Além disso, tem toneladas de outras características importantes.

Quanto ao caso /usr/local/bin , a outra outra resposta está correta, eu acho.

    
por heemayl 13.04.2015 / 20:15