web-dev-qa-db-fra.com

Pourquoi devrais-je exécuter régulièrement 'apt-get update' et des commandes similaires?

Je suis complètement nouveau pour Ubuntu. Un ami m'a recommandé de lancer fréquemment les commandes suivantes:

Sudo apt-get upgrade
Sudo apt-get update
Sudo apt-get autoremove
Sudo apt-get autoclean

Il a dit que cela garderait en quelque sorte mon système propre et mis à jour. Je ne sais pas ce que font exactement ces commandes. Est-ce vraiment utile de les exécuter régulièrement?

5
pecka

Sur toutes les versions actuellement prises en charge d'Ubuntu, nous pouvons utiliser apt au lieu de apt-get. Si vous voulez capturer la sortie dans un fichier, utilisez apt-get, sinon utilisez apt car sa sortie est plus lisible (et qui aime taper?).

Sudo apt update

Télécharge des informations depuis les référentiels 1 APT est configuré pour vérifier et met à jour la base de données dpkg des packages disponibles, installés et désinstallés afin de refléter les modifications apportées aux référentiels. Cela signifie que lorsque vous interrogez la base de données sur votre système avec des commandes telles que

apt policy package-name
apt show package-name
apt search package-name

ils imprimeront des informations précises et, lorsque vous exécuterez des commandes telles que

Sudo apt install package-name

ils vont chercher la dernière version disponible.

Lorsque vous exécutez Sudo apt update, vous pourrez constater que certains packages peuvent être mis à niveau, ce qui signifie que de nouvelles versions ont été ajoutées aux référentiels. Les versions les plus récentes comportent souvent des corrections de bugs et des mises à jour de sécurité. Vous devez donc les installer. Cela peut être fait en mettant à jour tous les paquets qui ont de nouvelles versions disponibles avec la commande

Sudo apt upgrade

Si le noyau a été mis à niveau (des packages tels que linux-image-4.15.0-20-generic), vous devez ensuite exécuter une commande pour supprimer les anciennes versions du noyau (à l'exception de la deuxième plus récente qui est conservée en réserve, au cas où la nouvelle serait boguée). Vous pouvez utiliser cette commande:

Sudo apt autoremove

pour faire ça. Cette commande a également supprimé les packages orphelins. Ceux-ci n'existent généralement que lorsque vous utilisez une commande comme

Sudo apt remove package-name

et package-name contient des dépendances qui ont été installées automatiquement, mais ne sont nécessaires à aucun autre paquet.

Pour autoclean, je vous renvoie à man apt-get

autoclean (and the auto-clean alias since 1.1)
       Like clean, autoclean clears out the local repository of retrieved
       package files. The difference is that it only removes package files
       that can no longer be downloaded, and are largely useless.

Les trois autres commandes sont vraiment importantes et doivent généralement être exécutées régulièrement pour maintenir le système sécurisé et mis à jour et éviter de remplir le disque avec les anciens fichiers du noyau, mais vous ne verrez probablement pas beaucoup de différence après l'exécution de autoclean. Les quelques fichiers qu'il peut supprimer occasionnellement sont peu susceptibles de représenter beaucoup.


1Ces référentiels sont configurés par défaut, vous n'avez donc généralement pas besoin de faire quoi que ce soit avec eux. Ils sont répertoriés dans le fichier /etc/apt/sources.list et dans les fichiers /etc/apt/sources.list.d. APT est strict sur le format de ces fichiers (pour des raisons de sécurité) et émettra des erreurs s'ils ont une syntaxe incorrecte. Si votre système dispose d'un environnement graphique, une option vous permettra de configurer les référentiels dans les paramètres. Vous avez besoin du privilège root pour faire ce travail.

8
Zanna

Bien que la réponse de Zanna couvre l’objet de ces commandes, je voudrais me concentrer sur la deuxième partie:

Est-ce vraiment utile de les exécuter régulièrement?

Bien qu'il soit bon de les exécuter assez souvent , je ne vois pas de raison de les exécuter littéralement régulièrement (en temps réel, par exemple une fois par jour, une fois). une semaine, une fois par mois).

  • Les tâches de mise à jour et de nettoyage exécutées par ces commandes ne sont pas créées dans le temps. Ils commencent à être utiles lorsqu'une nouvelle version des packages installés peut être trouvée dans les référentiels.

  • La commande apt-get update est exécutée régulièrement par défaut par le système (voir ). Mises à jour automatiques du paquet , AutomaticSecurityUpdates ). Les mises à jour de sécurité qui seraient installées par apt-get upgrade seront automatiquement installées par les mises à niveau sans assistance.

  • Le update automatique s’applique à tous les paquets. Une fois que APT a connaissance des mises à jour qui ne sont pas installées automatiquement, le système vous rappelle de les installer manuellement (à l'aide de apt install <package> ou apt upgrade pour toutes les mettre à niveau), par exemple:

    • sur l'écran de connexion CLI:

      Welcome to Ubuntu 16.04.4 LTS (GNU/Linux 4.4.113-rt128+ x86_64)
      ...
      29 packages can be updated.
      6 updates are security updates.
      
    • dans la sortie d'une commande APT:

      $ Sudo apt update
      ...
      5 packages can be upgraded. Run 'apt list --upgradable' to see them.
      
  • On vous rappellera d’exécuter également autoremove.

    $ Sudo apt update
    ...
    The following packages were automatically installed and are no longer required:
      devilspie libturbojpeg:i386 libxrandr-ltsr2 language-pack-kde-en
    Use 'apt-get autoremove' to remove them.
    

Si vous souhaitez toujours exécuter les commandes en fonction du temps, vous pouvez créer une tâche cron .

2
Melebius