Sin espacio en el dispositivo al instalar un paquete con yaourt

sin espacio yaourt

En mi artículo anterior les platicaba a mis queridos 4 lectores un problema al descargar un paquete desde AUR.

Imaginen ahora el nivel de emoción cuando por fin se logró completar la descarga y luego la frustración que vino después de leer que el paquete no se había podido instalar por falta de espacio en el dispositivo.

Tmp de temporal.

Después de recoger mi cabello del piso tuve que pensar en algo. Bien dice que todo problema nos deja una enseñanza. El mensaje decía que la partición tmp se había quedado sin espacio.

comando df
El comando df al rescate.

Gracias al comando df me pude dar cuenta que el directorio /tmp estaba al 100% (en la imagen apenas muestra un 1% de uso). Vamos, que no le cabía ni un solo bit más y ese era el problema.

También el comando muestra que la carpeta tmp es del tipo tmpfs y eso dice mucho. Los tmpfs no ocupan espacio en ningún disco duro, viven en la memoria RAM. En el caso de manjaro el tamaño por default de esta partición es la mitad de la memoria RAM instalada y parece que 4GB no fueron suficientes para el programa que quería instalar.

Que el directorio tmp sea tmpfs supone varias ventajas. La compilación es mucho más rápida y el espacio se recupera después de reiniciar el equipo y funciona la gran mayoría de las veces excepto cuando no (música triste de violines aquí por favor).

Más espacio por favor.

Tenía dos opciones: Hacer la partición tmp más grande, que ya no fuera tmpfs, por lo tanto, ocuparía algo de espacio en el disco. Pero también tenía un aspecto negativo. Todos los demás programas que quisieran usar la carpeta tmp estarían en el mismo lugar, sin los beneficios de una carpeta temporal en RAM mucho más rápida.

La segunda opción es indicarle a yaourt que usara otra carpeta para la instalación de los paquetes. Al final opté por esto último.

A fin de cuentas solo se usaría cuando instalara paquetes del AUR. No era mucho problema.

Para lograrlo solo hay que indicarle a yaourt que utilice otra carpeta. El archivo a editar es /etc/yaourtrc .

Y ajustar esta línea más o menos así:

TMPDIR="/home/$USER/tmp"

La variable de entorno $USER hará los ajustes para cada usuario del sistema.

¿Creían que eso era suficiente? jajajajaaja, ¡PUES NO!. Me tuve que dar otro tope con la pared y hacer un ajuste más en la configuración de nuestro viejo amigo, el archivo de configuración de Makepkg (léase Mejorar la descarga de programas desde AUR ). Y también decirle que usara una carpeta temporal diferente.

#-- Specify a directory for package building.
BUILDDIR="/home/$USER/tmp/"

Con estos ajustes pude al fin instalar el programa que quería desde AUR.

Los archivos temporales son sólo eso y nada más.

Como un plus al éxito obtenido agregué un comando de limpieza que se ejecutará al iniciar mi sesión de XFCE. De esa forma no acumularía archivos temporales.

borrar temporales
Pasando la escoba.

Usualmente todo funciona bien en Manjaro. Situaciones como esta son casos excepcionales derivado de mis necesidades de programas de AUR. Pero si alguna vez tienen este problema espero que les sea de utilidad esta información.

Enlaces de referencia:

Mejorar la descarga de programas desde AUR

axel aur

La semana pasada tuve muchos problemas para descargar un paquete desde AUR que necesitaba, pero por una u otra razón no lograba descargar.

La descarga del archivo representaba más de 500 MB y una conexión a internet inestable no ayudaba mucho.

Anteriormente había configurado pacman para que usara gestores de descarga como wget o aria2. Pero ese consejo no aplica a yaourt, la herramienta que utilizo en manjaro para descargar programas desde AUR.

Después de una breve investigación logré hacer el ajuste ganador. Curiosamente no fue con curl, ni con wget, tampoco con mi campeón aria2, no, en esta ocasión el ganador fue axel.

Configurar yaourt para que use axel.

Lograr que yaourt utilice axel para manejar las descargas de los archivos no fue difícil. Un detalle curioso, esta modificación no es en el archivo de configuración de yaourt, en su lugar, se edita el archivo de configuración de makepkg que es el que se encarga de las descargas de los archivos.

Para cambiar el gestor de descargas hay que editar el archivo makepkg.conf

sudo gedit /etc/makepkg.conf

Se puede comentar o reemplazar esto…

DLAGENTS=('ftp::/usr/bin/curl -fC - --ftp-pasv --retry 3 --retry-delay 3 -o %o %u'
          'http::/usr/bin/curl -fLC - --retry 3 --retry-delay 3 -o %o %u'
          'https::/usr/bin/curl -fLC - --retry 3 --retry-delay 3 -o %o %u'
          'rsync::/usr/bin/rsync --no-motd -z %u %o'
          'scp::/usr/bin/scp -C %u %o')

por esto otro…

DLAGENTS=('ftp::/usr/bin/axel   -n 5 -v -a -s 102400 %u -o %o'
          'http::/usr/bin/axel  -n 5 -v -a -s 102400 %u -o %o'
          'https::/usr/bin/axel -n 5 -v -a -s 102400 %u -o %o'
          'rsync::/usr/bin/rsync -z %u %o'
          'scp::/usr/bin/scp -C %u %o')

Como pueden ver, se cambia el programa encargado dependiendo del protocolo. Axel maneja sin problemas http, https y ftp.

Además con -s 102400 limito la velocidad de la descarga a 100 kbps, para no saturar mi inestable conexión a internet.

Hechos los cambios solo falta descargar los programas que necesitemos en AUR usando yaourt y eso es todo.

Axel tiene la ventaja de acelerar un poco las descargas ya que usa múltiples conexiones (divide y vencerás).  Además de que es bastante tolerante a los problemas de conexión.

Aún con todos estos cambios tuve que hacer varios intentos. Al parecer era un problema en el servidor que tenía alojado el archivo porque después de unos días de intentarlo se descargó sin mayor novedad.

Connection time out | descarga de programas desde AUR
A esto me estaba enfrentando.. “Connection time out” frecuentes.

Son las mismas instrucciones para cambiar el gestor a wget o aria2, pero hay que tener cuidado con los parámetros, porque son distintos para cada programa.

Luego tuve otros problemas, pero eso será tema de otro artículo.

¡Hasta la próxima!.

Enlaces.

 

Respaldos en Linux, los programas que he utilizado

Llevo mucho tiempo usando Linux y hago frecuentemente respaldos de mis archivos. Siempre es una mejor política hacer respaldos que intentar recuperarlos. Para hacer respaldos en Linux he utilizado varios programas. En este artículo voy a comentar algunos de sus pros y sus contras.

Deja Dup.

Durante mucho tiempo utilicé Deja dup, venía incluido en Cinnamon y me pareció la opción natural. Es muy fácil de configurar, solo hay que responder algunas preguntas, decirle cuáles carpetas respaldar y eso es todo.

Diariamente ejecuta un respaldo de los archivos de una forma prácticamente imperceptible. Ocasionalmente me aparecía una notificación para informarme que había terminado el respaldo o me pedía que pusiera una contraseña para verificar que todo estaba bien.

Un buen día se me ofreció recuperar un archivo y ese fue el final de deja dup en mi escritorio. No pude lograr que me apareciera un archivo para restaurar. Lo intenté de varias formas pero el tiempo que invertía en la tarea no era aceptable. Y al parecer no era el único con el mismo problema: How can i fix Deja Dup hanging on restore? o Recovery search for files is very slow.

Afortunadamente no era un archivo de vida o muerte, pero no iba a esperar a caer en una situación crítica. Era tiempo de buscar otras opciones.

Duplicati.

Duplicati es similar en varios aspectos a deja-dup, solo que tiene muchas más opciones y eso no es necesariamente malo.

En Windows tiene el problema de alentar los equipos durante el respaldo. Pero eso no quiere decir que lo haga en Linux. Ya sabes lo que dicen, más vale malo por conocido que bueno por conocer. Sin embargo en Linux tuve problemas para instalarlo.

Además, estaba habituado a la configuración de la versión 1 de duplicati y los cambios que hicieron en la versión 2 fueron demasiados para mi gusto. Algunos ajustes que funcionaban para mi los ocultaron, en fin, que nadie me obliga a usarlo.

Como en gustos no hay nada escrito se los dejo tal cual. A lo mejor a alguien le gusta y lo hace su programa de respaldos.

Rsync

Un clásico que no falla. Rsync es la herramienta para copiar archivos por excelencia.

Tiene la ventaja de que es muy fácil de integrar a un script en bash y para hacer un respaldo solo se tiene que ejecutar el archivo. Opcionalmente se puede programar una tarea regularmente y ¡Voalá!, respaldos automáticos simples y confiables.

Cuando se requiere hacer copias de archivos de manera masiva rsync es la herramienta de la terminal que tienes que elegir pero, bueno siempre hay un pero.

El único problema que tiene es en el manejo de versiones. Supongamos por ejemplo que necesitas una versión de un archivo de la semana pasada. No la de ayer, no la antier, la de la semana pasada exactamente. Ahí es donde entra nuestro siguiente programa participante.

Back in Time.

Back in Time es uno de esos programas que tiene justo lo que estaba buscando. No es tan minimalista como Deja-dup ni tampoco es tan complicado como manejar las opciones de un comando en la terminal.

Back in time utiliza dos de mis herramientas favoritas en software libre, python 3 y rsync para crear lo que se llaman Instantáneas (o snapshots).

Las instantáneas tienen una fecha, de esa forma es posible regresar a versiones anteriores del mismo archivo.

El impacto en la computadora, al menos con Linux es mínimo. No me notifica nada, solo aparece un discreto icono azul en la barra de tareas. Hace lo que tiene que hacer y eso es todo, al terminar el ícono desaparece como un fantasma.

back in time trabajando
Respaldando ando…

Aprendiendo de mi experiencia con Deja-dup he recuperado algunos archivos para comprobar que funciona y así ha sido.

Configurar un respaldo requiere un poco de esfuerzo pero no es nada complicado. Afortunadamente cuenta con una buena documentación . Me recuerda un poco a duplicati, me permite establecer opciones como el encriptado, las carpetas a respaldar, cuales hay que excluir y la frecuencia de las instantáneas.

Configuración de un respaldo con Back in Time.
Configuración de un respaldo con Back in Time.

El único problema con Back in Time es que al guardar varias versiones de los mismos archivos el espacio ocupado por el respaldo tiende a crecer un poco más que al hacer una copia simple.

¿Cuál programa de respaldos utilizan? ¿Les gusta el peligro y practican la computación extrema?. Por favor comenten 🙂

Imagen de portada cortesía de Markus Spiske