Cómo reducir el tiempo de espera para las actualizaciones del repositorio


32

Al hacer aptitude update/ apt-get updateo usar el Administrador de actualizaciones para actualizar, a veces llego a un enlace de repositorio que lleva demasiado tiempo. El porcentaje no termina y toma bastante tiempo antes de ignorarlo.

¿Cómo puedo reducir el tiempo para que si un repositorio particular tarda más de 10 segundos en conectarse o finalizar, lo ignore y mueva los siguientes? Aquí hay una imagen que explica el problema:

ingrese la descripción de la imagen aquí

Está tratando de conectarse a archive.ubuntu.com, pero como está tardando demasiado, se queda allí por al menos 3 a 5 minutos (no he medido el tiempo) y luego se muestra como ignorado y pasa a lo siguiente. Deseo cambiar eso a segundos en lugar de minutos.


Intenta usar un espejo diferente. Los predeterminados para cada razón a menudo no son los más rápidos. Por ejemplo, el espejo predeterminado para China siempre me haría esperar de 5 a 15 minutos para actualizar mis repositorios. Lo cambió a uno más rápido y ahora tarda unos 30 segundos.
adempewolff

1
@adempewolff ¿Podrías / estarías dispuesto a escribir una respuesta que contenga la información de ese comentario, y que también muestre (incluyendo una descripción y una imagen) cómo cambiar el espejo en las Fuentes de software?
Eliah Kagan

Respuestas:


38

¿Cómo puedo reducir el tiempo para que si un repositorio particular tarda más de 10 segundos en conectarse o finalizar, lo ignore y mueva los siguientes?

Los espejos son una opción, como explicó @adempewolff. Sin embargo, déjame darte una respuesta directa:

Establecer tiempos de espera de conexión apt-get

Puede controlar estos tiempos de espera a través de las siguientes apt.confopciones:

  Adquirir :: http :: Tiempo de espera "10";
  Adquirir :: ftp :: Tiempo de espera "10";
  

Tenga en cuenta que esto solo se aplica a los tiempos de espera de conexión, NO a los tiempos de espera de "finalización", es decir, si se conecta dentro de los 10 segundos, continuará descargando un paquete de 100 MB incluso si es a 1 KB / segundo :)

Para implementar estas opciones, simplemente cree un archivo conf en /etc/apt/apt.conf.d; supongamos que lo llamamos 99timeout.

  • Presione Alt+F2, escribagksudo gedit /etc/apt/apt.conf.d/99timeout
  • Escriba / pegue las líneas anteriores, con su opción de tiempo de espera en segundos
  • Guardar y Salir.
  • Ahora intenta sudo apt-get update

¡Y el truco de "encontrar el mejor servidor" del adicto a la terminal!

Ampliado y movido como respuesta a esta pregunta más apropiada


Opciones adicionales de apt-get conf que puedes intentar ajustar

  • Acquire::Queue-Mode: Modo de espera; Queue-Mode puede ser de hosto accessque determina cómo paralelará APT conexiones salientes. hostsignifica que se abrirá una conexión por host de destino, accesssignifica que se abrirá una conexión por tipo de URI.

  • Acquire::Retries: Número de reintentos para realizar. Si esto no es cero, APT reintentará los archivos fallidos la cantidad de veces indicada.

  • Acquire::http::Dl-Limit: acepta valores enteros en kilobytes, para acelerar la velocidad de descarga y no ralentizar su navegación / correo electrónico / etc. Al actualizar. El valor predeterminado es 0, que desactiva el límite e intenta utilizar la mayor cantidad posible del ancho de banda. Si está habilitado, deshabilitará apt-getla función de descarga paralela.

  • ¡Examina man apt.confsi crees que algo más podría ayudar!


1
¿Hay alguna manera de implementar un tiempo de espera de "tiempo de finalización"? Lo sé en mi caso (y supongo que en el caso del OP, ya que menciona el porcentaje que tarda para siempre, lo que implica que ya está conectado) por lo general no es una cuestión de que la conexión se agote, es solo un problema de que la conexión sea laboriosamente lenta ( como 1 kb / s lento).
adempewolff

Desearía poder darte +2 para esa segunda parte; Me he estado preguntando cómo probar los servidores más rápidos del terminal durante mucho tiempo.
adempewolff

Gracias @adempewolff, realmente quiero escribir / modificar algo como netselect-aptpara Ubuntu, así que todo está en el ejecutable. Re su pregunta sobre el tiempo de finalización, no creo que haya una manera en el nivel apt-conf Pero man apt.conf, y vea "El grupo de adquisición", específicamente el Modo de cola y los reintentos que pueden ser útiles.
ish

Acepté pero para el "Mejor pirateo del servidor", le di un +1 en esa otra respuesta y esta. Es muy inteligente
Luis Alvarado

5

A menudo, ciertos repositorios que se cargan dolorosamente lentos es solo un síntoma del uso de un espejo lento. Los espejos predeterminados para muchas regiones no son los más rápidos (sé que este es el caso en China).

Cambiar su espejo se hace realmente fácilmente a través de la GUI de Fuentes de Software, puede abrir esta ventana de dos maneras:

  1. Abra Ubuntu Software Centery haga clic en Software Sourcesen el Editmenú.

o

  1. Abra una terminal (o tipo alt-F2) y ejecutesoftware-properties-gtk

Cuando aparezca esta ventana, verás un menú desplegable Download From:que dice que selecciona tu espejo. Seleccione la Otheropción de este menú.

fuentes de software

En la nueva ventana que aparece, haga clic en el Select Best Serverbotón y esto probará y elegirá automáticamente el servidor más rápido para su ubicación.

seleccione el mejor servidor

¡Espero que esto ayude!

Ver también:


Hmmm, no puedo obtener la captura de pantalla para capturar el menú desplegable en acción. No sé si quiero hacer una pregunta sobre esto o presentar un error ...
adempewolff

Otro posible error que podría presentar es que el software-properties-gtkprograma solía aparecer en el guión de Unity cuando escribía Software Sources, pero ya no lo hace ...
adempewolff

Buena respuesta adempewolff. Como primer paso, esto sería todo. Si no funciona, la respuesta aceptada sería la solución. +1 gracias.
Luis Alvarado

2

apt-fast funciona como apt-get , pero descarga actualizaciones de repositorio y paquetes en paralelo. Vea este tutorial para aprender cómo usarlo.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.