Apt-get toma mucho tiempo actualizar / actualizar

15

En mi red de trabajo, cualquier comando apt-get (o aptitude) lleva mucho tiempo, parece que los administradores bloquearon algún puerto (por razones desconocidas). Por ejemplo

sudo apt-get update

me toma como 2 días y todo lo que obtengo - una lista muy larga de respuestas como

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]

La misma situación, entonces trato de descargar el software

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]

¿Hay algo que pueda hacer para cambiar el puerto de apt-get o algo más?

ShockwaveNN
fuente

Respuestas:

11

Mis servidores ubuntu siempre fueron muy rápidos en las apt-getactualizaciones y mejoras. Por lo general, las líneas en la pantalla iban demasiado rápido para ser vistas. Luego, de repente, disminuyeron la velocidad hasta arrastrarse durante la noche.

Fue IPv6 haciéndolo.

Encontré la siguiente solución:

sudo nano /etc/gai.conf

Descomente la siguiente línea:

precedence ::ffff:0:0/96 100

Para mí fue la línea 54 (asegúrese de no descomentar la que termina en 10).

Guardar y Salir.

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

Agregue la siguiente línea al nuevo archivo:

Aquire::ForceIPv4 false;

Guardar y Salir.

Ryan
fuente
3
No soy fanático de estas respuestas ya que no hay una explicación real de por qué esta es una solución.
Gray Adams
1
@GrayAdams Si tiene una explicación, puede agregarla. No tengo ninguno. Ojalá lo hiciera :( Solo sabía lo que funcionaba para mí, así que lo publiqué para que otros solucionen el problema, al menos temporalmente.
Ryan
3
sudo nano /etc/gai.conf

agregue / descomente estas líneas:

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

cuando actualicé con las líneas anteriores, /etc/gai.confse resolvió y se usó ipv4directamente en lugar de ipv6e instaló rápidamente.

venkatesh
fuente
¡¡¡¡¡SI!!!!! ¡¡¡Gracias!!! No tenía idea de lo que estaba pasando aquí. Tuve que esperar 10 minutos para cada instalación de apt-get.
Jacko
1

Le sugiero que comience midiendo su rendimiento típico de Internet / red utilizando uno de los sitios de verificación de rendimiento. Una posibilidad es www.speedtest.net . También puede usar una simple búsqueda en Google para buscar otros sitios que pueda usar para probar su velocidad de conexión a Internet.

Si las pruebas muestran que el problema no es una limitación de su conexión a Internet, entonces el siguiente paso podría ser echar un vistazo a las respuestas a esta pregunta:
¿Cómo puedo usar un espejo cerca de mí o elegir un espejo más rápido? ?

Le sugiero que comience probando la respuesta más popular a esa pregunta . Se reduce a agregar las dos líneas a continuación en la parte superior de/etc/apt/sources.list . Se supone que esto fomenta el proceso de actualización para elegir automáticamente un espejo de descarga con un mejor rendimiento.

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
  • Nota: Las líneas anteriores están destinadas a usarse con Ubuntu 12.04 (Precise Pangolin) . Para versiones anteriores, reemplace preciseen las dos líneas anteriores con el nombre en clave correspondiente de la versión que está utilizando.

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

Si este enfoque no ayuda o simplemente no es algo que desea hacer, entonces también puede considerar dejar que Update Manager intente elegir un espejo " más rápido ". Esto se describe con más detalle en las otras respuestas a la pregunta a la que proporcioné un enlace.

John irracional
fuente
Mi internet funciona bien. Probé muchos espejos, pero el resultado es el mismo, no puedo descargar nada de los sitios
ShockwaveNN
@ShockwaveNN Si su Internet funciona bien, entonces no debería tener problemas para descargar desde la mayoría de los espejos. No hay nada significativamente diferente en términos de Internet que ocurre durante, digamos, sudo apt-get updatey usando el firefoxnavegador. ¿Has intentado arrancar desde un Live CD / USB e intentas sudo apt-get updatever si hay alguna diferencia? Si lo hay, apuntaría a que algo está mal con su instalación de Ubuntu. Si obtiene el mismo resultado, entonces no tengo otras ideas en este momento.
John irracional
0

Primero, 2 hechos:
apt-get usa http (puerto 80) por defecto en las distribuciones estándar de Linux.

apt-getgeneralmente descarga ~ 20 MB de datos para actualizar las listas. Si solo lo ejecutó apt-get updatey lo ejecutó nuevamente, descarga ~ 100 KB de datos solamente.
Entonces, si puede navegar por la red mundial (es decir, sitios web que usan navegador) y está usando distribuciones estándar (no personalizadas para usar cualquier otro puerto), el administrador no ha bloqueado nada, lo que le impide ejecutar este comando.
El problema podría ser que las solicitudes de su máquina a los servidores actuales que apt-get utiliza para actualizaciones se enfrentan a algunos problemas (es decir, podría ser solo un problema de descarga).
Para resolver su problema, mis sugerencias (ya que está utilizando ubuntu):

Abra update-manager-> haga clic en la configuración en la parte inferior izquierda -> haga clic en la primera pestaña del software ubuntu -> haga clic en el cuadro desplegable junto a la opción Descargar desde -> cambie el servidor a un lugar más cercano a su ubicación eligiendo otro en el lista. También verifique el protocolo que se utiliza para las actualizaciones. Debería ser http para usuarios generales. -> Ahora ejecuta sudo apt-get update o usa el administrador de actualizaciones para buscar actualizaciones. Ahora las cosas deberían funcionar bien para ti. Si las cosas no funcionan incluso después de esto, comente aquí.


Como no puede ayudarlo, parece ser el problema de los archivos obsoletos o parciales recopilados al intentar actualizarse hace algún tiempo.
Te sugiero que ejecutes estos comandos en la terminal:

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

Estos comandos cambiarán el nombre de los directorios donde se almacenan los archivos cuando los apt-getdescarguen mientras se actualizan y actualizan. (Puede cambiarles el nombre si algo sale mal. Por lo tanto, no hay riesgo de empeorar la situación)
Después de esa ejecución:

sudo apt-get update 

Descargará algo así como 20 MB de datos.
Si se ejecuta con éxito, su problema está resuelto.

Ahora debería poder ejecutar sudo apt-get upgradepara instalar las actualizaciones.
Si no es así, comente aquí de nuevo.

drake01
fuente
Esto no ayudó, cambié el servidor a otro país y verifiqué que el protocolo era 'http' pero tengo el mismo problema. También puedo navegar por Internet (excepto algunos sitios como youtube.com), y puedo ir a archive.ubuntu.com/ubuntu en mi navegador y funciona bien
ShockwaveNN
Agregué los siguientes pasos que creo que deberían ayudarte. A ver si funciona.
drake01
La segunda variante tampoco funcionó. Creo firmemente que este es un problema con la conexión, ¿alguna forma de diagnosticar mi conexión por problemas?
ShockwaveNN
¿Ha agregado muchas fuentes de software además de los repositorios principales? Si tiene unas pocas docenas de ppa que están caídas o abandonadas o son realmente lentas, eso puede hacer que una actualización sea lenta. También debería darte un mensaje de error cada vez que no puede conectarse a uno.
Marc
0

correr

sudo apt-get clean

antes de correr

sudo apt-get update
P4uB0rd4
fuente