839 votes

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

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

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 puis-je les installer ?

2 votes

Avez-vous essayé ceci d'abord : sudo apt-get clean ceci devrait nettoyer le cache.

1064voto

SirCharlo Points 37508

Utilisez ça :

sudo apt update        # Fetches the list of available updates
sudo apt upgrade       # Installs some updates; does not remove packages
sudo apt full-upgrade  # Installs updates; may also remove some packages, if needed
sudo apt autoremove    # Removes any old packages that are no longer needed

Documentation sur chaque apt peut être trouvée dans l'option les pages de manuel d'apt . Ils sont également disponibles en exécutant man apt dans votre terminal.

Utilisation des deux upgrade y full-upgrade ensemble n'est généralement pas nécessaire, mais elle peut aider dans certains cas : voir Documentation Debian sur les mises à niveau de Debian 9 .

35 votes

Dois-je toujours redémarrer avec sudo reboot après ça ?

1 votes

Je devais ajouter -y pour qu'il fonctionne. Ubuntu 17.10

3 votes

@hellboy Pas besoin de le faire à chaque fois. Il vous informera généralement si un redémarrage est nécessaire.

156voto

Benny Points 4482

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

sudo -- sh -c 'apt-get update; apt-get upgrade -y; apt-get full-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 full-upgrade -y
apt-get dist-upgrade -y
apt-get autoremove -y
apt-get autoclean -y
EOF

ou encore plus courte dans un pour boucle (merci @dessert !):

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

Voir la gestion des paquets avec APT commandes d'entretien documentation pour plus de détails.

4 votes

Vous pouvez combiner dist-upgrade y autoremove par apt-get dist-upgrade --auto-remove .

3 votes

Il n'est pas nécessaire d'exécuter les deux upgrade y dist-upgrade .

3 votes

@jarno dist-upgrade peut supprimer des paquets. Utilisation de upgrade peut d'abord éviter cela, par exemple lorsque de nouvelles versions de paquets satisfont les dépendances plus facilement que les anciennes. Je ne sais pas si cela est souvent utile lors de la mise à jour de paquets dans une version stable d'Ubuntu, mais c'est une bonne idée. recommandé dans certains autres contextes . Personnellement, j'utilise rarement dist-upgrade dans Ubuntu, et quand je le fais, je ne passe jamais -y . Mais si l'on doit courir dist-upgrade et passer -y je pense qu'il est raisonnable d'effectuer la upgrade action en premier.

98voto

david6 Points 14408

C'est un comportement normal.

Le message que vous voyez à l'ouverture de la session a été ajouté au statut du serveur "Message-Of-The-Day", qui est seulement actualisé chaque jour civil (ou au démarrage du serveur). Jetez un coup d'œil à son contenu, en utilisant

cat /etc/motd

Je vois 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 cette commande, vous obtiendrez les résultats suivants uniquement être invité à effectuer d'autres mises à jour si d'autres mises à jour (plus récentes) ont été publiées.

0 votes

Je remarque que tout changement de fichier dans l'ensemble du système n'apparaît pas avant le jour calendaire suivant, y a-t-il un moyen de "rafraîchir" pour commencer à voir les changements immédiatement ?

0 votes

Voulez-vous dire des mises à jour pour le contenu de Message du jour ou ne pas obtenir ce que vous voulez après avoir exécuté sudo apt-get update && sudo apt-get upgrade ?

3 votes

Ce n'est plus le cas sur la version 16.04. Après "apt-get dist-upgrade" et un redémarrage, je vois "0 packages can be upgraded".

13voto

Amit Points 1

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

sudo apt-get upgrade

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

3 votes

Merci pour votre réponse mais j'ai essayé sudo apt-get upgrade. Il est hors de question de redémarrer le serveur car j'ai des sites dessus.

3 votes

Si vous avez installé une mise à jour qui affecte directement le noyau, ou s'il s'agit d'une mise à jour de pilote ou d'une mise à jour de sécurité critique, vous devez redémarrer le serveur.

0 votes

Vous devriez peut-être envisager une erreur 503 pendant une minute. Savez-vous de quel type de mise à jour il s'agit ?

9voto

burtsevyg Points 292

Dans mon cas, j'ai eu une mauvaise ou non accessible URL en /etc/apt/sources.list. Après avoir supprimé cette URL, j'ai pu mettre à jour tous les paquets avec succès.

Commandes :

sudo vi /etc/apt/sources.list
sudo apt-get update && sudo apt-get upgrade

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X