apt-get install não está funcionando no script

2

Eu crio um pequeno script que instala um conjunto de pacotes de linux.

Estranhamente, o apt-get install sempre falha e me diz que o pacote não foi encontrado. Aqui está o meu script:

#! /bin/bash
sudo apt-get install python-software-properties
sudo apt-get update
sudo add-apt-repository ppa:pitti/postgresql
sudo apt-get install xfce4 postgresql-9.0 pgadmin3 chromium-browser wine iftop

O que posso fazer para corrigir isso?

Obrigado.

    
por isoman 28.09.2011 / 19:37

5 respostas

2

Primeira linha do seu script. Remova o espaço.

#!/bin/bash

Além disso, o que @Shane disse: em um script, você pode usar -y para automatizar o processo.

Atualizar
Você executou chmod +x scriptname antes de tentar executá-lo? Você pode por favor postar o erro exato que você está recebendo?

    
por 28.09.2011 / 19:51
3

Se você está tentando instalar algo desse repositório PPA, seu apt-get update deve acontecer depois de adicionar o repositório, não antes.

Você também desejará -y nas etapas potencialmente interativas.

    
por 28.09.2011 / 19:44
0

você também deve primeiro atualizar o apt-get e depois instalar para que o script pareça

#! /bin/bash
sudo add-apt-repository ppa:pitti/postgresql
sudo apt-get update
sudo apt-get install python-software-properties
sudo apt-get install xfce4 postgresql-9.0 pgadmin3 chromium-browser wine iftop

em seguida, torne o arquivo executável

chmod 755 script
    
por 29.09.2011 / 11:52
0

Comece a usar o controle de versão para scripts de administração do sistema. Isso ajudará a destacar os problemas levantados por @ volker238.

Sistemas especialmente distribuídos, como o Mercurial ou o Git, ajudarão a obter o código corretamente. Ambos irão converter corretamente as terminações de linha entre plataformas.

Várias vezes, quando recebi contribuições de Copiar / Colar de outras pessoas, o hg log me disse exatamente o que havia mudado quando a shell reclamou de erros de sintaxe e nada óbvio pôde ser visto.

E se você quiser ampliar ainda mais, combine isso com chef ou puppet para criar planos de implantação repetitivos para seus sistemas.

    
por 05.08.2012 / 01:31
0

Eu estava tendo exatamente os mesmos problemas. A chave real para resolver isso foi o erro na primeira linha #!/bin/sh . Eu estava escrevendo meu script em uma máquina Windows e a caixa do Ubuntu era uma VM. Alguns finais de linha do Windows estavam me atrapalhando. Eu corrigi-lo com dos2unix como referenciado aqui .

    
por 04.08.2012 / 16:52