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

martes, 9 de julio de 2013

Vaciar la papelera de forma desatendida


Como yo, seguro que muchos os acordarais de vaciar la Papelera de reciclaje muy de tarde en tarde. Yo incluso tengo la manía de dejar que se vaya llenando expresamente ya que tiendo a pensar que dentro de tal ingente cantidad de archivos alguno querré recuperar. Luego siempre me sucede lo mismo...hay tanta cantidad de archivos que no me entero ni yo mismo para lo que son y revisarlos viene a ser todo un reto por lo que termino siempre pulsando el botón de vaciado.
Desde luego es una imprudencia vaciar la papelera de un día para otro. Considero (para todos aquellos que utilicemos diariamente el Pc) que hay que darse por lo menos 4 días de gracia para vaciarla. Si en ese tiempo no hemos echado nada en falta, considero que poco habrá de valor en ella que podamos necesitar.

Un tiempo prudencial para un vaciado automático considero que puede ser de unos 15 a 20 días, tras el cual el vaciado de ésta es del todo recomendable para unos e imprescindible para otros. Todo dependerá claro está de la cantidad de archivos que manejemos y eliminemos diariamente.
Puedo poner como ejemplo a mi hija que es una verdadera calamidad en este sentido. Muchas veces se encuentra que su disco está a más del 90% y todo ello lo ocupado tan solo por la Papelera.

En estos caso una herramienta que gestione el vaciado de ésta de forma desatendida es realmente útil por no decir imprescindible.

Herramienta de este tipo hay alguna que otra, pera para mí la mejor de ellas es la llamada RMW. Faćil de configurar y además elimina los archivos ocultos de la papelera, cosa ésta que no hacen las otras herramientas de este tipo.

Nos descargaremos esta utilidad desde aquí: RMW
Desempaquetamos el archivo rmw-XXX.XX.XX.XXx-X_src.tar.gz en la ubicación que más nos apetezca y abrimos un terminal en dicha ubicación. Ejecutamos los siguientes comandos:
  • ./configure
  • make
  • sudo make install
Esto nos debería dejar en la siguiente ruta los siguientes archivos:
/usr/local/bin/rmw
/usr/local/etc/rmwrc
El primero es el ejecutable, el segundo es el archivo de configuración.
Editaremos éste último: rmwrc
Se nos mostrará tal que así:

WASTE = $HOME/.trash.rmw
#WASTE=$HOME/.local/share/Trash

# '0' to disable
purgeDays = 90

Las dos primeras líneas (WASTE =) son las ubicaciones dadas de las papeleras que queremos que sean gestionadas. El número es ilimitado.
Como podemos ver, por defecto RMW crea y utiliza su propia Papelera, que no tenemos por que utilizar como veremos más adelante.
La cuarta línea (purgeDays =) es el total de días que se mantendrá un archivo en la Papelera. Esto es individual para cada archivo. Es decir, se eliminarán tan solo los archivos que cumplan con ese criterio, manteniéndose los restantes. No es un vaciado total de la Papelera llegado a los días dados sino que se realiza de modo secuencial.

Este archivo tendremos que modificarlo a nuestras necesidades.
Pongo aquí un ejemplo del mío.
Yo en mi caso quiero que gestione dos papeleras. La primera en mi carpeta de usuario (ruta global por defecto para cualquier usuario) y la segunda en mi disco Local_A. Con un periodo de tiempo de 20 días.

WASTE = ~/.local/share/Trash
WASTE = /media/Local_A/.Trash-1000
# '0' to disable
purgeDays = 20

NOTA MUY IMPORTANTE: Se debe terner sumo cuidado en no equivocarse a la hora de introducir las rutas de las distintas papeleras. Lógicamente, si me equivocase en el segundo caso y pusiera algo tal que así: WASTE = /media/Local_A pasado el tiempo estipulado, prácticamente la totalidad del disco Local_A seria eliminado.
Lo mejor para ello, para no equivocarnos, es movernos a la ruta deseada con nuestro explorador de archivo y copiar ésta desde su barra de direcciones:


Por último, tan solo nos queda añadir una entrada en Aplicaciones al inicio con el siguiente comando: rmw


Si queremos ver otros parámetros del comando rmw, tan solo tenemos que ejecutar en un terminal rmw -h para que nos muestre todos ellos.

Nota: Veremos en nuestra carpeta de usuario el archivo /home/Usuario/.config/rmw/lastpurge, el cual se encarga de llevar un conteo del total de archivos eliminados. Así con el paso de los meses nos podremos dar cuenta de los "destructivos" que podemos llegar a ser jeje.