Apt-get prend beaucoup de temps pour mettre à jour \ mise à niveau

15

Sur mon réseau de travail, toutes les commandes apt-get (ou aptitude) prennent très longtemps, il semblerait que les administrateurs aient bloqué certains ports pour cela (pour une raison inconnue). Par exemple

sudo apt-get update

prendre comme 2 jours et tout ce que je reçois - une très longue liste de réponses comme

Get: 36 http://security.ubuntu.com precise-security/universe amd64 Packages [11.6 kB]
Get: 37 http://security.ubuntu.com precise-security/universe amd64 Packages [11.6 kB]
Get: 38 http://security.ubuntu.com precise-security/universe amd64 Packages [11.6 kB]
Get: 39 http://security.ubuntu.com precise-security/universe amd64 Packages [11.6 kB]
Get: 40 http://security.ubuntu.com precise-security/universe amd64 Packages [11.6 kB]

Même situation alors j'essaie de télécharger un logiciel

Get:1 http://archive.ubuntu.com/ubuntu/ precise/main dash i386 0.5.7-2ubuntu2 [85.8 kB]
Get:2 http://archive.ubuntu.com/ubuntu/ precise/main dash i386 0.5.7-2ubuntu2 [85.8 kB]
Get:3 http://archive.ubuntu.com/ubuntu/ precise/main dash i386 0.5.7-2ubuntu2 [85.8 kB]
Get:4 http://archive.ubuntu.com/ubuntu/ precise/main dash i386 0.5.7-2ubuntu2 [85.8 kB]
Get:5 http://archive.ubuntu.com/ubuntu/ precise/main dash i386 0.5.7-2ubuntu2 [85.8 kB]

Puis-je faire quelque chose pour changer de port pour apt-get ou autre chose

ShockwaveNN
la source

Réponses:

11

Mes serveurs Ubuntu étaient toujours très rapides lors des apt-getmises à jour et des mises à niveau. En règle générale, les lignes à l'écran allaient trop vite pour être visibles. Puis tout d'un coup, ils ont ralenti pour ramper pendant la nuit.

C'était IPv6 qui le faisait.

J'ai trouvé la solution suivante:

sudo nano /etc/gai.conf

Décommentez la ligne suivante:

precedence ::ffff:0:0/96 100

Pour moi, c'était la ligne 54 (assurez-vous de ne pas décommenter celle qui se termine par 10).

Sauvegarder et quitter.

sudo nano /etc/apt/apt.conf.d/99force-ipv4 # (this is to make a new file)

Ajoutez la ligne suivante au nouveau fichier:

Aquire::ForceIPv4 false;

Sauvegarder et quitter.

Ryan
la source
3
Je ne suis pas fan de ces réponses car il n'y a aucune explication réelle pour expliquer pourquoi c'est une solution.
Gray Adams
1
@GrayAdams Si vous avez une explication, vous pouvez l'ajouter. Je n'en ai pas. J'aurais aimé :( Je savais juste ce qui fonctionnait pour moi, donc je l'ai posté pour que d'autres résolvent le problème, au moins temporairement.
Ryan
3
sudo nano /etc/gai.conf

ajoutez / décommentez ces lignes:

reload yes
precedence ::ffff:0:0/96 100
precedence ::/0 10

quand j'ai mis à jour avec les lignes ci-dessus, /etc/gai.confil a été résolu, et il a été utilisé ipv4directement au lieu de ipv6et installé rapidement.

venkatesh
la source
OUI!!!!! Je vous remercie!!! Je n'avais aucune idée de ce qui se passait ici. J'ai dû attendre 10 minutes pour chaque installation d'apt-get.
Jacko
1

Je vous suggère de commencer par mesurer votre débit Internet / réseau typique en utilisant l'un des sites de vérification des performances. Une possibilité est www.speedtest.net . Vous pouvez également utiliser une simple recherche Google pour rechercher d'autres sites que vous pourriez utiliser pour tester la vitesse de votre connexion Internet.

Si les tests montrent que le problème n'est pas une limitation de votre connexion Internet, alors la prochaine étape pourrait être de jeter un coup d'œil aux réponses à cette question:
comment puis-je utiliser un miroir près de moi ou choisir un miroir plus rapide ?

Je vous suggère de commencer par essayer la réponse la plus populaire à cette question . Cela revient à ajouter les deux lignes ci-dessous en haut de /etc/apt/sources.list. Ceci est censé encourager le processus de mise à jour à choisir automatiquement un miroir de téléchargement avec de meilleures performances.

deb mirror://mirrors.ubuntu.com/mirrors.txt precise main restricted universe multiverse
deb mirror://mirrors.ubuntu.com/mirrors.txt precise-updates main restricted universe multiverse
  • Remarque: Les lignes ci-dessus sont destinées à être utilisées avec Ubuntu 12.04 (Precise Pangolin) . Pour les versions antérieures, remplacez precisedans les deux lignes ci-dessus le nom de code correspondant de la version que vous utilisez.

    Lucid(10.04), Maverick(10.10), Natty(11.04), Oneiric(11.10)

Si cette approche n'aide pas ou n'est tout simplement pas quelque chose que vous voulez faire, vous pouvez également envisager de laisser Update Manager tenter de choisir un miroir "le plus rapide ". Ceci est décrit plus en détail dans les autres réponses à la question à laquelle j'ai fourni un lien ci-dessus.

irrationnel John
la source
Mon Internet fonctionne bien. J'ai essayé beaucoup de miroirs - mais le même résultat, je ne peux rien télécharger à partir de sites
ShockwaveNN
@ShockwaveNN Si votre Internet fonctionne correctement, vous ne devriez avoir aucun problème de téléchargement à partir de la plupart des miroirs. Il n'y a rien de très différent en termes d'Internet qui se produit pendant, disons, sudo apt-get updateet en utilisant le firefoxnavigateur. Avez-vous essayé de démarrer à partir d'un Live CD / USB et d'essayer sudo apt-get updatede voir s'il y a une différence? S'il y en a, cela indiquerait un problème avec votre installation d'Ubuntu. Si vous obtenez le même résultat, je n'ai pas d'autre idée pour le moment.
irrationnel John
0

Tout d'abord, 2 faits:
apt-get utilise http (port 80) par défaut dans les distributions Linux standard.

apt-gettélécharge généralement ~ 20 Mo de données pour mettre à jour les listes. Si vous venez de l' apt-get updateexécuter et de le réexécuter, il télécharge ~ 100 Ko de données uniquement.
Donc, si vous pouvez parcourir le World Wide Web (c'est-à-dire les sites Web à l'aide d'un navigateur) et que vous utilisez des distributions standard (non personnalisées pour utiliser un autre port), rien n'a été bloqué par l'administrateur qui vous empêche d'exécuter cette commande.
Le problème peut être que les demandes de votre machine aux serveurs actuels utilisés pour les mises à jour par apt-get sont confrontées à certains problèmes (c'est-à-dire qu'il peut s'agir simplement d'un problème de téléchargement).
Pour résoudre votre problème, mes suggestions (lorsque vous utilisez ubuntu):

Ouvrez update-manager-> cliquez sur les paramètres en bas à gauche -> cliquez sur le premier onglet du logiciel ubuntu -> cliquez sur la liste déroulante à côté de l'option Télécharger depuis -> changez le serveur à un endroit plus proche de votre emplacement en en choisissant un autre dans le liste. Vérifiez également le protocole utilisé pour les mises à jour. Il doit s'agir de http pour les utilisateurs généraux. -> Maintenant, lancez sudo apt-get update ou utilisez le gestionnaire de mise à jour pour vérifier les mises à jour. Maintenant, les choses devraient bien fonctionner pour vous. Si les choses ne fonctionnent pas même après avoir suivi cela, commentez ici.


Comme cela ne vous aidera pas, il semble que ce soit le problème des fichiers obsolètes ou partiels collectés lors d'une tentative de mise à jour.
Je vous suggère d'exécuter ces commandes dans le terminal:

sudo mv /var/cache/apt/archives/partial{,bakjune9}
sudo mv /var/lib/apt/lists{,bakjune9}

Ces commandes renommeront les répertoires où les fichiers sont stockés lors de apt-getleur téléchargement lors de la mise à jour et de la mise à niveau. (Vous pouvez les renommer en cas de problème. Il n'y a donc aucun risque d'aggraver la situation).
Après cette course:

sudo apt-get update 

Il va télécharger quelque chose comme 20 Mo de données.
S'il s'exécute correctement, votre problème est résolu.

Vous devriez maintenant pouvoir exécuter sudo apt-get upgradepour installer les mises à jour.
Si ce n'est pas le cas, commentez ici en retour.

drake01
la source
Cela n'a pas aidé, je change de serveur dans un autre pays et vérifie que ce protocole était 'http' mais j'ai le même problème. Je peux également naviguer sur Internet (sauf certains sites comme youtube.com) et aller sur archive.ubuntu.com/ubuntu dans mon navigateur et cela fonctionne très bien
ShockwaveNN
J'ai ajouté les prochaines étapes qui, selon moi, devraient vous aider. Voyez si ça marche.
drake01
La deuxième variante n'a pas fonctionné non plus. Je pense fortement que c'est un problème de connexion, des moyens de diagnostiquer mes problèmes de connexion?
ShockwaveNN
Avez-vous ajouté de nombreuses sources de logiciels autres que les référentiels principaux? Si vous avez quelques dizaines de ppa qui sont en panne ou abandonnés ou vraiment lents, cela peut ralentir une mise à jour. Il devrait également vous donner un message d'erreur chaque fois qu'il ne peut pas se connecter à un.
Marc
0

Courir

sudo apt-get clean

avant de courir

sudo apt-get update
P4uB0rd4
la source