Como posso instalar e remover programas em uma linha de comando e confirmar apenas uma vez?

4

Quando eu instalo o Ubuntu, a primeira coisa que costumo fazer é remover alguns programas e instalar outros. Para fazer isso, insiro o seguinte em um terminal:

sudo apt-get remove applicationA applicationB applicationC && sudo apt-get install applicationX applicationY applicationZ .

Isso funciona muito bem, mas o problema é que eu tenho que confirmar duas vezes: primeiro eu tenho que confirmar a remoção dos aplicativos, e depois de algum tempo eu tenho que confirmar a instalação dos outros. Seria ótimo se eu tivesse que confirmar apenas uma vez, porque eu não teria que voltar ao computador nesse meio tempo. Existe algum comando para fazer isso?

Por favor, note que não estou procurando por soluções alternativas em Gerenciador de Pacotes Synaptic. Eu quero fazer isso na linha de comando.

Obrigado.

    
por Exeleration-G 29.01.2012 / 11:58

4 respostas

8

Use a opção -y para apt-get .

Na página man :

-y, --yes, --assume-yes
      Automatic yes to prompts; assume "yes" as answer to all prompts and
      run non-interactively. If an undesirable situation, such as
      changing a held package, trying to install a unauthenticated
      package or removing an essential package occurs then apt-get will
      abort. Configuration Item: APT::Get::Assume-Yes.

Então, para você, seria algo como sudo apt-get remove -y foo1 foo2 foo3 e sudo apt-get install -y foo foo1 foo2 foo3 .

    
por Bruno Pereira 29.01.2012 / 12:05
12

Como alternativa para as respostas já postadas, você também pode optar por instalar e remover pacotes em um comando com aptitude . Com os comandos aptitude install adicione - após o nome do pacote para removê-lo, e com os comandos aptitude remove adicione + após o nome do pacote para instalá-lo.

Se você inserir

sudo aptitude install pkg1 pkg2-

os primeiros pacotes serão instalados enquanto o segundo será removido.

No entanto , por outro lado, se você usar

sudo aptitude remove pkg1+ pkg2

o segundo pacote será removido e o primeiro instalado.

Fonte: para uma explicação mais detalhada de apt e aptitude , veja o Manual Debian .

    
por user76204 02.08.2012 / 14:49
5

Na página apt-get man:

  

instale   [...] Se um hífen for anexado ao nome do pacote (sem espaço para intervenção), o pacote identificado será removido se estiver instalado. Da mesma forma, um sinal de mais pode ser usado para designar um pacote para instalação. Estes últimos recursos podem ser usados para anular decisões tomadas pelo sistema de resolução de conflitos do apt-get.

Você pode adicionar um hífen ao nome do pacote e, em seguida, o apt-get removerá esse pacote. Então, para remover o pacote a e instalar b :

sudo apt-get install a- b
    
por Benedikt Köppel 01.01.2016 / 23:41
0

talvez execute os dois comandos usando apenas uma chamada para sudo :

sudo sh -c 'apt-get remove a b c && apt-get install d e f'
    
por glenn jackman 30.01.2012 / 00:36