domingo, 21 de julio de 2013

Seleccionar la "mejor" mirror en Debian


Algunas distribuciones tales como por ejemplo Ubuntu o Mint usan su propio gestor para la selección de los espejos más adecuados en cada uno de los casos. Es decir, según nuestra ubicación.
La selección de un espejo a favor de otro se determina por la respuesta de éste y su velocidad en kB/sec. Lógicamente cuanto más alta sea ésta, mejor se comportará el sistema a la hora de gestionar e instalar las actualizaciones.

Que sea el espejo más cercano o rápido tampoco quiere decir que sea el más adecuado, ya que este puede no encontrarse lo suficientemente actualizado. Esto es algo que hay que tener muy en consideración ya que podríamos necesitar paquetería que en éste aún no se encuentra disponible.

En Debian hay un comando que nos facilita saber cual de los espejos es el más optimo con respecto a nuestra ubicación. Se trata de apt-spy que no viene instalado por defecto en Debian. Para ello desde un terminal realizaremos lo siguiente:
  • sudo apt-get install apt-spy
La búsqueda de espejos se puede realizar por región o por países (abreviaturas en este último caso).
Por región: sudo apt-spy -d wheezy -a Europe
Por País: sudo apt-spy -d wheezy -s ES
-a se refiere a la región
-s se refiere al País (abreviatura)

Lista de Regiones y Países (abreviatura)
  • Africa: ZA
  • Asia: CN, HK, ID, IL, IN, JP, KR, RU, SG, TH, TR, TW
  • Europe: AT, BE, BG, BY, CH, CZ, DE, DK, EE, ES, FI, FR, GB, GR, HR, HU, IE, IS, IT, LT, LU, LV, NL, NO, PL, PT,RO, RU, SE, SI, SK, TR, UA
  • North-America: CA, US, MX
  • Oceania: AU, NZ
  • South-America: CR, BR, CL, NI

Equivalencias de abreviaturas por países:
AT  <--------------------------------------->  Austria
AU  <--------------------------------------->  Australia
BE  <--------------------------------------->  Belgium
BG  <--------------------------------------->  Bulgaria
BR  <--------------------------------------->  Brazil
BY  <--------------------------------------->  Belarus
CA  <--------------------------------------->  Canada
CH  <--------------------------------------->  Switzerland
CL  <--------------------------------------->  Chile
CN  <--------------------------------------->  China
CR  <--------------------------------------->  Costa Rica
CZ  <--------------------------------------->  Czech Republic
DE  <--------------------------------------->  Germany
DK  <--------------------------------------->  Denmark
EE  <--------------------------------------->  Estonia
ES  <--------------------------------------->  Spain
FI  <--------------------------------------->  Finland
FR  <--------------------------------------->  France
GB  <--------------------------------------->  United Kingdom
GR  <--------------------------------------->  Greece
HK  <--------------------------------------->  Hong Kong
HR  <--------------------------------------->  Croatia
HU  <--------------------------------------->  Hungary
ID  <--------------------------------------->  Indonesia
IE  <--------------------------------------->  Ireland
IL  <--------------------------------------->  Israel
IN  <--------------------------------------->  India
IS  <--------------------------------------->  Iceland
IT  <--------------------------------------->  Italy
JP  <--------------------------------------->  Japan
KR  <--------------------------------------->  Korea
LT   <--------------------------------------->  Lithuania
LU   <--------------------------------------->  Luxembourg
LV   <--------------------------------------->  Latvia
MX  <--------------------------------------->  Mexico
NI    <--------------------------------------->  Nicaragua
NL  <--------------------------------------->  Netherlands
NO  <--------------------------------------->  Norway
NZ  <--------------------------------------->  New Zealand
PL  <--------------------------------------->  Poland
PT  <--------------------------------------->  Portugal
RO  <--------------------------------------->  Romania
RU  <--------------------------------------->  Russia
SE  <--------------------------------------->  Sweden
SG  <--------------------------------------->  Singapore
SI   <--------------------------------------->  Slovenia
SK  <--------------------------------------->  Slovakia
TH  <--------------------------------------->  Thailand
TR  <--------------------------------------->  Turkey
TW  <--------------------------------------->  Taiwan
UA  <--------------------------------------->  Ukraine
US  <--------------------------------------->  United States
ZA  <--------------------------------------->  South Africa

Algunos parámetros destacados:

-d: Distribución para la cual comprobar los espejos (ejem: wheezy)
-a: Se comprobarán los espejos de una región en concreto (ejem: Europa)
-s: Se comprobarán los espejos por país (ejem: ES)
-t: Tiempo de comprobación de los espejos (15 segundos por defecto para cada espejo)
-o: Desviación del archivo de salida
update: Actualiza la lista de réplicas

Nota: Para ver todas las opciones clicamos en un terminal apt-spy y pulsamos intro.

Por defecto apt-spy realiza un chequeo de las mirror y nos crea el archivo en /etc/apt/sources.list.d/apt-spy.list con los mejores resultados obtenidos. Para mi gusto esto no es lo más adecuado y yo prefiero dar salida a esta información en otro archivo en por ejemplo mi escritorio y luego modificar mi /etc/apt/sources.list manualmente.

Demos unos ejemplos prácticos.
Quiero realizar un chequeo de todos los espejos en la región de Europa indicándome el más optimo. Para ello abro un terminal en mi escritorio y pongo lo siguiente:
sudo apt-spy update
sudo apt-spy -d wheezy -t 5 -a Europe -o espejos-europa.txt

Antes de seguir expliquemos algo los parámetros utilizados:
-d wheezy: Le indico la rama para la cualquiero los resultados

-t 5: 15 segundos que son los que vienen por defecto pueden ser algo excesivo para realizar los chequeos en cada una de los espejos, sobre todos cuando hay muchos como en el caso de Europa. Por ello los bajo a 5 segundos, aunque 5 segundos pueden ser algo justos para las respuestas de algunos. 

-a Europe: Le indico la región sobre la cual quiero se realice la búsqueda. 

-o espejos-europa.txt: Desvío el archivo de salida por defecto a espejos-europa.txt. Como el terminal abierto fue en el escritorio, este archivo será creado en dicha ubicación. El resultado será la creación de dicho archivo con la siguiente estructura:

//////////////////////////////////////////////////////////////////
# sources.list generated by apt-spy v3.2.2
#
# Generated using:
#
# apt-spy \
#     -d wheezy \
#     -t 3 \
#     -a Europe \
#     -o espejos-europa.txt
#
deb http://merlin.fit.vutbr.cz/debian/ wheezy main #contrib non-free
deb-src http://merlin.fit.vutbr.cz/debian/ wheezy main #contrib non-free
#deb http://security.debian.org/ stable/updates main


 //////////////////////////////////////////////////////////////////

Como se puede apreciar el espejo mejor situados es: http://merlin.fit.vutbr.cz/debian/
Ahora si quiero añadirlo a mi archivo sources.list editaré éste...:
  • sudo pluma  /etc/apt/sources.list
...y relazaré la dirección http:// correspondientes de éste por esta otra.
Ejemplo:

sources.list antes (en color rosa lo que se debe remplazar):

deb http://ftp.fr.debian.org/debian/ wheezy main contrib non-free
deb http://ftp.fr.debian.org/debian/ wheezy-updates main contrib non-free
deb http://ftp.fr.debian.org/debian/ wheezy-proposed-updates contrib non-free main
deb http://security.debian.org/ wheezy/updates main contrib non-free
deb http://www.deb-multimedia.org wheezy main non-free


sources.list después:

deb http://merlin.fit.vutbr.cz/debian/ wheezy main contrib non-free
deb http://merlin.fit.vutbr.cz/debian/ wheezy-updates main contrib non-free
deb http://merlin.fit.vutbr.cz/debian/ wheezy-proposed-updates contrib non-free maindeb http://security.debian.org/ wheezy/updates main contrib non-free
deb http://www.deb-multimedia.org wheezy main non-free

En el caso de querer realizar el chequeo por País en vez de por región realizaremos lo siguiente:

sudo apt-spy update
sudo apt-spy -d wheezy -t 5 -s ES -o espejos-España.txt

No hay comentarios:

Publicar un comentario