GNU/Linux >> Tutoriels Linux >  >> Linux

Quand et pourquoi devrais-je utiliser Apt-get Update ?

Question générale :

Certains pourraient-ils expliquer ce que la commande apt-get update fait et quand dois-je vraiment l'utiliser ?

Remarques

Veuillez donner une réponse détaillée . Pas seulement une copie de la page de manuel, à moins que votre version ne soit vraiment détaillée (je mets une définition de la page de manuel ci-dessous).

apt-obtenir la mise à jour :Utilisé pour re-synchroniser les fichiers d'index du package à partir de leurs sources. Les index des packages disponibles sont récupérés à 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 mise à niveau dist.

Sous-questions :

  • Où est stocké l'index du package ? Sur une base de données ? Sur un fichier ?
  • Que se passe-t-il si je fais apt-get install sans mettre à jour le cache ? Y a-t-il une chance que le package distant n'existe plus et que le lien soit rompu ?
  • Existe-t-il une politique convenue concernant les dépôts deb ? Par exemple, un référentiel ne doit-il contenir que la dernière version d'un package, ou au contraire doit-il contenir toutes les versions disponibles pour une version de distribution spécifique ?

Contexte

Je pose ma question car j'étudie le framework Docker. L'une de ses fonctionnalités est le Dockerfile , qui vous permet de construire une sorte d'image du système d'exploitation en exécutant des instructions à partir de ce fichier.
Une propriété de cette image est qu'elle doit toujours être la même, quel que soit le contexte (heure de construction, etc.).

J'ai peur que si je lance apt-get update commande à un moment différent, le résultat serait différent et donc mes images seraient différentes.

Réponse acceptée :

apt-get update télécharge la liste des packages disponibles.

La liste des forfaits peut changer au fil du temps. De nouveaux packages sont ajoutés et les anciens packages sont supprimés. Ainsi, si vous avez un très vieux cache et que vous essayez de faire un apt-get install , il peut essayer de télécharger un paquet qui n'existe plus.
La durée de conservation d'un ancien paquet dans un dépôt dépend du mainteneur du dépôt (votre distribution). En tant que tel, si vous utilisez quelque chose comme docker, où le cache peut être très obsolète, vous devez toujours exécuter apt-get update avant d'installer des packages.

La raison de la suppression et de l'ajout de packages est principalement due aux corrections de bogues et aux mises à jour de sécurité. Cependant, si vous utilisez des dépôts tiers comme PPA, tout est permis.

Connexe :Quand reçoit-on le message d'erreur "jobs :not found" ?

Lorsque vous utilisez quelque chose comme docker pour la conteneurisation dans un environnement d'entreprise, vous devez créer le conteneur une fois, puis déplacer ce conteneur dans vos différents environnements de publication (développement, staging, production), et ne pas reconstruire le conteneur à chaque fois. Cela garantira que vous n'obtenez pas un conteneur différent qui n'a pas été testé.

Pour répondre à votre question sur l'emplacement des fichiers de cache, /var/lib/apt/lists .


Linux
  1. Redis comme cache :comment ça marche et pourquoi l'utiliser

  2. Pourquoi eval devrait-il être évité dans Bash et que dois-je utiliser à la place ?

  3. Quand utiliser Bash et quand utiliser Perl/Python/Ruby ?

  4. Pourquoi utiliser sudo ?

  5. Pourquoi utilisons-nous su - et pas seulement su ?

7 raisons pour lesquelles j'utilise Manjaro Linux et vous devriez aussi

Ubuntu ou Fedora :lequel utiliser et pourquoi

Qu'est-ce qu'une machine virtuelle et pourquoi l'utiliser ?

Qu'est-ce que la fonctionnalité de la communauté ONLYOFFICE et pourquoi devriez-vous l'utiliser ?

Quand dois-je utiliser TCP_NODELAY et quand TCP_CORK ?

Quand dois-je utiliser /dev/shm/ et quand dois-je utiliser /tmp/?