Que fait "sudo apt-get update"?

448

Je me demande ce que sudo apt-get update fait?

Que met-il à jour?

    
posée Elysium 27.11.2012 - 01:07
la source

9 réponses

477

En bref, apt-get update n'installe pas réellement de nouvelles versions du logiciel. Au lieu de cela, il met à jour les listes de packages pour les mises à niveau des packages à mettre à niveau, ainsi que les nouveaux packages qui viennent d'arriver dans les référentiels.

  • apt-get update télécharge les listes de paquets à partir des référentiels et les "met à jour" pour obtenir des informations sur les dernières versions des packages et leurs dépendances. Il le fera pour tous les référentiels et les PPA. De lien :

      

    Utilisé pour resynchroniser les fichiers d’index du package à partir de leurs sources. Les index des packages disponibles sont extraits à partir du ou des emplacements spécifiés dans /etc/apt/sources.list (5). Une mise à jour doit toujours être effectuée avant une mise à niveau ou une dist-upgrade.

  • apt-get upgrade récupérera les nouvelles versions des paquets existant sur la machine si APT connaît ces nouvelles versions via apt-get update .

    De lien :

      

    Utilisé pour installer les dernières versions de tous les packages actuellement installés sur le système à partir des sources énumérées dans /etc/apt/sources.list (5). Les packages actuellement installés avec les nouvelles versions disponibles sont récupérés et mis à niveau. En aucun cas, les packages actuellement installés ne sont supprimés, et les packages qui ne sont pas déjà installés ne sont ni récupérés ni installés. Les nouvelles versions des packages actuellement installés qui ne peuvent pas être mis à niveau sans modifier le statut d’installation d’un autre package seront conservées dans leur version actuelle. [Emphasis mien] Une mise à jour doit d’abord être effectuée pour que apt-get sache que de nouvelles versions de packages sont disponibles.

  • apt-get dist-upgrade effectuera le même travail que celui effectué par apt-get upgrade , en plus de gérer intelligemment les dépendances, de manière à supprimer les paquets obsolètes ou à en ajouter de nouveaux. Voir ici: Qu'est-ce que "dist mise à niveau "et pourquoi met-il à niveau plus que" mettre à niveau "?

    De lien :

      

    Outre l'exécution de la fonction de mise à niveau, cette option gère également de manière intelligente la modification des dépendances avec les nouvelles versions des packages; apt-get a un système de résolution de conflit "intelligent", et tentera de mettre à jour les paquets les plus importants au détriment d’autres moins importants, si nécessaire.   Le fichier /etc/apt/sources.list (5) contient une liste d'emplacements de   qui permet de récupérer les fichiers de package souhaités. Voir aussi apt_preferences (5) pour un mécanisme permettant de dépasser les paramètres généraux des packages individuels.

Vous pouvez combiner les commandes avec && comme suit:

sudo apt-get update && sudo apt-get install foo bar baz foo-dev foo-dbg

ou pour obtenir les versions les plus récentes en fonction des exigences de version des dépendances:

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

Vous avez besoin de sudo les deux fois, mais comme sudo par défaut ne vous demande pas moins de 5 minutes après la dernière opération sudo , vous ne serez invité qu'une seule fois (ou pas du tout) ).

    
réponse donnée hexafraction 27.11.2012 - 01:17
la source
42

Une recherche sur Google peut vous donner la définition de presque toutes les commandes de terminal, de même que --help dans le terminal. Par exemple,

apt-get --help

sudo apt-get update comprend essentiellement trois parties:

sudo

exécute la commande suivante avec des fonctionnalités super-utilisateur (root). De nombreuses actions nécessitant de modifier les fichiers système ou d'installer des applications requièrent des autorisations supplémentaires pour passer.

apt-get

est un outil de ligne de commande utilisé par Ubuntu pour installer, supprimer et gérer des packages logiciels

update

est une option que le programme apt-get peut utiliser et qui met à jour les listes de paquets d’un serveur sur Internet. Les listes de paquets fournissent à l'utilitaire apt-get des informations importantes sur les logiciels que vous pouvez installer avec apt-get. apt-get utilise ces listes pour déterminer le logiciel à installer en cas d’installation d’une commande. Par exemple

sudo apt-get install guake

installerait le terminal Guake tel qu’il est actuellement répertorié dans les listes de logiciels locaux de mon ordinateur. Cela peut ne pas être la version appropriée ou, si le programme est nouveau, il peut ne pas être disponible du tout. Ainsi, lors de l’installation du logiciel avec apt-get, vous tapez généralement

sudo apt-get update
sudo apt-get install <package>

s'assurer que apt-get sait installer la version la plus récente du package.

Une autre source d’information utile est le site help.ubuntu.com . Par exemple, si vous avez recherché ce site sur apt-get , vous trouverez l'un des résultats suivants: AptGet / Howto .

    
réponse donnée Alex 27.11.2012 - 01:16
la source
18

L'exécution de sudo apt-get update garantit simplement que votre liste de paquets provenant de tous les référentiels et de tous les PPA est à jour. Si vous n'exécutez pas cette commande, vous pourriez obtenir d'anciennes versions de différents packages que vous installez, ou pire, des problèmes de dépendance. Si vous venez d'ajouter un PPA et que vous ne l'avez pas mis à jour, rien de l'APP ne fonctionnera du tout car vous n'avez pas de liste de packages provenant de cet PPA ou de ce référentiel.

En bref: il est fortement recommandé hautement d’exécuter sudo apt-get update avant l’installation, mais peut être ignoré si vous êtes vraiment pressé par le temps à moins que vous ayez changé de référentiel ou les PPA depuis le dernier apt-get update .

    
réponse donnée hexafraction 06.06.2012 - 01:21
la source
12

Vous devez exécuter apt-get update une fois avant d’installer de nouveaux packages, car cela met à jour les informations du référentiel local. Si vous souhaitez installer plusieurs packages les uns après les autres, vous n'avez pas besoin d'exécuter apt-get update . En outre, vous pouvez installer plusieurs packages à la fois si vous tapez sudo apt-get install package1 package2...

    
réponse donnée Jason Petrilla 06.06.2012 - 01:23
la source
10

Il met à jour la liste des logiciels disponibles sur votre ordinateur.

Votre ordinateur contient une liste (comme un catalogue) contenant tous les logiciels disponibles sur les serveurs Ubuntu. Mais les logiciels et les versions disponibles peuvent changer, donc une "mise à jour" va frapper le serveur et voir quels logiciels sont disponibles pour mettre à jour ses listes locales (ou catalogues).

Notez que update est différent de upgrade . La mise à jour, comme mentionné ci-dessus, récupérera les logiciels disponibles et mettra à jour les listes tandis que upgrade installera de nouvelles versions des logiciels installés sur votre ordinateur (mises à jour logicielles réelles).

Pour réellement mettre à jour votre logiciel (pas "mettre à jour" les listes), vous exécutez la commande

sudo apt-get upgrade

qui est généralement exécuté après une "mise à jour".

    
réponse donnée Sam 27.11.2012 - 01:21
la source
4

Lorsque vous installez des packages à partir de la ligne de commande avec sudo apt-get install ... (ou sudo aptitude install ... ) ou lorsque vous les mettez à niveau à partir de la ligne de commande (avec upgrade ou dist-upgrade au lieu de install ), les informations suivantes est obtenu à partir de la configuration de votre système local et pas à partir d’Internet:

  1. quels paquets sont disponibles

  2. quelles versions sont disponibles

  3. où les paquets disponibles doivent être extraits de

L'exécution de sudo apt-get update (ou sudo aptitude update ) met à jour cela sur votre système local. Il s’agit de l’étape qui récupère les informations sur les packages pouvant être installés, , y compris les mises à jour des packages de packages actuellement installés disponibles , à partir de sources Internet.

Lorsque vous installez des packages avec une interface graphique (Update Manager, Software Center ou Synaptic Package Manager), le travail de sudo apt-get update est effectué automatiquement. Lorsque vous installez des paquets à partir de la ligne de commande, ce n’est pas le cas, et vous devez toujours le faire vous-même , sauf si vous l’avez fait très récemment .

Comme des informations sur les versions mises à jour des packages sont disponibles en exécutant sudo apt-get update (ou sudo aptitude update ), il est conseillé de l'exécuter avant d'installer tout package et de l'exécuter pour installer les dernières mises à jour, < em> même si vous n'avez ajouté ou supprimé aucune source de logiciel (telle qu'un PPA) .

Veuillez noter que si vous effectuez plusieurs opérations de gestion de packages à la même heure, vous n'avez pas besoin d'exécuter sudo apt-get update avant chacune. C'est seulement si l'information n'a pas été mise à jour depuis un certain temps, que vous devriez vous assurer de l'exécuter.

    
réponse donnée Eliah Kagan 06.06.2012 - 01:59
la source
4

Comme Eliah Kagan mentionné ci-dessus, vous vous attendiez à ce qu'une application graphique exécute apt-get update avant apt-get install / apt-get upgrade , mais je viens juste de découvrir une erreur 404 intéressante, relativement récente. une machine VM à sécurité offensive, qui m'a laissé perplexe pendant une minute.

À partir de la ligne de commande, j'ai exécuté apt-get update , puis j'ai de nouveau essayé la commande Outils système / Software-Update, et cette fois-ci, elle s'est déroulée sans erreur 404.

Donc, je suppose que vous ne pouvez pas toujours supposer que apt-get update est exécuté à partir d'applications GUI ...

    
réponse donnée mikepratt 02.04.2015 - 04:58
la source
2

Comme l’ont dit de nombreuses personnes avant moi, cela met à jour votre dépôt local (liste de paquets).

Vous pouvez rencontrer des problèmes si vous essayez d’installer

apt-get install foobar

et foobar ou une dépendance n'ont pas leur dernière version dans le référentiel. Cela peut être particulièrement problématique si vous installez un fichier .deb manuellement ou un fichier ppa d'un tiers.

En gros, il s’assure que votre liste correspond à la liste master .

    
réponse donnée N8tron 06.06.2012 - 01:38
la source
2

Considérons l'exemple de l'installation du lecteur multimédia VLC sur Ubuntu:

sudo apt-get update

Il vérifiera les dépôts pour les mises à jour disponibles.

Attendu que

sudo apt-get install vlc vlc-plugin-pulse mozilla-plugin-vlc

va installer le lecteur multimédia VLC à partir des référentiels que nous avons recherchés.

Si vous vous êtes connecté en tant qu'utilisateur root (administrateur), vous n'avez pas besoin d'utiliser sudo , car vous disposez déjà des privilèges super utilisateur.

    
réponse donnée Praveen Vinny 27.11.2012 - 08:24
la source

Lire d'autres questions sur les étiquettes