Comment réduire le temps d'attente pour les mises à jour du référentiel

32

Lors de la mise à jour aptitude update/ apt-get updateou de l'utilisation du gestionnaire de mises à jour, j'obtiens parfois un lien de référentiel trop long. Le pourcentage ne se termine pas et il faut un certain temps avant de l'ignorer.

Comment puis-je réduire le temps afin que si un référentiel particulier prend plus de 10 secondes pour se connecter ou se terminer, il doit l'ignorer et déplacer les suivants. Voici une image expliquant le problème:

entrez la description de l'image ici

Il essaie de se connecter à archive.ubuntu.com, mais comme cela prend trop de temps, il reste au moins 3 à 5 minutes (le temps n’a pas été mesuré), puis il apparaît comme ignoré et passe à la suivante. Je souhaite changer cela en secondes au lieu de minutes.

Luis Alvarado
la source
Essayez d'utiliser un miroir différent. Les valeurs par défaut pour chaque raison ne sont souvent pas les plus rapides. Par exemple, le miroir par défaut pour la Chine m'aurait toujours fait attendre 5 à 15 minutes pour mettre à jour mes référentiels. Changé pour un plus rapide et maintenant cela prend environ 30 secondes.
Adempewolff
1
@adempewolff Seriez-vous capable / disposé à écrire une réponse contenant les informations contenues dans ce commentaire et montrant également (avec une description et une image) comment changer le miroir dans les sources de logiciel?
Eliah Kagan

Réponses:

38

Comment puis-je réduire le temps afin que si un référentiel particulier prend plus de 10 secondes pour se connecter ou se terminer, il doit l'ignorer et déplacer les suivants?

Les miroirs sont une option, comme l'explique @adempewolff. Laissez-moi vous donner une réponse directe cependant:

Définition des délais d'attente de connexion apt-get

Vous pouvez contrôler ces délais via les apt.confoptions suivantes :

  Acquérir :: http :: Timeout "10";
  Acquérir :: ftp :: Timeout "10";
  

Notez que cela ne s'applique qu'aux délais d'attente de connexion, PAS aux délais d'attente de "temps d'arrivée", c'est-à-dire que si la connexion est établie dans les 10 secondes, il continuera à télécharger un package de 100 Mo même s'il est à 1 Ko / seconde :)

Pour implémenter ces options, créez simplement un fichier de configuration dans /etc/apt/apt.conf.d; supposons que nous l'appelons 99timeout.

  • Appuyez sur Alt+F2, tapezgksudo gedit /etc/apt/apt.conf.d/99timeout
  • Tapez / collez les lignes ci-dessus, avec votre choix de délai d'expiration en secondes
  • Sauvegarder et quitter.
  • Essayez maintenant sudo apt-get update

Et le terminal "addict" trouver "meilleur serveur" pirater!

Élargi et proposé comme réponse à cette question plus appropriée


Options apt-get conf supplémentaires que vous pouvez essayer de modifier

  • Acquire::Queue-Mode: Mode de file d'attente; Le mode de file d'attente peut être l'un des hostou accessdéterminer la manière dont APT met en parallèle les connexions sortantes. hostsignifie qu'une connexion par hôte cible sera ouverte, cela accesssignifie qu'une connexion par type d'URI sera ouverte.

  • Acquire::Retries: Nombre de tentatives à effectuer. S'il est différent de zéro, APT réessayera les fichiers en échec le nombre de fois indiqué.

  • Acquire::http::Dl-Limit: accepte les valeurs entières en kilo-octets, pour limiter la vitesse de téléchargement et ne pas ralentir votre navigation / email / etc. lors de la mise à jour. La valeur par défaut est 0, ce qui désactive la limite et tente d'utiliser autant que possible la bande passante. Si activé, il désactivera apt-getla fonctionnalité de téléchargement parallèle.

  • Creusez man apt.confsi vous pensez que quelque chose d'autre pourrait aider!

ish
la source
1
Existe-t-il un moyen d'implémenter un délai d'attente "heure de fin"? Je sais que dans mon cas (et je suppose que dans le cas du PO, car il mentionne que le pourcentage prend une éternité, ce qui implique qu'il est déjà connecté), il ne s'agit généralement pas d'une question de délai de connexion, mais simplement d'un problème de lenteur de la connexion ( comme 1 kb / s lent).
Adempewolff
J'aimerais pouvoir vous donner +2 pour cette deuxième partie; Je me suis demandé comment tester les serveurs les plus rapides du terminal pendant un long moment.
Adempewolff
Merci @adempewolff, je souhaite réellement écrire / modifier quelque chose comme netselect-aptpour Ubuntu afin que tout se trouve dans l'exécutable. En ce qui concerne votre question de l'heure de la fin, je ne pense pas qu'il y ait un moyen au niveau apt-conf. Mais man apt.conf, et voir "Le groupe acquis ", en particulier le mode file d'attente et les tentatives qui peuvent être utiles.
Ish
J'ai accepté mais pour le "Meilleur serveur bidouille" je vous ai donné un +1 sur cette autre réponse et celle-ci. C'est très intelligent.
Luis Alvarado
5

Certains dépôts à chargement extrêmement lent sont simplement le symptôme de l’utilisation d’un miroir lent. Les miroirs par défaut pour de nombreuses régions ne sont pas les plus rapides (je sais que c'est le cas en Chine).

Changer votre miroir se fait très facilement via l'interface graphique des sources de logiciels, vous pouvez ouvrir cette fenêtre de deux manières:

  1. Ouvrez Ubuntu Software Centeret cliquez sur Software Sourcesdans le Editmenu.

ou

  1. Ouvrez un terminal (ou un type alt-F2) et lancezsoftware-properties-gtk

Lorsque cette fenêtre s’affiche, vous remarquerez un menu déroulant indiquant Download From:que votre miroir est sélectionné. Sélectionnez l' Otheroption dans ce menu.

sources de logiciels

Dans la nouvelle fenêtre qui Select Best Servers’affiche, cliquez sur le bouton pour tester et choisir automatiquement le serveur le plus rapide pour votre emplacement.

sélectionner le meilleur serveur

J'espère que cela t'aides!

Voir également:

Adempewolff
la source
Hmmm, je ne peux pas obtenir la capture d'écran pour capturer le menu déroulant en action. Je ne sais pas si je veux poser une question à ce sujet ou déposer un bogue ...
adempewolff
Un autre bug possible que je pourrais signaler est que le software-properties-gtkprogramme apparaissait dans le tiret Unity lorsque vous tapiez Software Sources, mais il ne le fait plus ...
adempewolff
Bonne réponse adempewolff. Ce serait la première étape. Si cela ne fonctionne pas, alors la réponse acceptée serait la solution. +1 merci.
Luis Alvarado
2

apt-fast fonctionne comme apt-get , mais télécharge les mises à jour et les packages du référentiel en parallèle. Voir ce tutoriel pour apprendre à l'utiliser.

tslocum
la source