Questão Como instalar atualizações via linha de comando?


Quando eu entro no meu servidor web via SSH eu vejo as informações:

88 packages can be updated.
80 updates are security updates

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


588
2017-10-05 13:44


origem


Você tentou isso primeiro: sudo apt-get clean isso deve limpar o cache. - user2635584


Respostas:


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)

Documentação sobre cada apt-get opção pode ser encontrada no as páginas de manual do apt-get. Estes também estão disponíveis executando man apt-get no seu computador.


736
2017-10-05 14:05



Devo sempre reiniciar com sudo reboot depois disso? - hellboy
Eu também tenho que correr apt-get autoremove ou eu rapidamente ficar sem espaço em disco. - Jeff
Eu precisava adicionar -y para que isso funcione. Ubuntu 17.10 - T04435


Esse é um comportamento normal.

A mensagem que você vê no login foi anexada ao status do servidor 'Mensagem-do-dia', que é apenas Atualizada 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ê, então, executar novamente este comando, você  ser avisado sobre quaisquer atualizações adicionais se atualizações adicionais (mais recentes) forem lançadas.


83
2017-10-05 20:26



Estou percebendo que qualquer alteração de arquivo em todo o sistema não é exibida até o próximo dia do calendário. Existe uma maneira de o "refresh" começar a ver alterações imediatamente? - aljuaid86
Você quer dizer atualizações para o conteúdo de Mensagem do Dia, ou não conseguir o que você quer depois de correr sudo apt-get update && sudo apt-get upgrade ? - david6
Isso não é mais verdade em 16.04. Depois de "apt-get dist-upgrade" e uma reinicialização, vejo que "0 packages pode ser atualizado". - Bogdan Calmac
o '.. ou no servidor de reinicialização ..' declaração acima cobre isso. - david6
cat: / etc / motd: Nenhum arquivo ou diretório - xApple


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 (obrigado @dessert)

sudo bash -c 'for i in update {,dist-}upgrade auto{remove,clean}; do apt-get $i -y; done'

76
2017-11-08 09:28



Esta é uma maneira muito completa e completa para atualizar o servidor e, na minha opinião, a melhor das soluções disponíveis neste segmento. Obrigado, @Benny! - unrivaledcreations
Você pode até diminuir o tempo substituindo apt-get com apt e dist-upgrade com full-upgrade. - Eng.Fouad


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.


10
2018-04-20 09:29



Obrigado pela sua resposta, mas eu tentei sudo apt-get upgrade. Reiniciar o servidor está fora de questão porque tenho sites nele. - Marlin
Se você instalou uma atualização que afeta diretamente o kernel ou se é uma atualização de driver ou se é uma atualização de segurança crítica, será necessário reiniciar o servidor. - Evandro Silva
Talvez você deva considerar um erro 503 por um minuto. Você sabe que tipo de atualização é essa? - NorTicUs
Como você pode dar um 503 se o servidor estiver offline? - mcont


No meu caso, eu tinha um incorreto ou não acessível URL dentro /etc/apt/sources.list. 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

8
2017-08-26 07:47





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

  1. Instalar wajig (uma vez):

    sudo apt-get install wajig 
    
  2. Quando você deseja 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ê).


7
2017-10-12 02:22





Você também pode precisar fazer isso -

sudo touch /etc/motd.tail

A partir de - Ubuntu me diz que eu tenho pacotes para atualizar quando eu não

Funcionou para mim em 14.04


4
2017-12-16 18:47





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 correr em sua caixa local apenas deixar de fora 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


1
2017-08-13 11:27





Se você correr apt-get update novamente depois apt-get upgrade foi concluído, essas mensagens no login do ssh devem desaparecer.


0
2017-08-18 01:36





Você pode tentar tudo isso:

sudo apt-get install software-center (obtém o centro de software)
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade

-2



Mas por que obter o Centro de Software, se o objetivo é instalar atualizações através da linha de comando? (Nenhum dos comandos subseqüentes que você recomenda exige o Centro de Software, nem qualquer um deles o usa ou se beneficia dele se estiver instalado.) Note também que parece improvável que isso mantenha a mensagem "pacotes podem ser atualizados". Como outros já disseram, provavelmente a mensagem ainda não está refletindo os resultados do update e upgrade ações. Poderia haver pacotes não atualizados até o dist-upgrade ação, mas em um lançamento estável é raro ter 88 pacotes desse tipo ao mesmo tempo. - Eliah Kagan