jueves, 7 de febrero de 2013

[Proyecto] Cliente torrent con Transmission y Raspberrry Pi - Parte 2: Instalación de Raspbian y configuración inicial

En esta entrada nos vamos a centrar en instalar Raspbian en el Raspberry Pi y en configurar algunas opciones iniciales. La más importante será habilitar el servidor SSH para poder acceder a él remotamente.

Instalar Raspbian es tan fácil como seguir los pasos de la entrada que lo explicaba en su momento. Una vez hecho, introducimos la tarjeta en el Raspberry, conectamos un teclado, un monitor (sólo hará falta esta vez) y un cable de red, que conectaremos a su vez a nuestro router. Al encender el Raspberry, tras unos cargar el sistema nos saldrá el asistente de configuración inicial de Raspbian, que nos facilitará activar ciertas cosillas de una forma muy sencilla. Vamos a analizarlo por encima:

image

  • La primera opción del menú simplemente muestra un mensaje que explica básicamente lo que he contado aquí. Añade también que este configurador se puede usar más adelante, si queremos modificar alguna opción en concreto. Para ello, basta con escribir en el terminal: sudo raspi-config
  • La segunda opción es expand_rootfs y lo que hace es redimensionar la partición root de la tarjeta SD hasta ocupar todo el espacio disponible de la misma. Cuando hemos instalado el Raspberry en nuestra tarjeta, lo que hemos hecho es grabar una imagen del sistema operativo. Según la web oficial se necesita una tarjeta de al menos 2GB, por lo que la imagen estará pensada para no ocupar más de 2GB. Con esta opción ampliamos el espacio disponible de nuestro sistema operativo de modo que utilice todo el que haya disponible en la tarjeta.
  • La opción overscan se utiliza cuando al conectar el Raspberry con a la pantalla vemos que o bien la imagen ocupa menos, obteniendo bordes negros, o que ocupa más, y no vemos la imagen completa.
  • La opción configure_keyboard permite seleccionar qué distribución de teclado usaremos. Por defecto se usa la distribución americana, por lo que los acentos y varios símbolos no están donde estarían en un teclado español.
  • change_pass permite cambiar la contraseña del usuario pi (que inicialmente es raspberry)
  • change_locale permite cambiar el idioma por defecto del sistema. Inicialmente es inglés. Afecta al idioma que tendrán los programas cuando se instalen, los menús, etc.
  • change_timezone permite cambiar la zona horaria.
  • memory_split: El Raspberry tiene 256 o 512 MB de RAM. Esta memoria la utiliza por un lado la CPU y por otro la GPU. Esta opción permite establecer cuánta memoria usará la GPU, de modo que el resto será para la CPU.
  • overclock: Sirve para aumentar la frecuencia de la CPU del Raspberry. Tengo que informarme más porque leí en la página oficial que, al hacer overclocking, automáticamente se anulaba la garantía del Raspberry, pero que había una opción en las últimas versiones de Raspbian que la habían probado y que no la anulaba. Ten en cuenta que aumentar la frecuencia de la CPU puede reducir la vida útil del Raspberry.
  • ssh: Habilita o deshabilita el servidor SSH, permitiendo usar el Raspberry sin necesidad de pantalla o teclado.
  • boot-behaviour: por defecto, Raspbian se inicia en modo texto, y si queremos cargar el entorno gráfico debemos escribir startx en la consola. Mediante esta opción podemos hacer que el entorno gráfico se cargue automáticamente.
  • update: esta opción permite actualizar el propio asistente si tenemos conexión a Internet.

 

Configuración inicial con Raspi-config

Vamos a ponernos manos a la obra:

  1. Como hemos conectado el Raspberry a Internet con el cable de red, lo primero que haremos es comprobar si hay actualizaciones con la opción update.
  2. A continuación expandiremos el sistema de archivos con la opción expand_rootfs.
  3. Pondremos el teclado en español con configure_keyboard.
  4. Cambiamos la contraseña por defecto por una nueva. Intenta que sea segura, ya que es la que nos preguntará el sistema cuando queramos conectarnos desde Internet.
  5. Si queremos cambiar el idioma del sistema, lo haremos con la opción change_locale. Yo lo he dejado en inglés. Si queremos usar el español, bajaremos por la lista y seleccionaremos (pulsando espacio) es_ES.UTF-8, como se ve en la imagen. Para aceptar tendremos que usar tabulador e intro.image
  6. De un modo similar, seleccionaremos nuestra zona horaria con la opción change_timezone. En mi caso he seleccionado Europa y Madrid.
  7. Seleccionamos memory_split para repartir la RAM del sistema. Como estamos haciendo un cliente de torrent, que no va a necesitar la GPU para nada, podemos usar casi toda la RAM para la CPU. Yo he seleccionado 64 MB para GPU y el resto para la CPU, pero puedes usar incluso menos, especialmente si tu Raspberry es la versión de 256 MB.
  8. Seleccionamos la opción SSH y lo activamos.
  9. El resto de opciones las dejamos por defecto y seleccionamos finish. Finalmente reiniciamos la máquina escribiendo sudo reboot.

Al cabo de unos segundos, el sistema se reiniciará y aparecerá una terminal. Sólo nos queda averiguar la dirección IP y la MAC de nuestro Raspberry. Para ello escribimos: ifconfig eth0

image

Nuestra dirección IP es la que aparece después de inet addr: y nuestra MAC será la que aparece detrás de HWaddr. Las anotamos, ya que las vamos a utilizar para conseguir una IP fija en nuestra red.

Configurando router para conseguir IP fija en el Raspberry

Lo que vamos a hacer es decirle a nuestro router que queremos que nos reserve una dirección IP concreta para nuestro Raspberry, de modo que siempre que esté conectado al router, tendrá la misma IP.

Este procedimiento varía de un router a otro. En mi caso lo voy a explicar con un router ASL-26555 que es el que te da Movistar al contratar Fusión. De todas formas el proceso es similar con el resto de routers, aunque los nombres pueden variar un poco.

  1. Estando conectados al router por Wifi o Cable desde nuestro ordenador, accedemos a la web de configuración del router. En mi caso es http://192.168.1.1:8000/ aunque en otros routers puede ser simplemente http://192.168.1.1
  2. Accedemos con el usuario y contraseña del router. Esto también depende de cada modelo, y es muy recomendable cambiarlo, ya que sino cualquier persona conectada a nuestra red podría acceder a nuestro router simplemente consultando cuál es la contraseña por defecto del mismo.image 
  3. En mi caso, en la pestaña Local Network está la opción Add Static IP Address. Basta con escribir la MAC del Raspberry y la IP que queremos asignarle, marcar la opción Enable y pulsar Add/Apply. Con esto añadiremos el Raspberry a la lista de reserva de IP, que se puede ver justo debajo:
image

Con esto ya tenemos nuestro Raspberry configurado y listo para trabajar. Podemos desconectar la pantalla y el teclado, ya que no serán necesarios a partir de ahora.

Accediendo al Raspberry mediante SSH

¿Recuerdas que cuando estábamos configurando el Raspberry habilitamos la opción de SSH Server? SSH (Secure Shell) es un protocolo de comunicaciones que permite conectarnos a una máquina (como nuestro Raspberry) de forma remota. Esto quiere decir que podemos utilizar es Raspberry desde nuestro portátil, desde el móvil o desde un PC que esté en cualquier lugar con conexión a Internet.

Para ello, necesitamos un cliente SSH, que es un programa que nos permite conectarnos al Raspberry. Yo en Windows uso Putty, y en Linux puedes conectarte directamente desde un terminal.

Si usas Putty, al abrirlo te encontrarás algo parecido a ésto:

image

Aunque haya muchísimas opciones, usar Putty es tan sencillo como escribir la IP del Raspberry (la que configuramos antes en el router y vimos con ifconfig) en la casilla Host Name (or IP address) y pulsar Open.

Se abrirá una terminal donde al cabo de un momento y si todo ha ido bien,  mostrará: login as: Escribiremos pi y acto seguido nos preguntará por la contraseña, donde pondremos la contraseña que establecimos antes.

image

Deberíamos tener algo parecido a la imagen anterior. Si es así, ya tendremos todo listo para empezar a instalar y configurar nuestro cliente torrent en el Raspberry. Pero eso será en la siguiente entrada.

PD: He intentado que el tutorial sea lo más claro posible, pero ante cualquier duda, usad los comentarios.