Como instalar atualizações via linha de comando?

566

Quando eu faço login no meu servidor web via SSH, vejo as informações:

88 packages can be updated.
80 updates are security updates

Eu tentei apt-get update then apt-get upgrade , mas cada vez que eu faço login, ainda vejo a mensagem sobre atualizações. Como faço para instalá-los?

    
por Marlin 05.10.2012 / 15:44

10 respostas

710

Tente isto:

sudo apt-get update        # Fetches the list of available updates
sudo apt-get upgrade       # Strictly upgrades the current packages
sudo apt-get dist-upgrade  # Installs updates (new ones)

A documentação sobre cada opção apt-get pode ser encontrada no formulário páginas para o apt-get . Estes também estão disponíveis executando man apt-get no seu computador.

    
por SirCharlo 05.10.2012 / 16:05
80

Este é um comportamento normal.

A mensagem que você vê no login foi anexada ao status do servidor 'Mensagem do Dia', que é apenas atualizada a cada dia de calendário (ou na inicialização / inicialização do servidor). Dê uma olhada no conteúdo, usando

cat /etc/motd

Ainda vendo as mesmas atualizações disponíveis, depois de executar

sudo apt-get update && sudo apt-get upgrade

é de se esperar. Se você, em seguida, executar novamente este comando, será solicitado que você somente solicite novas atualizações, caso novas atualizações (mais recentes) tenham sido lançadas.

    
por david6 05.10.2012 / 22:26
65

Execute todos os comandos digitando sudo uma vez:

sudo -- sh -c 'apt-get update; apt-get upgrade -y; apt-get dist-upgrade -y; apt-get autoremove -y; apt-get autoclean -y'

ou

sudo -s -- <<EOF
apt-get update
apt-get upgrade -y
apt-get dist-upgrade -y
apt-get autoremove -y
apt-get autoclean -y
EOF

ou ainda mais curto em um para loop (Thanks @dessert)

sudo bash -c 'for i in update {,dist-}upgrade auto{remove,clean}; do apt-get $i -y; done'
    
por Benny 08.11.2016 / 10:28
10

Depois de entrar no seu servidor, execute o comando abaixo.

sudo apt-get upgrade

Deve fazer o truque. Talvez você só precise reiniciar seu servidor.

    
por Mitch 08.09.2014 / 00:31
8

No meu caso, eu tinha um URL incorreto ou não acessível em / etc / apt / sources. lista. Depois de remover este URL, consegui atualizar todos os pacotes com sucesso.

Comandos:

sudo vi /etc/apt/sources.list
sudo apt-get update && sudo apt-get upgrade
    
por burtsevyg 20.04.2013 / 11:29
7

Minha solução (muito tarde, eu gosto de emblemas necromantes :-)):

  1. Instale o wajig (uma vez):

    sudo apt-get install wajig 
    
  2. Quando você quiser atualizar / atualizar totalmente seu sistema

    wajig dailyupgrade
    

    (ele solicitará a senha, se necessário, e executará todas as etapas de atualização, atualização, dist-upgrade e autoremove para você).

por Rmano 26.08.2015 / 09:47
4

Você também pode precisar fazer isso -

sudo touch /etc/motd.tail

De - O Ubuntu me diz que tenho pacotes para atualizar quando eu não faço

Funcionou para mim em 14.04

    
por John Behan 12.10.2014 / 04:22
1

este script é útil para automatizar atualizações, incluindo a remoção de pacotes desnecessários e a execução de uma reinicialização apenas se o SO desejar

remote_user=usernamehere
remote_host=example.com

ssh -A -n -o StrictHostKeyChecking=no ${remote_user}@${remote_host} && \
sudo apt-get update && \
sudo apt-get -f install -y && \
sudo apt-get -o Dpkg::Options::="--force-confnew" -yy dist-upgrade -y && \
sudo apt-get autoremove -y && \
[ -f /var/run/reboot-required ] && \
echo "sudo reboot now" && \
sudo reboot now 

para rodar na sua caixa local, basta deixar a primeira linha fazendo o ssh

aqui está um alias que eu salvo em ~ / .bashrc

alias doit='echo; kill $( ps -eafww|grep update-manager|grep -v grep | grep update-manager | tr -s " " |cut -d" "  -f2 ) > /dev/null 2>&1;  echo "sudo apt-get update && sudo apt-get dist-upgrade &&  [ -f /var/run/reboot-required ] && echo && echo reboot required && echo";echo;sudo apt-get update && sudo apt-get dist-upgrade &&  [ -f /var/run/reboot-required ] && echo && echo reboot required && echo '

então no terminal eu apenas emito doit

    
por Scott Stensland 16.12.2017 / 19:47
0

Se você executar apt-get update novamente após apt-get upgrade ter sido concluído, essas mensagens no login do ssh deverão desaparecer.

    
por Francisco Luz 13.08.2014 / 13:27
-4

Você pode experimentar todos estes:

sudo apt-get install software-center (gets the software center)
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
    
por user2805313 18.08.2014 / 03:36