Comment installer les mises à jour via la ligne de commande?

583

Lorsque je me connecte à mon serveur Web via SSH, je vois les informations suivantes:

88 packages can be updated.
80 updates are security updates

J'ai essayé apt-get update puis apt-get upgrade mais à chaque fois que je me connecte, je vois toujours le message concernant les mises à jour. Comment les installer?

    
posée Marlin 05.10.2012 - 15:44
la source

10 réponses

731

Essayez ceci:

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)

La documentation sur chaque option apt-get se trouve dans la page de manuel. pages pour apt-get . Ils sont également disponibles en exécutant man apt-get sur votre ordinateur.

    
réponse donnée SirCharlo 05.10.2012 - 16:05
la source
82

C'est un comportement normal.

Le message que vous voyez lors de la connexion a été ajouté à l’état du serveur "Message-of-the-Day", qui est uniquement mis à jour chaque jour calendaire (ou au démarrage / démarrage du serveur). Regardez le contenu en utilisant

cat /etc/motd

Vous voyez toujours les mêmes mises à jour disponibles, après avoir exécuté

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

est à prévoir. Si vous réexécutez ensuite cette commande, vous ne serez invité à que si d'autres mises à jour (plus récentes) ont été publiées.

    
réponse donnée david6 05.10.2012 - 22:26
la source
72

Exécutez toutes les commandes en tapant sudo une fois:

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 même plus court dans une boucle pour (Merci @dessert)

sudo bash -c 'for i in update {,dist-}upgrade auto{remove,clean}; do apt-get $i -y; done'
    
réponse donnée Benny 08.11.2016 - 10:28
la source
10

Une fois que vous êtes connecté à votre serveur, exécutez la commande ci-dessous.

sudo apt-get upgrade

Ça devrait faire l'affaire. Peut-être avez-vous juste besoin de redémarrer votre serveur.

    
réponse donnée Mitch 08.09.2014 - 00:31
la source
8

Dans mon cas, j'avais un URL incorrect ou inaccessible dans / etc / apt / sources. liste. Après avoir supprimé cette URL, j'ai pu mettre à jour tous les packages avec succès.

Commandes:

sudo vi /etc/apt/sources.list
sudo apt-get update && sudo apt-get upgrade
    
réponse donnée burtsevyg 20.04.2013 - 11:29
la source
7

Ma solution (très tardive, j'aime les badges nécromanciens :-)):

  1. Installez Wajig (une fois):

    sudo apt-get install wajig 
    
  2. Lorsque vous souhaitez mettre à jour / mettre à niveau complètement votre système

    wajig dailyupgrade
    

    (il vous demandera un mot de passe si nécessaire et effectuera toutes les étapes de mise à jour, de mise à niveau, de mise à niveau et de suppression automatique pour vous).

réponse donnée Rmano 26.08.2015 - 09:47
la source
4

Vous devrez peut-être aussi le faire -

sudo touch /etc/motd.tail

De - Ubuntu me dit que j'ai paquets à mettre à niveau lorsque je ne le fais pas

Cela a fonctionné pour moi le 14.04

    
réponse donnée John Behan 12.10.2014 - 04:22
la source
1

Ce script est pratique pour automatiser les mises à jour, notamment pour supprimer les packages inutiles et effectuer un redémarrage uniquement si le système d'exploitation le souhaite.

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 

pour exécuter sur votre boîte locale, laissez simplement cette première ligne en faisant le ssh

voici un alias que j'ai enregistré dans ~ / .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 '

alors sur le terminal je viens d'émettre doit

    
réponse donnée Scott Stensland 16.12.2017 - 19:47
la source
0

Si vous exécutez à nouveau apt-get update après la conclusion de apt-get upgrade , ces messages à la connexion ssh devraient disparaître.

    
réponse donnée Francisco Luz 13.08.2014 - 13:27
la source
-2

Vous pouvez essayer tous ces:

sudo apt-get install software-center (gets the software center)
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
    
réponse donnée user2805313 18.08.2014 - 03:36
la source

Lire d'autres questions sur les étiquettes