«Sudo apt-get update» est-il obligatoire avant chaque installation de package?

21

Je sais quel est le but de la commande de mise à jour, et je me demandais simplement si je dois l'utiliser avant toute installation de package que j'effectue. Que faire si je n'ai pas mis à jour trop longtemps et installé certains packages critiques? De plus, y a-t-il une occasion où cela n'est pas nécessaire?

Nikos Grigoriadis
la source

Réponses:

20

Votre copie d'Ubuntu a une copie privée de la liste des paquets qui se trouvent dans les référentiels d'Ubuntu. Lorsque vous installez un package, apt-getlit la liste et détermine l'URL du package à télécharger (qui contient généralement des informations sur la version du package).

apt-get updatemet à jour les listes de packages. Si vous ne le faites pas avant une installation, vous apt-getpourriez vous plaindre de ne pas trouver le package dans le référentiel, car il a calculé l'URL sur la base d'une ancienne version de la liste (qui répertorie une ancienne version du package).

Bien sûr, cela apt-get updateest nécessaire après avoir modifié les référentiels, car le système doit télécharger la liste des nouveaux référentiels.

Il est essentiel avant de mettre à niveau les packages installés, car le système ne peut pas savoir si le référentiel a une nouvelle version d'un package, sauf s'il dispose d'une copie à jour de la liste des packages.

Il n'y a aucune raison de ne pas s'exécuter apt-get updateavant d'installer un package. Cependant, ce n'est pas nécessaire, si vous savez qu'aucune nouvelle version de ce paquet et de ses dépendances n'a été mise à disposition sur les miroirs depuis le dernier apt-get update. Un cas particulier de ceci est lorsque les listes de paquets sont à jour, c'est-à-dire après un temps raisonnablement court depuis la dernière apt-get update; cela signifie que tous les packages sur le miroir sont la même version qu'ils étaient.

La liste des packages change chaque fois qu'un package est mis à niveau sur le miroir. Il est impossible de prédire la fréquence à laquelle il change, en général, sans référence à un rapport de problème ou de bogue spécifique, ou sans suivre le développement de cette version d'Ubuntu.

ignis
la source
"Les listes de paquets sont à jour (ce qui est après un temps raisonnablement court depuis la dernière mise à jour d'apt-get" - combien de temps? À quelle fréquence les listes de paquets sont-elles modifiées? Qu'est-ce qui peut changer les listes de paquets?
joshreesjones
@ mathguy54 réponse mise à jour. Dans la pratique, j'exécute la mise à jour apt-get chaque fois que j'obtiens des erreurs 404 ("fichier introuvable") lors du téléchargement des packages.
ignis
"Ubuntu a une copie privée de la liste des paquets qui se trouvent dans les référentiels d'Ubuntu" - où est cette liste? J'aimerais le lire. Merci pour cette grande information.
joshreesjones
@ mathguy54 Vous pouvez lire les fichiers se terminant par *_Packagesunder /var/lib/apt/lists/avec un éditeur de texte, mais on fait généralement une recherche plus avancée avec les outils de gestion de paquets, par exempleapt-cache show/policy/etc.
ignis
3

Vous n'avez pas absolument besoin d'utiliser la commande update avant d'installer un package, mais si vous ne le faites pas, vous pourriez finir par mettre à niveau un package juste après l'avoir installé.

N'oubliez pas non plus que vous devez mettre à jour votre système régulièrement. Si vous ne le faites pas, votre ordinateur sera en danger (vous n'aurez pas les derniers correctifs de sécurité).


la source
3

Si vous venez d'ajouter un référentiel logiciel (référentiel PPA ou Debian), vous devrez exécuter apt-get updatepour interroger le référentiel et ajouter essentiellement tous les packages qu'il contient à la liste des logiciels disponibles d'APT. Sinon, APT ne reconnaîtra pas le nom du package que vous lui demandez d'installer.

Lors de l'installation d'un nouveau logiciel via la ligne de commande, il est judicieux de mettre à jour les informations du référentiel afin de ne pas installer de logiciel uniquement pour découvrir qu'il est obsolète. Cela vaut également pour la mise à niveau des logiciels.

Si vous utilisez la méthode graphique d'installation ou de mise à niveau du logiciel, par exemple Ubuntu Software Center ou Update Manager, respectivement, ces clients rechercheront automatiquement les dernières versions absolues des packages.

Cela étant dit, si vous installez un lot de logiciels et que vous avez exécuté une mise à jour quelques minutes ou même quelques heures auparavant, il est probable que vous obtiendrez la dernière version. Cependant, si vous installez le type de logiciel fréquemment mis à jour (comme les logiciels alpha / bêta ou à la pointe de la technologie), vous voudrez exécuter une mise à jour avant de récupérer quoi que ce soit dans le référentiel de ce logiciel.

terrygarcia
la source