Convierte tu RaspberryPi en un servidor de noticias

rssOtra de las cosas maravillosas que puedes hacer con un Raspberry Pi que te sobre es instalarte un lector de noticias centralizado y autónomo que puedas consultar desde cualquier ordenador de la red local o desde el exterior. Si quieres ver más cosa que puedes hacer fácilmente, visita la serie de entradas que empieza aquí. La razón de esta instalación es, como no podía ser de otra manera, la autonomía tecnológica en la medida de lo posible.

Seguir leyendo

Anuncios

Cómo controlar aMule a través de su interfaz web.

mulaMira tú por dónde, pero me he encontrado con que en los repositorios de Debian Jessie no está el paquete que necesito para conectarme con el demonio de aMule que tengo corriendo en mi maravilloso RaspberryPi [1], llamado amule-utils-gui.

De manera que en una instalación limpia de Debian toca apuntar los repositorios a sid, actualizar la lista de paquetes e instalar. Después deshacer los cambios en /etc/apt/sources.list y volver a actualizar la lista de paquetes. La verdad es que no es para tanto, pero si eres un quisquilloso de la estabilidad y la pureza del sistema no es muy recomendable andar instalando paquetes de varias ramas.

¿Solución? Fácil, accede a aMule a través de su interfaz web. Solo necesitas un navegador y podrás conectarte desde la red local o, si redireccionas el puerto en el router, desde cualquier lugar y dispositivo.

¿Cómo? Muy sencillo. Está todo explicado en la entrada correspondiente a la configuración del demonio de aMule [2]. Por si acaso no te hace falta o no te apetece tragarte todo el rollo de la instalación y entresacar lo necesario, aquí está:

Conéctate al ordenador en el que está corriendo el demonio de aMule, bien a través de SSH, bien directamente si tiene teclado y monitor. A continuación, edita el archivo de configuración de aMule con el comando:

$ nano .aMule/amule.conf

y busca la siguiente sección:

[WebServer]
Enabled=0
Password=
PasswordLow=
Port=4711

Cambia Enabled=0 por Enabled=1, introduce la misma contraseña que está escrita unas líneas más arriba (en la sección llamada [External Connection]) en su lugar correspondiente y toma nota del número de puerto. Graba, sal y reinicia el servicio con

$ service amule-daemon restart

Listo. Ve a un navegador y, en la barra de direcciones, escribe la IP del servidor, dos puntos y el puerto. Por ejemplo, en mi caso 192.168.0.20:4711. Si deseas conectarte desde el exterior debes redirigir el puerto 4711 (o el que sea que hayas configurado) hacia la IP del servidor y escribir en el navegador, en lugar de esa IP, la IP de salida del router. Te aparecerá una pantalla en la que introducir la contraseña.

amuleweb

¡Tachán!

Enlaces:

[1] https://bokunoshumi.wordpress.com/2012/11/24/convierte-tu-raspberry-pi-en-un-servidor-de-descargas-por-que/

[2] https://bokunoshumi.wordpress.com/2012/12/09/convierte-tu-raspberry-pi-en-un-servidor-de-descargas-amule/

Manual básico de SSH y NFS.

Últimamente he estado asistiendo a un curso llamado «Administración y explotación de redes con GNU/Linux» en el que, aunque el nivel era muy básico en algunos aspectos, aprendí unas cuantas cosas muy interesantes, porque es difícil llegar a un sitio nuevo y no aprender nada de nada. Para no aprender nada de nada hay que entrar predispuesto.

Como trabajo de fin de curso he elaborado una presentación sobre un tema concreto dentro del temario, mejor dicho, dos temas, SSH y NFS. Sobre SSH ya sabía algo [1], pero no sobre NFS, y es una herramienta muy potente.

He querido compartir este pequeño trabajo con todos por si a alguien le sirve de algo, que espero que sí. Es muy básico y sencillo, y está pensado para apoyar una presentación de viva voz, pero creo que se entiende todo bastante bien. Desde luego, no es como los tutoriales de CeeC [2], pero bueno, es lo que yo soy capaz de hacer.

Presentación en PDF sobre SSH y NFS.

Espero que os guste.

Enlaces:

[1] https://bokunoshumi.wordpress.com/2013/07/23/convierte-tu-raspbery-pi-en-un-servidor-de-descargas-el-proceso-basico/

[2] https://tuxpepino.wordpress.com/2007/05/11/ssh-el-dios-de-la-administracion-remota/

Cómo crear un script que vigile el funcionamiento de un proceso

mula

El nacimiento de esta entrada tiene que ver conla configuración de un servidor autónomo de aMule en un Raspberry Pi.

Resulta que me he encontrado con el problema de que aMule se cierra cada vez que termina la descarga de un archivo grande (de 6 GB o más) o cuando está completando una descarga terminada si la lista de descargas pendientes es muy larga. Aún no sé cuál es la razón ni proponer una solución elegante al problema, pero hay una manera rápida y sencilla de arreglar las cosas: crear un programa que vigile si aMule está corriendo y, si no lo hace, que lo ejecute. Como se puede intuir, este tutorial es para el aMule pero sirve exactamente igual para cualquier proceso que se pare y necesitemos reiniciar de manera autónoma, solo hay que cambiar los comandos.

Para ello me he basado en un script escrito por Pedro Ventura que he modificado ligeramente yo mismo. Lo que hay que hacer es lo siguiente:

Accede a tu RaspberryPi del modo habitual (sesión gráfica, SSH…). Voy a suponer, en lo sucesivo, que el acceso es por consola. Una vez en la sesión de usuario pi, crearemos un archivo nuevo al que llamaremos controlAmule:

nano controlAmule.sh

y, dentro de este archivo, que lógicamente aparecerá vacío, hay que escribir lo siguiente

#!/bin/bash
RESTART=”/etc/init.d/amule-daemon start”
PGREP=”/usr/bin/pgrep”
AMULED=”amuled”
# busca el proceso
$PGREP ${AMULED}
# si no existe y el comando anterior devuelve 0
if [ $? -ne 0 ]
then
# restablece amule-daemon
$RESTART
fi

Recuerda que si copias y pegas desde este blog debes repasar las comillas para que sean las correctas. WordPress intenta introducir comillas de apertura y cierre diferentes, pero en el programa deben ser comillas rectas normales.

Guarda con Ctrl+O y sal con Ctrl+X. El programa necesario ya está hecho. Hazlo ejecutable escribiendo:

chmod +x controlAmule.sh

Ahora solo hay que conseguir que esta verificación del proceso emuled se ejecute de forma periódica. Ejecuta

crontab -e

y se abrirá un editor (nano) con un archivo nuevo en el que hay unas instrucciones escritas en inglés. Ni caso. Desplázate hasta el final del archivo e incluye:

*/15 * * * * bash /home/pi/controlAmule.sh

Guarda con Ctrl+O y sal con Ctrl+X (el nombre de archivo que el programa propone es muy raro, pero no importa. De nuevo, ni caso). Lo que has hecho es programar, para el usuario pi, una tarea que se ejecute cada 15 minutos. Y esa tarea es la que realiza el programa que acabas de escribir. Por supuesto, si deseas guardar el script en otra ubicación o darle otro nombre no pasa nada, pero tienes que respetar la ruta y el nombre en el comando del crontab. También puedes cambiar la frecuencia de ejecución a 5 minutos (*/5…), a 45 minutos (*/45…) o a cualquier intervalo de tiempo que se te ocurra y te parezca correcto. Cron permite una gran versatilidad en la configuración del tiempo, puedes lanzar un proceso los martes a las 3 de la mañana, cada hora de lunes a viernes, el día de tu cumpleaños a la hora de tu nacimiento, lo que quieras. En internet hay multitud de tutoriales para aprender a programar cron. Otra opción, si eres de los que prefieren tener todo centralizado, es editar como root el archivo /etc/crontab e incluir una línea bajo las que ya existen con el mismo contenido de antes. En este caso debes incluir el nombre del usuario entre los asteriscos y el comando a ejecutar, así: */15 * * * * pi bash /home/pi/controlAmule.sh. Los comandos que tengas programados para tu usuario puedes verlos con crontab -l, editarlos con crontab -e y eliminarlos con crontab -r.

Ya solo queda un paso: reiniciar. Si no quieres hacerlo, ejecuta

sudo /etc/init.d/cron restart

si tienes configurado sudo. Si no, abre una consola de root y escribe el mismo comando sin sudo.

¡Y listo, familia, fácil y sencillo.!rpi1

Configura tu mando a distancia en OpenELEC y Raspbmc

[EDITADO]: Desde hace un tiempo, el proyecto XBMC ha cambiado de nombre. Ahora es KODI. Por eso han cambiado algunas rutas de algunos archivos y yo también las he cambiado aquí. Si algo no funciona bien, decídmelo y lo corrijo. En todo el texto del artículo podéis cambiar XBMC por KODI y todo sigue igual.

Ya sabéis cómo instalar XBMC en un RaspberryPi. Incluso a solucionar algún problema puntual que pudiera aparecer.

Una de las grandes ventajas de XBMC en el RPi es que incluye el estándar CEC de comunicación entre dispositivos, de modo que si tienes conectada una TV moderna por HDMI podrás controlar XBMC a través del mando a distancia de la televisión. Sin embargo, y ahí aparece el problema que inspira esta entrada, es que el mando de mi Sharp Aquos no tiene un botón que XBMC interprete adecuadamente para el menú contextual. Eso me obliga a usar el control remoto a través de Android, el botón secundario de un ratón, etc. Una lata.

¿Solución? Mapear una nueva tecla para esa función. ¿Cómo? Fácil y sencillo:

Conéctate a RPi a través de SSH, de modo gráfico o en terminal, al modo habitual (asumo que si has conseguido instalar el sistema, esto no representa un problema). Copia el archivo remote.xml de su ubicación original a la nueva:

cp /opt/xbmc-bcm/xbmc-bin/share/xbmc/system/keymaps/remote.xml /home/pi/.xbmc/userdata/keymaps/remote.xml

y edita el nuevo archivo:

nano .xbmc/userdata/keymaps/remote.xml

En este punto hay que hacer una precisión. En el método que propuse en la entrada anterior conseguimos instalar Raspbmc. Si has instalado OpenELEC, cosa muy recomendable y que estoy probando (ya os diré algo), el comando para copiar el archivo es distinto, pues la ruta original también es distinta:

Para OpenELEC:

cd .kodi/userdata/keymaps && cp /usr/share/kodi/system/keymaps/remote.xml ./remote.xml

nano remote.xml

Ahora viene el momento en el que hay que pensar qué tecla te viene bien. En mi caso he escogido el botón azul del teletexto, pues queda lejos de los botones más habituales y es sencillo de encontrar. Originalmente es un acceso directo a «Mis imágenes», pero yo no lo uso, así que me gusta este botón para el menú contextual.

En el código del archivo busca lo siguiente:

<title>ContextMenu</title>

y comenta la línea introduciendo <!– al comienzo y –> al final de ella. Si en lugar de title la etiqueta es diferente, no importa, esa es la tecla originalmente asignada, la que el mando no tiene. Si usas OpenELEC esta línea no existe, sáltate este paso y sigue.

Ahora hay que buscar las etiquetas <blue> y </blue> encerrando un texto como XBMC.ActivateWindow(MyPictures) o algo así. Cambia ese texto por ContextMenu, de modo que la línea quede como sigue:

<blue>ContextMenu</blue>

Si no quieres perder la información anterior, por si es necesario recuperarla en un futuro, comenta la línea completa igual que la anterior, es decir, inserta los caracteres <!– al principio de la línea y los caracteres –> al final. Después inserta una nueva línea y escribe el código anterior. Modificando este archivo no tienes por qué limitarte al botón azul o al menú contextual. Dentro de las opciones que hay listadas en el mismo puedes hacer las modificaciones que necesites y cambiar todos los botones que quieras. Recuerda que si haces muchos cambios, puede que sean difíciles de deshacer si hay algún problema, no es mala idea hacer una copia de seguridad del archivo antes de toquetearlo.

Guarda con Ctrl+o y sal con Ctrl+x. Listo. Reinicia XBMC y comprueba que todo haya ido bien. Ahora, al pulsar el botón azul cuando está resaltado un archivo podrás marcarlo como visto, borrarlo si habilitas la opción, añadirlo a la cola y el resto de opciones del menú contextual.

[ACTUALIZADO] Convierte tu Raspbery pi en un servidor de descargas. El proceso básico.

[Actualizado] He cambiado el punto de montaje del disco externo para ahorrar espacio en la tarjeta de memoria. Ahora funciona mejor.

[Actualizado] 23-07-2013. No solo se ha cambiado el punto de montaje del disco duro externo, sino de toda la instalación. Instalar el sistema de archivos en una tarjeta SD con su journaling y todo hace que una tarjeta dure menos de 6 meses. Desde que tengo el Raspberry Pi funcionando 24/7 ya he roto 2, una Sandisk y una Kingston. Ahora el sistema es más rápido y estable… de momento. Si aparecen problemas en el futuro, se irán solventando.

El objetivo de este post es explicar el modo de utilizar un Raspberry Pi como servidor dedicado a las descargas debido al alto precio de un PC clásico para este cometido. En esta primera parte, veremos cómo instalar y preparar la configuración básica. Si estás intentando usarlo como un centro multimedia de salón no es necesario nada de esto. Sigue los pasos indicados en esta entrada.

INGREDIENTES:

Un Raspberry Pi.

Una tarjeta SD de al menos 2 GB.

Un disco duro externo de 3,5” o uno de 2,5” con alimentación.

Una fuente de alimentación para el Raspberry Pi.

Lo primero que hay que hacer es conseguir una distribución para instalar en la tarjeta SD. Yo he escogido una ya adaptada a este hardware llamada Raspbian, además es una versión especial de Debian Wheezy, mi sistema operativo preferido con mucha diferencia. Se puede bajar de aquí.

Una vez en nuestro poder, se decomprime el archivo tar.gz para conseguir un archivo de imagen con extensión .img. Ahora introduce la tarjeta SD en el lector y copia todo el contenido de la imagen en ella. Es una imagen, de modo que restaurará completamente las particiones necesarias con sus sistemas de archivos correspondientes. Por eso no se trata de copiar el archivo directamente; para restaurar la imagen escribe en un terminal de root:

dd if=/ruta.archivo.de.imagen/imagen.img of=/dev/sdx

donde sdx es el dispositivo de la tarjeta. Si no sabes cuál es el dispositivo, en el mismo terminal de root

fdisk -l

y busca la partición de la tarjeta SD. Recuerda, no debes instalar la imagen en la partición sino en el dispositivo, de modo que si la tarjeta aparece como /dev/sdb1 el comando de instalación es

dd if=/ruta.archivo.de.imagen/imagen.img of=/dev/sdb.

Ya tenemos Debian Wheezy instalado en la tarjeta. Incluye el escritorio LXDE y aplicaciones varias, pero se las podemos quitar todas si andamos justos de espacio. No vamos a quitar nada, que eso se puede hacer más tarde y es una cuestión personal.

Lo que encontramos en la tarjeta SD es una partición de 59 MB con los archivos del directorio /boot y otra partición con el resto de la instalación. Lo que vamos a hacer es mantener la partición /boot en la tarjeta y usar el disco externo para el resto de los datos. Hemos de seguir dos pasos a continuación:

Dentro de la carpeta /boot (en la tarjeta), hay un archivo que se llama cmdline.txt que es necesario editar. Ábrelo con un editor de textos y cambia el texto root=/dev/mmcblk0p1 por root=/dev/sda1 y deja el resto como está. Si en lugar de mmcblk0p1 te encuentras con mmcblk0p2 u otra cosa similar no te preocupes, cámbialo por root=/dev/sda1 y listo.

A continuación es necesario grabar una imagen de la segunda partición, la que contiene todos los datos excepto el directorio /boot. Identifícala siguiendo el método anterior y guarda una imagen con

dd if=/dev/sdxn of=/ruta.al.archivo.de/imagen.img

donde sdxn es la partición de la tarjeta que queremos conservar, por ejemplo sdb2, sdc1, etc. Dependerá de qué dispositivos estén conectados al ordenador y en qué orden.

Una vez hecho esto, si aún no está conectado el disco duro externo que vamos a utilizar para descargar, conéctalo al ordenador. Vamos a formatearlo de la siguiente manera: una partición de 4GB para la instalación del sistema, una partición de 1GB (o 500 MB, como prefieras) para swap, y el resto para home. Todo en ext4. Se puede hacer por consola o en modo gráfico con GParted, la Utilidad de discos de Ubuntu u otros programas.

Ahora volvamos a la consola de root y buscamos la partición del disco externo que vamos a dedicar a la instalación de Raspbian. Supongamos que en la salida de fdisk -l encontramos esa partición como sdc1.

Se vuelca la imagen que se grabó antes con la instalación de la tarjeta SD con:

dd if=/ruta.al.archivo.de/imagen.img of=/dev/sdc1

suponiendo que sdc1 sea la partición correcta. Sustituir por lo que corresponda. Una vez echo esto, es necesario comprobar el sistema de ficheros y extender el tamaño de la imagen al total de la partición, para que la ocupe toda. Si te fijas, si haces df -h, verás que a pesar de tener 4 GB (o los que le hayas dedicado) disponibles, el tamaño real aparece idéntico al que había en la tarjeta. Para desfacer este entuerto, teclea los comandos (como superusuario siempre):

e2fsck -f /dev/sdc1

resize2fs /dev/sdc1

Si está montado el sistema de archivos, no se podrá comprobar, de modo que desmóntalo antes con umount /dev/sdc1.

Ahora lo que hay que hacer es montar el sistema completo; es decir, coge tu Raspberry Pi, insértale la tarjeta SD, conéctale un cable de red, el almacenamiento externo y, finalmente, enchufa la fuente de alimentación al puerto micro-USB. Yo he usado un cargador de iPod, que como normalmente ya se carga cuando se enchufa al ordenador, pues no le daba mucho uso. Recuerda que se recomienda que dé 1 amperio, que es lo que da el alimentador de Apple, o como mínimo 0,7 amperios. Un cargador de móvil también sirve si proporciona esa intensidad. Estos datos están siempre en una pegatina o serigrafiados en el propio cargador.

Esta es la imagen de la instalación completa para tener debajo del escritorio y que no moleste. Al estar dentro de una caja de cartón también sirve para recoger lo que sobre de los cables de alimentación o del ISP (el coaxial blanco que va al router).

Vista frontal.
Vista frontal.

En esta vista posterior se aprecian tres cables de datos que salen del router. Uno de ellos va al RaspberryPi, los otros dos están para conectar otros dispositivos cuando sea necesario sin tener que andar buscando cables por casa. Los terminales están sueltos dentro de la caja.

Vista posterior.
Vista posterior.

Y esta es la vista del interior de la caja. El RaspberryPi está metido en una cajita de papel para que no haya nada que toque la placa base por error. Está la regleta de alimentación con interruptor y protección, el disco duro externo, el RPi y un montón de cables, sin ordenar porque como no se ve nada…

Vista interior.
Vista interior.

Conéctalo todo. Espera unos segundos a que arranque y vete a otro ordenador que también esté conectado al router (el mismo que estabas usando hasta ahora sirve). OPCIÓN: Si puedes conectar un teclado USB y un monitor HDMI (o DVI con adaptador) a tu Raspberry, no es necesario que hagas las cosas a través de ssh, pero el objetivo es un sistema barato, compacto y discreto que podamos situar detrás de una librería, en una estantería o en una caja, como yo, por lo que la mejor opción será la conexión remota. Si tienes monitor y teclado, con el comando “startx” después del arranque iniciarás una sesión de LXDE. Pero es algo que nunca he probado. A partir de aquí puedes seguir haciéndolo todo en local y en modo gráfico. Yo sigo en “modo conexión remota”.

Ya estamos en otro ordenador de la red, el portátil o el de sobremesa, cualquier otro ordenador de la casa. Averigua la IP que ha adquirido el Raspberry Pi conectándote al router a través de un navegador. En el apartado “Users” o “Active Connections” o algo por el estilo podrás ver la IP del equipo que estás usando y también la del Raspberry. Toma nota de la dirección y cierra el navegador.

Ahora abre una consola y teclea

ssh -P22 pi@IP

El sistema te pide una contraseña: es la contraseña del RPi, por defecto es “raspberry”. Introdúcela y verás que cambia la línea del prompt. Ya estás conectado al pequeño Raspberry. La conexión que acabas de establecer es a través del protocolo SSH. Si no sabes nada acerca de él, te recomiendo que leas la siguiente entrada.

Pero, si te fijas, se está usando la instalación de la tarjeta, cosa que no queremos, por lo que debemos editar el fstab. Para ello, teclea:

sudo ls -l /dev/disk/by-uuid

Al final de cada línea está los nombres de la particiones (/dev/sdb1, por ejemplo). Antes hay una cifra larguísima en hexadecimal que es la UUID o identificación única de cada dispositivo. Cópiala.  Haz una copia de seguridad del fstab con el comando sudo cp /etc/fstab /etc/fstab.copia. Ahora editaremos el archivo correspondiente con:

sudo nano /etc/fstab

y al final del archivo, debajo de la línea que dice: /dev/mmcblk0p1  /boot  vfat , etc, añadiremos una línea que contenga lo siguiente:

UUID=41cd5baa-7a62-4706-c9e8-02c43ccee8d9   /            ext4     defaults,noatime   0   1
UUID=b8f34a74-7b9c-41f9-84ed-5b68d52732fa    /home   ext4     defaults             0        0
UUID=657d0693-bc8f-4017-aac5-2d40c27d0f42   none     swap   sw                      0        0

donde las largas ristras de números son las que hemos copiado de la salida del comando anterior, una para la raíz, otra para home y otra para la swap. Los números anteriores, por lo tanto, no sirven más que como ejemplo. Si los copias tal cual, no funcionará seguro.

Guarda, cierra y reinicia.

¿Todo ha ido bien? Si es así, lo verás fácilmente volviéndote a conectar al pequeño Raspberry y comprobando el tamaño de los sistemas de ficheros y su punto de montaje con el comando df -h.

A partir de aquí, aumentaremos un poco la seguridad.

Lo primero que hay que hacer, ya que es un ordenador al que nos vamos a conectar constantemente a través de la red del hogar, es definir una IP fija. Para ello escoge una que te venga bien. Por ejemplo, la que has escrito en el comando anterior, con el que iniciaste la conexión, o una más sencilla de recordar, siempre dentro del rango que permita tu router. Por lo general, están entre 192.168.0.10 y  192.168.0.255; consulta el manual para asegurarte. En mi caso tengo configuradas las direcciones así: 10 para un equipo, 20 para otro, 30 para el siguiente, etc. Escoge una, anótala y abre el siguiente archivo /etc/network/interfaces escribiendo:

sudo nano /etc/network/interfaces

y haz, lo primerito, una copia de seguridad por si las moscas. Aprieta Ctrl+O y añade “.copia” al nombre del archivo. Acepta con “Y” cierra el editor con Ctrl+X. Vuelve a abrir el archivo original de nuevo repitiendo la orden anterior. Desplázate hasta donde pone

iface eth0 inet dhcp

y cambia “dhcp” por “static” (sin las comillas). Añade una línea y escribe:

address IP

netmask 255.255.255.0

gateway 192.168.0.1

donde IP es la dirección que has escogido antes y “gateway” es la IP de tu router. Lo de “netmask” escríbelo así, tal cual. Reinicio de la conexión con el comando

/etc/init.d/networking restart

Ahora debería estar conectado de nuevo con la IP fija. Escribe “ifconfig” y comprueba que la IP es la correcta. Se se ha cortado la conexión ssh entre ambos ordenadores vuelve a establecerla, pero esta vez escribiedo la nueva IP.

Otra cosa muy importante, en un equipo que va a estar conectado las 24 horas sin supervisión, es aumentar la seguridad del usuario “pi” y del servidor ssh. Para ello, hay que editar un archivo de configuración como superusuario. El usuario “pi” tiene acceso a sudo, por lo que no hay más que escribir en la línea de comando:

sudo nano /etc/ssh/sshd_config

En este archivo hay opciones que debemos cambiar para aumentar la seguridad. Para empezar, cambiar el puerto de conexión, que es el 22 por defecto. En la línea que pone “Port 22” cambia el 22 por otro número, como 4321, por ejemplo. Eso cambia el puerto que escucha el servido ssh. Dado que hay multitud de ataques al puerto 22 buscando conexiones abiertas, es el primer cambio que hay que hacer. Hay más cambios posibles, pero os dejo un post interesante al respecto del tristemente abandonado blog “Entre tuxes y pepinos”. Es este.

Lo siguiente es cambiar la contraseña del usuario, la que hemos escrito para establecer la conexión al principio (“raspberry” por defecto), para que conexiones no autorizadas no tengan la contraseña tan fácil de adivinar. Escribe:

sudo raspi-config

y, en el menú que surge, escoge la opción de cambio de contraseña y sigue las instrucciones.

Llegados a este punto, te recomendaría un reinicio para comprobar que todo está bien puesto en su sitio y una copia del sistema. Para ello, en la misma consola escribe

sudo reboot

y el Raspberry Pi se reiniciará. Durante el proceso, obviamente, se cortará la conexión y desaparecerá el prompt del Pi, volviendo a ver el nombre del usuario local. Espera un momento y vuelve a conectarte, usando la nueva IP, el nuevo puerto, el mismo nombre de usuario (pi) y la nueva contraseña.

Otro de las acciones que me gusta hacer en aras de mayor seguridad (por los extraños y para manazas) es desactivar sudo y tener que acceder como root para romper algo. Lo que hay que hacer es configurar una contraseña de superusuario súper-segura. Teclea:

sudo passwd

para configurar una nueva contraseña. A continuación, editaremos un archivo:

sudo visudo

y, cuando se abra el fichero, comenta las líneas (comentar es introducir el carácter # al inicio de la línea, tal y como se ve en el ejemplo):

# Allow members of group sudo to execute any command
#%sudo  ALL=(ALL:ALL) ALL

y

#includedir /etc/sudoers.d
#pi ALL=(ALL) NOPASSWD: ALL

Una vez hecho esto, el comando sudo no funcionará y será necesario conectarse al ordenador con:

ssh -p4321 root@IP

donde, como siempre, 4321 es el puerto que hemos escogido para ssh e IP es la dirección que ya hemos configurado a mano.

Y este es el resultado final con todo funcionando debajo de el escritorio de mi despacho. Silencio total y un servidor 24/7:

Resultado final.
Resultado final.

Ahora solo hay que instalar los programas que uno desee y configurarlos al gusto. Si sabes cómo, no hay problema; si no, atento al próximo post para instalar y configurar un servidor de aMule.

Espero que os haya gustado y le saquéis provecho.

Fuentes:

Método de prueba y error.

Varias visitas a la tienda a comprar tarjetas SD.

http://lgallardo.com/2013/03/17/correr-raspberry-pi-desde-un-disco-usb/

Más prueba y error.

XBMC plugins: youtube y vimeo no funcionan.

El gran problema, irresoluble problema que arrastra mi XBMC desde hace varias versiones del programa y del plugin. De los plugins, porque es algo que afecta tanto al plugin de Youtube como al de Vimeo.

Cuando intentas arrancar cualquiera de ambos programas se muestra un error que dice, exactamente, lo siguiente: Error: Fallo en el script: plugin.video.youtube. Y no hay manera de arreglarlo, ni con desinstalaciones ni con borrado de caché ni nada de nada. Pero afortunadamente, hay sencilla solución.

Tras estudiar los logs de XBMC, veo que el problema es que se importan los módulos de python  excepto uno, CommonFunctions, que debe de estar deshabilitado. Parece ser, según he podido saber DuckDuckGo‘ando por la web, que puede ser por culpa de algún plugin marcado como roto en el repositorio que en su mal funcionamiento consigue anularlo.

Para desfacer el entuerto no hay más que conectarse al Raspberry Pi y abrir el siguiente directorio:

cd .xbmc/userdata/Database/

y renombrar o directamente eliminar el siguiente archivo:

mv Addons15.db Addons15.db.save

Y listo, ya podemos conectarnos a los servidores de Youtube o Vimeo

ACTUALIZACIóN:

Este método también soluciona el problema con los plugins de Euronews, ESA Videos y sospecho que algún otro.