Somos un equipo distribuido, por eso nuestras máquinas virtuales usan la mirror://
configuración de Ubuntu . Nuestro /etc/apt/sources.list
aspecto es el siguiente:
deb mirror://mirrors.ubuntu.com/mirrors.txt lucid main restricted universe multiverse
deb mirror://mirrors.ubuntu.com/mirrors.txt lucid-updates main restricted universe multiverse
deb mirror://mirrors.ubuntu.com/mirrors.txt lucid-backports main restricted universe multiverse
deb mirror://mirrors.ubuntu.com/mirrors.txt lucid-security main restricted universe multiverse
Esto en sí mismo es bastante sorprendente y muy útil para las personas que trabajan en diferentes ubicaciones: menos personalización local , etc., necesaria. Fail-over en teoría.
En el día a día, esta configuración falla con demasiada frecuencia. Quiero decir 2-3 veces esta semana.
En este momento mirrors.ubuntu.com
vuelve ftp.uni-bayreuth.de
como mi espejo del armario. Desafortunadamente, parece estar abajo.
Esto ha estado sucediendo durante algunas horas y el espejo está alojado por voluntarios en una universidad y hoy es viernes, tengo muchas esperanzas de que esto se corrija pronto.
Todos hablan, mis preguntas son:
- ¿Alguien usa esto?
- ¿Cómo se soluciona el tiempo de inactividad? (mi solución rápida es un script de shell)
- ¿Cómo puedo ayudar a mejorar esta situación?
mirror:
método que tuvo más actualizaciones en su hilo. Mi problema es que siempre que falla el espejo más rápido, no hay conmutación por error y estoy atascado.Respuestas:
Personalmente, creo que la mejor manera de seleccionar los mejores espejos de repositorios de Ubuntu es usar el método GUI:
Ahora, para mejorar la situación descrita en la pregunta, debe establecer algunas reglas de alguna manera. Estas reglas deben actuar en consecuencia
mirrors.ubuntu.com
. Puedo sugerir algunas reglas de la siguiente manera:netselect
,apt-spy
oapt-fast
A continuación, para ver cómo puede evitarlo, puedo darle un método descrito paso a paso con tres ejemplos de scripts bash. El primer script usa los espejos del país en el que se encuentra en este momento en lugar de
mirrors.ubuntu.com/mirrors.txt
(para cada país hay un archivo de texto con espejos asociados; consulte http://mirrors.ubuntu.com/ ):mkdir -p bin
: este comando creará unbin
directorio en suhome
carpeta si aún no lo tiene.gedit ~/bin/change_sources.sh
: esto creará el nuevo archivochange_sources.sh
en gedit.o algo similar a lo que se puede encontrar en http://repogen.simplylinux.ch/ :
o, un script que usa
netselect
(descarga desde aquí , instala las instrucciones aquí ) como izx explicó muy bien en esta respuesta :chmod +x ~/bin/change_sources.sh
- para otorgar acceso de ejecución para el script.~/bin/change_sources.sh
. Le dará un error, porque no tiene derecho a editar/etc/apt/sources.list
. Entonces, usasudo ~/bin/change_sources.sh
sudo crontab -e
comando y agregue la siguiente línea:sudo crontab -l
.A partir de ahora, el archivo cambiará dinámicamente después de encontrar un cambio en la dirección IP.
Puede que no sea la mejor solución, pero, en mi opinión, se puede dar una buena solución de esta manera, como en los scripts anteriores .
fuente
apt-spy
script en este momento. Se actualizará aquí más tarde.Agradezco todos los comentarios sobre esta pregunta, pero como a nadie se le ocurrió una solución simple que se adaptara a nuestras circunstancias, decidí solucionar el problema yo mismo.
Creé una herramienta (específicamente para Ubuntu) que llamo
apt-spy2
.El objetivo principal de esta herramienta es encontrar un espejo de trabajo rápido. El funcionamiento se define por el hecho de que el servidor espejo está disponible y (con suerte :) actualizado.
No hago suposiciones sobre si el servidor seleccionado es necesariamente el más cercano y el más rápido. No estoy haciendo ningún ping ni trucos de DNS GEO, pero hasta ahora esto funciona cuando algo se rompe.
Cómo funciona: en pocas palabras:
/etc/apt/sources.list
.Tenga en cuenta: Esto supone que las personas juegan bien y ponen espejos adicionales (por ejemplo, repositorios de terceros
/etc/apt/sources.list.d
. Pero supongo que eso significa que hay margen de mejora.Puede obtener esta herramienta de esta manera:
$ [sudo] gem install apt-spy2
La CLI viene con
list
,check
,fix
yhelp
(soporte con información sobre cómo usarlo).Traté de documentar tanto como sea posible en el archivo README del proyecto .
La versión actual es muy conservadora
0.5.0
.El código es de código abierto y la licencia es liberal. Y tomo todas las contribuciones.
fuente
Había este comando en Debian 6.0.4:
Esto hizo el trabajo para encontrar el siguiente servidor disponible más cercano de forma automática y generar una nueva fuente.
¿En Ubuntu este comando parece no existir?
Todavía existe en Debian 7.0 wheezy:
https://launchpad.net/debian/wheezy/+source/apt-spy/+copyright
Puede descargar su paquete * .deb aquí:
http://packages.debian.org/sid/apt-spy
... sigo buscando las fuentes ...
Obviamente necesita Debian-7.0-Installation para obtener el código fuente después de editar la lista de fuentes con la entrada:
Luego, después de sudo apt-get update, simplemente chuparía el código con:
fuente
Tal vez no use la solución que le gusta, pero configurar un caché local para los archivos .deb debería ser ideal cuando descargue varios MB de paquete (la mayoría de ellos apuesto a que son los mismos) y ya que está descargando desde el mismo servidor, usted podría querer sacrificar una PC para hacer el caché y hacer que el servidor esté menos ocupado.
Procedimiento
Debería poder configurar
apt-cacher
en una máquina que tenga mucho espacio en el disco duro (lo necesitaría). Puede configurar esto utilizando la guía del servidor Apt-cacher , pero hagamos un resumen rápido.Instalar
apt-cacher
sudo apt-get install apt-cacher apache2
/etc/default/apt-cacher
y establezca elautostart
valor en 1, de modo que su caché se inicie cuando se encienda la máquina.sudo /etc/init.d/apache2 restart
http://ip-of.your.cache:3142/apt-cacher
./etc/apt-cacher/apt-cacher.conf
y busque la líneaallowed_hosts
. Puede configurar subredes como192.168.0.0/24
o solo*
para todos los hostsapt-spy
para esto (este comando puede llevar horas, ya que también prueba la velocidad de cada servidor).En tus clientes tienes dos opciones:
sources.list
siguiente:deb http: //ip-of.your.cache: 3142 / the.server.you.like / ubuntu / lucid principal restringido universo multiverso
Cambie la dirección
ip-of.your.cache
IP de su caché ythe.server.you.like
el nombre de host del servidor que usará. Puedes usar varias líneas./etc/apt/apt.conf.d/01proxy
y agregue la línea:Adquirir :: http :: Proxy " http: //ip-of.your.cache: 3142 ";
fuente
-d testing
huele a Debian.Puedes intentar configurar tu propio espejo de Ubuntu. De esa manera las actualizaciones serán locales.
apt-mirror necesita una conexión a internet de alta velocidad y mucho espacio en disco
Configurar su propio espejo Ubuntu es muy fácil usando apt-mirror.
1) ir al repositorio de apt-mirror. Haga una copia de seguridad de su archivo sources.list así:
2) Edite el archivo sources.list así:
3) E inserte lo siguiente en una nueva línea:
4) Actualicemos el índice del paquete
5) e instalar apt-mirror
6) Apt-mirror ahora está configurado, así que digamos qué servidores reflejar:
La configuración predeterminada colocará los archivos descargados en la carpeta / var / spool / apt-mirror. Así es como se ve el archivo mirror.list:
esto solo refleja los paquetes binarios, pero si desea paquetes fuente, debe insertar las líneas apropiadas. Usualmente toman la forma:
7) Ahora, corre
apt-mirror
. Esto va a tomar bastante tiempo. No se preocupe si no puede descargar todos los archivos de una sola vez,apt-mirror
puede reanudar las descargas (elimínelo con la combinación de teclas Ctrl+ Cy vuelva a ejecutarlo cuando desee continuar). Bien, ejecuta apt-mirror así:Consulte también Cómo crear un espejo local de Debian / Ubuntu con apt-mirror
Fuente: Use Apt-mirror para crear su propio Ubuntu Mirror
fuente
apt-mirror
está disponible en los repositorios de ubuntu.mirrors.ubuntu.com
debería funcionar. :)mirrors.ubuntu.com
nunca se resolverámirrors.ubuntu.com
, sino un servidor más cercano a usted. El problema es que el servidor que resuelve no es confiable. Su mejor juego es usar un servidor confiable de la lista oficial.He escrito un script de Python llamado apt-select para que sirva como una alternativa CLI al método GUI.
El script consulta cada espejo a través de TCP, imprime en espejos estándar con la latencia más baja y genera un nuevo
sources.list
archivo. También hay múltiples opciones que le permiten elegir de una lista de espejos clasificados y recuperar información como cuándo se actualizó por última vez el espejo y su capacidad de ancho de banda.fuente