lunes 31 de agosto de 2009

Gtk, Web y Console, las interfaces para administrar tus torrent con Deluge


Fuente: Man, Deluge Faq

De todos los administradores de descarga que he utilizado me quedo con Deluge. Me parece versátil, utiliza una cantidad de recursos que resulta razonable y, lo mejor de todo, es posible dejarlo funcionando como daemon. Esta modalidad reduce sus requerimientos al mínimo, a la vez que nos permite gozar de toda la potencialidad del equipo sin tener que interrumpir nuestras descargas, pudiendo, incluso, monitorearlas remotamente. A continuación procederé a mostrar un modo fácil de implementar las diferentes interfaces que deluge provee y la manera en que ellas pueden ser incorporadas en el uso diario que le damos al programa.

Instalando Deluge

Deluge es parte de los repositoriois "Universe", por lo tanto podemos instalarlo mediante Synaptic o utilizando apt-get:
sudo apt-get install deluge

Con eso basta.

El daemon

Deluge usa un modelo cliente/servidor. El proceso que corre como daemon corresponde a "deluged", mientras que "deluge" se utiliza para lanzar cualquiera de las interfaces de usuario disponibles. Por defecto Deluge correrá en el modo clásico, lo que significa que el daemon correrá en segundo plano sin interactuar con el usuario (como suelen hacerlo los daemon). Podrás identificarlo como un proceso llamado "deluged". Es posible modificar este comportamiento más adelante. Para iniciar el daemon basta con escribir en el terminal:
deluged

En caso de que queramos terminar el proceso debemos escribir:
killall deluged

y el proceso terminará limpiamente.

Las interfaces de usuario

Basicamente exiten tres interfaces de usuario a nuestra disposición: gtk, web y console. Cada interfaz, en este modelo cliente/servidor, debe conectarse al daemon para administrar tus descargas. Es posible usarlas individualmente, todas juntas al mismo tiempo o (esta es la mejor parte) no usarlas en lo absoluto, confiados en que el daemon hará su parte.

1. Gtk
La interfaz por defecto es gtk. Para acceder a ella debemos ir al panel superior y entrar en Aplicaciones-->Internet-->Deluge. En caso de que el daemon ya esté corriendo se nos dará la opción de conectarnos a él:


Si no es así podemos iniciar el daemon en este momento e inmediatamente conectarnos. También es posible correrla desde el terminal, escribiendo:
deluge -u gtk
Al salir recuerda no cerrar el daemon, sólo la interfaz, para que las descargas no se interrumpan.

No es el objetivo de esta entrada centrarse en cómo usar deluge, el programa resulta bastante intuitivo y existe bastante información al respecto en internet, por lo que simplemente me preocuparé de la configuración necesaria para utilizar el resto de las interfaces disponibles.

2. Web
La interfaz Web es una de las más útiles, pudiendo, incluso, reemplazar por completo la interfaz anterior.


Para hacerla funcionar primero debemos realizar unos simples pasos. En primer lugar recomiendo tener instalado screen. Con screen instalado podemos iniciar el servidor web de deluge, para luego desligarnos de ese proceso, lo que nos permite correr el server sin necesidad de tener un terminal abierto para ello. Hacerlo es bastante simple. En el terminal escribimos:
screen

Eso iniciará un terminal virtual. En esa sesión iniciamos el servidor web de deluge:
deluge -u web

Con el proceso abierto ahora es posible desligarnos del mismo mediante la combinación de teclas CTRL+a+d. Luego de hacerlo estamos en condiciones de cerrar el terminal y el servidor web de deluge quedará corriendo en segundo plano. Si deseamos recuperar esa sesión utilizamos el comando:
screen -r

De esta forma el daemon de deluge y el servidor web pueden ejecutarse en segundo plano, pudiéndose, incluso, cerrar la sesión de usuario y ambos procesos no se interrumpirán.

Finalmente, para conectarnos remotamente al daemon mediante la interfaz web lo único que necesitamos es conocer el ip de nuestro equipo. Supongamos que nuestro ip es 1.1.1.1. El puerto que la interfaz web utiliza por defecto es el 8112. Por lo tanto, ahora podemos conectarnos al daemon que corre en nuestro computador desde cualquier lugar en donde contemos con un navegador de internet. Basta que en la barra de direcciones escribamos:
http://1.1.1.1:8112

Esta interfaz nos permite administrar nuestras descargas, añadir nuevas, mover, eliminar, pausar las que ya tenemos en nuestra lista, etc. La primera vez que nos conectemos se nos pedirá una clave, la que viene configurada por defecto es "deluge". Posteriormente podemos modificarla ingresando en el menú Config-->Contraseña.

También podemos conectarnos a través de esta interfaz desde el mismo computador en el que corremos el daemon:
http://localhost:8112/

La ventaja de hacerlo es que si estamos navegando por internet no es necesario abrir la interfaz Gtk para ver el estado de nuestras descargas. Además, la interfaz web utiliza notablemente menos recursos, por lo que resulta rápido y práctico.

3. Console
De todas las interfaces es la menos amigable. Corre directamente desde la consola y su mayor ventaja es justamente esa, se ejecuta sin necesidad de levantar un ambiente gráfico. Antes de poder usar esta modalidad necesitamos saber el puerto en que está configurado el daemon. Basta con conectarte al daemon con la interfaz Gtk o la web y entrar en Preferencias>Demonio:


Luego, si deseamos conectarnos al daemon escribimos en el terminal:
deluge --ui console

Con eso iniciamos la interfaz console. Luego nos conectamos al daemon escribiendo:
connect localhost número_de_puerto

Para obtener una lista de los comandos a nuestra disposición escribimos "help":


Si deseamos ver el estado de nuestras descargas usamos el comando "info" lo que nos permitirá ver información parecida a esta:


Una ventaja de esta interfaz es que, si no deseamos habilitar el servidor web, siempre es posible conectarnos por SSH a nuestro equipo y correr esta interfaz desde el terminal, lo que nos permite mantener unas condiciones de seguridad muy estrictas.

Finalmente, para cerrar esta interfaz basta con la instrucción "quit".

Eso es todo.

viernes 21 de agosto de 2009

Cómo ver el espacio libre en tu disco desde el terminal

Fuente: man

Para ver el espacio libre de tu disco existe el comando df. Lo que hace este comando es mostrar la cantidad de espacio disponible para aquellos sistemas en los que el usuario tiene el acceso de lectura apropiado. La salida del comando mostrará el tipo de sistema de archivos y el número de slots libres (es necesario que el sistema esté montado). A continuación es posible ver algunas de sus opciones, las más útiles en mi opinión.

1. Formato legible para humanos.

Con esta opción las magnitudes serán expresadas en formato legible para seres humanos:
df -h
o
df --human-readable
2. Ver el espacio en GB.

Si lo que deseas es ver el espacio en Gigabytes debes usar la siguiente opción:
df -H

De esa manera las magnitudes corresponderán al formato usado por las especificaciones de tu disco duro. De otra forma la unidad utilizada será el Gb (Gibibyte o Gigabit).

3. Para ver el tipo de sistema de archivos.
Útil cuando no recuerdas si formateaste en ext3 o reiserfs:
df -T
o
df --print-type

miércoles 5 de agosto de 2009

Cambiar hora desde el terminal

Fuente: rolandovera.com
Para cambiar la hora del sistema desde el terminal se usa el comando "date --set". Por ejemplo, si deseas fijar la hora a las 14:25, debes escribir en el terminal:
sudo date --set 14:25

El problema es que si reinicias el equipo la hora se cambiará por la hora que está definida en el BIOS. Para modificar esa hora por la que acabas de configurar puedes escribir en el terminal:
sudo hwclock --systohc --directisa

viernes 29 de mayo de 2009

Usar dmidecode para acceder a la tabla de contenidos del SMBIOS

Fuente: Man

dmidecode es una herramienta que permite acceder a los datos de la tabla de contenidos del SMBIOS (DMI) del computador en un formato legible para seres humanos. Esta tabla contiene una descripción del hardware del sistema, además de información útil, como números de serie y revisión del BIOS. Gracias a esta tabla puedes obtener esta información sin tener que verificarlo directamente del hardware. Ahora bien, mientras esto permite obtener información de un modo expedito, al mismo tiempo hace que la información presentada no sea siempre correcta. Los datos especificados en el SMBIOS se clasifican en tipos (types) y a cada uno de ellos se le identifica con un número:

Type Information
----------------------------------------
0 BIOS
1 System
2 Base Board
3 Chassis
4 Processor
5 Memory Controller
6 Memory Module
7 Cache
8 Port Connector
9 System Slots
10 On Board Devices
11 OEM Strings
12 System Configuration Options
13 BIOS Language
14 Group Associations
15 System Event Log
16 Physical Memory Array
17 Memory Device
18 32-bit Memory Error
19 Memory Array Mapped Address
20 Memory Device Mapped Address
21 Built-in Pointing Device
22 Portable Battery
23 System Reset
24 Hardware Security
25 System Power Controls
26 Voltage Probe
27 Cooling Device
28 Temperature Probe
29 Electrical Current Probe
30 Out-of-band Remote Access
31 Boot Integrity Services
32 System Boot
33 64-bit Memory Error
34 Management Device
35 Management Device Component
36 Management Device Threshold Data
37 Memory Channel
38 IPMI Device
39 Power Supply

Una forma de acceder a la información identificada con un tipo específico mediante el parámetro -t, --type (TYPE):
sudo dmidecode -t número_de_type
Es posible acceder a más de un tipo, basta con separarlos mediante comas.
De esta manera, si quiero saber el lenguaje instalado en mi BIOS debo acceder al tipo número 13:
sudo dmidecode -t 13

En mi caso, la información obtenida es la siguiente:
# dmidecode 2.9
SMBIOS 2.3 present.

Handle 0x0021, DMI type 13, 22 bytes
BIOS Language Information
Installable Languages: 1
en|US|iso8859-1
Currently Installed Language: en|US|iso8859-1

Lo que indica que la BIOS soporta sólo un lenguaje y que el lenguaje instalado es el inglés. Esta es una característica de la tabla de datos de SMBIOS, no sólo describe la configuración actual del sistema, sino que además puede indicar su posible evolución, es decir, puedes saber la CPU más rápida soportada o la mayor cantidad de memoria ram que tu equipo puede manejar.

Otra forma útil de acceder a información con dmidecode es mediante el uso de palabras clave, por llamarlas de alguna manera, que en inglés se denominan keywords. Cada keyword agrupa ciertos tipos que están relacionados, por lo que al referirte a un keyword accedes a todos los tipos que él agrupa:

Keyword Types
------------------------------
bios 0, 13
system 1, 12, 15, 23, 32
baseboard 2, 10
chassis 3
processor 4
memory 5, 6, 16, 17
cache 7
connector 8
slot 9

La sintaxis para acceder a información clasificada por cada keyword es la siguiente:
dmidecode --type keyword
Por, ejemplo, si deseas ver la información agrupada en el keyword memory debes escribir:
sudo dmidecode --type memory
lo que sería equivalente a escribir:
sudo dmidecode --type 5, 6, 16, 17
o
sudo dmidecode -t 5, 6, 16, 17
Por último es posible especificar mucho más la información a la que deseas acceder con el uso de grep. Viendo un ejemplo, si accedo al tipo 16, Physical Memory Array, en mi caso obtengo lo siguiente:
# dmidecode 2.9
SMBIOS 2.3 present.

Handle 0x0024, DMI type 16, 15 bytes
Physical Memory Array
Location: System Board Or Motherboard
Use: System Memory
Error Correction Type: None
Maximum Capacity: 3 GB
Error Information Handle: Not Provided
Number Of Devices: 3

Por lo tanto, si quiero saber la capacidad máxima de memoria ram que aguanta mi sistema escribo:
sudo dmidecode -t 16| grep Maximum

y obtengo lo siguiente:
Maximum Capacity: 3 GB

domingo 26 de abril de 2009

Instalando Jaunty Jackalope en un Asus EEE PC 2G - FLISOL 2009


Durante la flisol 2009 en Santiago, me acerqué a una persona, Marcelo, que buscaba quien le instalara una distro de linux diferente a la que venía con su Asus eee pc 2G. Para ver las specs de su netbook en detalle, pueden hacer click aquí y compararlo con los otros eee en el mercado.




Especificaciones Asus eee pc 2G surf:

CPU: 800 MHz Intel Celeron M ULV @ 571 MHz
Memoria: 512 MB DDR2
Disco duro: 2 GB
Pantalla: 15.25cm x 9.15cm (6 x 3.6 pulgadas) ¡Pequeña!
Sistema operativo original: Xandros (Debian fork)

Marcelo no estaba contento con la version de Xandros que venía predeterminada en su netbook, puesto que no le permitía descargar actualizaciones de ningúna clase, ni configurar libremente sus aplicaciones o sistema operativo. En pocas palabras, lo decribió como "Fisher-Price Linux".

Instalar ubuntu en este Asus presentó muchas diferencias inesperadas con respecto a laptops y computadores convencionales, incluso netbooks más nuevos. La primera traba fue el no-reconocimiento de la BIOS a mi Ubuntu live-usb (Si no era obvio o no sabía, los netbooks no tienen drive para CD o DVD). Es inútil cambiar el boot-order, puesto que medios de usb no están considerados como boot-able en esta lista.

En cambio, cuando nos aparece esta splash-screen inicial, debemos oprimir el boton Esc para instar la BIOS a bootear desde el pendrive. Primera traba superada.

Nuestro segundo tropiezo ocurrió porque tuvimos una version de escritorio de ubuntu en el pendrive. Dado que el Asus eee 2G tiene, precisamente, 2 gigabytes de disco duro, la instalación ubuntu-desktop no es conveniente, porque ubuntu-desktop trae consigo 1.4 gigabytes de aplicaciones, entre ellas OpenOffice, Evolution, Gimp, y Gnome. Como el livecd (o en nuestro caso, live-usb) de Ubuntu no nos permite escoger cuales aplicaciones cargar u omitir si no una vez instalado el sistema operativo, una solución es instalar la versión para servidores.

Ubuntu server tiene la ventaja de brindar un control específico sobre cuáles paquetes uno desea instalar en la máquina. A diferencia de la versión para escritorios, estamos ante un entorno de texto, pero las opciones que tenemos son prácticamente las mismas que el Livecd que conocemos. Cuando aparecen las opciones de los paquetes que queremos instalar, el usuario experimentado puede armar su sistema a gusto. Al instalador novicio le conviene aceptar los programas predeterminados, ya que la aplicación de instalación siempre instala un sistema básico por defecto.

No olvide tener su equipo conectado a una red desde el principio, o el installer no reconocerá su tarjeta de red y tendrá problemas para configurar su tarjeta y bajar el resto de los componentes después. Yo cometi este error y debí comenzar de cero.

Al reiniciar el netbook, estamos ante un command prompt, sin interfaz gráfica alguna, pero tenemos aptitude. Lo primero que hicimos fue instalar X, la aplicación que permite la representación gráfica de los programas, mediante el siguiente comando:
sudo apt-get install xserver-xorg-core

El paquete no es pequeño así que hágase de calma. (Si el espacio es muy importante, puede usar aptitude ahora, o synaptic después, para borrar los drivers de xserver innecesarios para su tarjeta de video específica) Una vez instalado, xserver nos permite tener un entorno gráfico. Como teníamos poco espacio, escogimos el entorno más liviano de entre los grandes tres: XFCE. Lo instalamos usando aptitude tipeando simplemente:
sudo apt-get install xfce4

Xfce pesa más que xserver, así que vaya con calma a hacerse un té. Y ya tenemos el entorno gráfico. El problema es que xfce no es un programa que se pueda llamar desde el command line sin más. Debimos luego instalar GDM, o gnome display manager, el cual maneja las sesiones de usuarios y nos permite entrar en el entorno gráfico automáticamente al bootear. (otras opciones son KDM para kde y XDM para X. Elegi gdm por ser la opción más atractiva y "user friendly", además mi usuario no tenía mucha experiencia con linux). Escribimos:
sudo apt-get install gdm

Luego reiniciamos y, en nuestro caso, teníamos una pantalla de login, un escritorio de xfce predeterminado y ninguna aplicación. Las funciones de un pc como el eee 2G son reducidas y dependen de su tamaño y potencia. Marcelo usaba su eee para navegar por la web y dar presentaciones en powerpoint en sus clases de sicología social en la Universiad Arcis. Determinamos, el dueño y yo, las cosas esenciales que nos faltaban:

Gestor de paquetes Synaptic
Wifi
Web browser
Sonido
Hoja de calculo
Procesador de textos
Presentaciones
Calculadora
Iconos


Elegimos, entonces, las siguientes aplicaciones respectivas. (Entre paréntesis ponemos el nombre que reconoce apt-get para instalar la aplicación)

Synaptic (synaptic)
Network manager (network-manager)
Firefox (firefox)
Pulse Audio (libpulse0, libpulse-browse0, libpulsecore9, pulseaudio, pulseaudio-module-hal, pulseaudio-module-x11)
Gnumeric (gnumeric)
Abiword (abiword)
Presentaciones: No instalamos nada para esta necesidad (oops), pero lo más recomendable es usar la aplicación de presentaciones google, que no necesita ser instalada.
Gnome Calculator (gcalctool)
Iconos xfce (xfce4-icon-theme)


Estos son los pasos que seguimos para este caso específico, un sistema muy liviano con lo mínimo en espacio y software para un netbook igualmente liviano y mínimo de espacio. Si fuera necesario, podríamos prescindir de abiword y gnumeric al preferir las aplicaciones web que ofrece Google. Lamentablemente, terminamos muy tarde porque teníamos una conexión de internet relativamente lenta, y, al terminar, no se me ocurrió averiguar finalmente cuánta memoria habíamos usado en el disco duro de Marcelo. Claramente eran menos de 2 gigabytes, y el método seguramente servirá a quienes desean instalar Jaunty en computadores con especificaciones bajas.

-Fernando M.

domingo 15 de marzo de 2009

Cómo programar tareas automáticas usando Crontab o Gnome Schedule

Fuente: Ubuntu Documentation. Man

En caso de querer programar una tarea podemos usar Crontab o, en su defecto, Gnome Schedule, que no es más que una interfaz gráfica de la primera. Para entender cómo funcionan ambas herramientas es necesario tener claro qué es cron y su relación con crontab:

Cron es un demonio, es decir, es un proceso que se ejecuta en segundo plano, sin interactuar con el usuario, que es usado para programar tareas que serán ejecutadas en un tiempo específico. Por otra parte, crontab es un archivo de texto y cada usuario posee el suyo. En este archivo el usuario puede especificar el momento en que se ejecutará una determinada tarea. Es así como en el interior del archivo crontab se encuentra una lista de comandos y sus respectivos tiempos de ejecución. Ambos factores son controlados por el demonio cron y son llevados a cabo en segundo plano por el sistema. De igual manera, el sistema también posee un crontab, en donde se especifica una serie de tareas que son realizadas de forma regular.

Como usuario puedes usar cron de dos maneras: editando el archivo crontab o mediante Gnome Schedule.

Editando el archivo crontab
Primero, para editar crontab, en el terminal escribes:
crontab -e

Se te pedirá que escojas un editor. Yo he escogido nano. La pantalla que verás será parecida a esta:



Como podrás ver se trata de un archivo cuyo contenido se limita a una linea antecedida por el signo #. Ello nos indica que se trata de un comentario y será ignorado por el sistema. Este comentario cumple la función de orientarnos respecto al formato que deben respetar las entradas que agreguemos en el archivo. Como puedes ver, la entrada típica de crontab cumple con el formato:
[m] [h] [dom] [mon] [dow] [command]

Una manera de no olvidar lo que cada parámetro significa es entendiendo su significado:

Parámetro Significado Rango

m minute (minuto) 0-59
h hour (hora) 0-23
dom day of month (día del mes) 1-31
mon month (mes) 1-12
dow day of week (día de la semana) 0-6 (0=Domingo)
command command (comando)

Por lo tanto, en caso de dudas basta con mirar la primera línea de nuestro archivo para saber qué parámetro incluir sin la necesidad de memorizar nada.
Veamos un ejemplo práctico. Supongamos que tienes un script que respalda nuestra colección Amarok. Supongamos que su ruta es /home/usuario/Script/amarok/backup_coleccion_amarok. En caso de que deseemos ejecutarlo el primero de cada mes, a las 4 de la tarde, escribimos la siguiente entrada en nuestro archivo:
* 16 1 * * /home/usuario/Script/amarok/backup_coleccion_amarok

Cuando el parámetro del día de la semana (dow) y el correspondiente al día del mes (dom) son ingresados, basta que uno de los dos se cumpla para que la tarea se ejecute. Por lo tanto, si queremos que el script corra el primero de cada mes, además de todos los lunes, en ambos casos a las 4 de la tarde, escribimos:
* 16 1 * 1 /home/usuario/Script/amarok/backup_coleccion_amarok

Es posible especificar rangos de números para cada parámetros escribiendo dos números separados por un guión. Además puedes ingresar listas de números separándolos por comas. Ambos formatos pueden convivir en un mismo parámetro. Por lo tanto, en caso de que desees que el script se corra el primero de cada mes, a la vez que todos los días 5, 6 y 7 de cada mes, siempre a las 4 de la tarde, la entrada quedaría así:
* 16 1,5-7 * * /home/usuario/Script/amarok/backup_coleccion_amarok

También puedes especificar pasos (steps) con el fin de saltarte determinados números. Cada paso afecta a la unidad de tiempo al que se asocia. Para ello es necesario escribir:
‘‘/número’’

Supongamos que deseas que el script se ejecute cada tres horas el primero de cada mes a partir de las 4 de la tarde:
* ‘‘16-23/3‘‘ 1 * * /home/usuario/Script/amarok/backup_coleccion_amarok

En caso de que desees ver la lista de tareas que hayas programado escribes en el terminal:
crontab -l

Para borrar tu crontab escribes:
crontab -r


Utilizando Gnome Schedule
Es posible instalarl Gnome Schedule con Synaptic o escribiendo en el terminal:
sudo apt-get install gnome-schedule

Una vez instalado puedes correrlo desde Aplicaciones-->Herramientas del sistema-->Tareas programadas. Te aparecerá una ventana parecida a esta:



Si presionas en el botón Nuevo se te preguntará qué tipo de tarea deseas añadir:



Básicamente son tres opciones: tareas que se ejecutan periódicamente, tareas que se ejecutan una sola vez y usar una programación predefinida anteriormente.
Supongamos que quieres ejecutar el script el primero de cada mes, a las 4 de la tarde. Escoges la primera opción. Luego basta hacer click en la opción Advanced y anotar los datos necesarios:



Como podrás ver es posible en este punto guardar la programación de la tarea en caso de que quieras utilizarla posteriormente escogiendo la opción Add as template.
Una vez programada la tarea esta habrá de aparecer en la ventana principal:



Ojo que Gnome-Scheduler no es otra cosa que una interfaz gráfica para editar nuestro archivo crontab. Por lo tanto, si ejecutamos el comando crontab -l podemos ver que la tarea está programada y en caso de necesidad, podemos modificar la entrada editando el archivo de texto.

domingo 1 de marzo de 2009

Cómo hacer respaldos automáticos de tu colección Amarok 1.4 con base de datos MySQL

Fuente: Wiki Amarok

Para el siguiente proceso de respaldo se asume que antes has configurado correctamente tu colección Amarok para que use una base de datos MySQL.

A continuación tienes dos script que realizarán todo el proceso de respaldo y restauración. El primero respalda de manera automática, con la frecuencia que tú determines, toda tu colección de música. El segundo cumple la función de restaurar tu colección sin perder tus etiquetas, carátulas, etc. incluso en caso de reinstalar todo el sistema.

El script de respaldo

El script de respaldo lo puedes encontrar acá.

1. El script de respaldo guarda una copia de:
  • La base de datos MySQL.
  • El archivo amarokrc.
  • Las listas dinámicas, inteligentes y estáticas.
  • Las carátulas de los discos.
  • Los temas del navegador de contexto.

2. Los respaldos se guardan en ~/backup dentro de una carpeta cuyo nombre corresponde a la fecha del respaldo según el formato día-mes-año.

3. Antes de que el script se ejecute debe ser modificado, cambiando según corresponda:
  • [Línea 9] El nombre de la base de datos MySQL.
  • [Línea 12] El nombre del usuario MySQL.
  • [Línea 13] El password MySQL.
4. En caso de que lo desees puedes modificar la ruta de los siguientes elementos (sólo necesario en caso de una instalación no estándar):
  • [Línea 16] El archivo amarokrc.
  • [Línea 19] Las listas dinámicas.
  • [Línea 22] Las listas inteligentes.
  • [Línea 28] Las listas estáticas.
  • [Línea 25] Las carátulas de los discos.
  • [Línea 31] Los temas del navegador de contexto.
5. En caso de que desees no respaldar algún elemento basta con comentar la linea correspondiente anteponiendo el signo #.

6. Si ejecutas el script más de una vez el mismo día (en caso de ejecución manual) se te preguntará si deseas sobreescribir los archivos anteriormente guardados (Atención: esto no ocurre en el caso de las caratulas, los temas del navegador de contexto y las listas estáticas)

7. Para que este script corra de manera automática debes utilizar la herramienta crontab.

El script de restauración

El script de restauración lo puedes encontrar acá.

1. Antes de que el script se ejecute debe ser modificado, cambiando según corresponda:
  • [Línea 33] El nombre del usuario MySQL (en el script se asume USUARIO) y el nombre de la base de datos (en el script se asume amarok)
2. Es posible modificar la ruta de los siguientes elementos (sólo necesario en caso de una instalación no estándar):
  • [Línea 15] El archivo amarokrc.
  • [Línea 9] Las listas dinámicas.
  • [Línea 12] Las listas inteligentes.
  • [Línea 21] Las listas estáticas.
  • [Línea 18] Las caratulas de los discos.
  • [Línea 24] Los temas del navegador de contexto.

3. En el momento de restaurar la colección se te pedirá el password del root MySQL.

4. Se te pedirá que ingreses la fecha del respaldo a restaurar en el orden día-mes-año.

5. Las listas estáticas serán restauradas, pero deberás importarlas posteriormente desde Amarok para que el programa las reconozca.

6. Se asume que este script se ejecuta de manera manual cuando sea necesario.

7. En caso de que sea necesario volver a otorgar los permisos al usuario MySQL debes escribir en el terminal:
mysql -p -u root
GRANT ALL ON amarok.* TO amarok@localhost IDENTIFIED BY 'PASSWORD';
FLUSH PRIVILEGES;
QUIT;

Donde la sintaxis de la instrucción GRANT significa:
GRANT [permisos] ON [base_datos].[tabla] TO [usuario]@[host_de_conexión] IDENTIFIED BY '[password para el usuario]'
Otra forma de hacerlo es con MySQL Administrator.

8. En caso de que desees no restaurar algún elemento basta con comentar la linea correspondiente anteponiendo el signo #.