Por el precio de un disco duro USB, puede convertir la Raspberry Pi en una caja de almacenamiento conectada a la red súper barata y sumamente flexible.

Para empezar, vamos a habilitar SSH en el dispositivo. SSH es un protocolo de shell seguro y es una forma de acceder a la línea de comandos de su Pi desde su red. Esto es particularmente importante con el Pi, porque sentarse frente a un televisor no es el mejor lugar para piratear. SSH te permitirá hackear cualquier otra caja de Linux, Windows o OS X.

Aunque SSH está incluido de forma predeterminada en la distribución de Debian que hemos instalado, no se está ejecutando. Para comenzar, inicie sesión en su Pi (el nombre de usuario predeterminado es 'pi' con una contraseña de 'frambuesa') y escriba lo siguiente:

sudo inicio del servicio ssh

Si eres nuevo en Linux, esta línea puede parecer que está escrita en un idioma extranjero, pero una vez que se descodifica, es muy fácil de entender. Las palabras individuales en la línea de comandos generalmente inician una utilidad del mismo nombre o proporcionan instrucciones a la utilidad sobre qué hacer..

En el comando anterior, 'sudo' es una utilidad que le permite ejecutar otros comandos con privilegios de administrador, 'servicio' es la herramienta que se usa para ejecutar un script desde el directorio /etc/init.d, y 'ssh start' es el extra el 'servicio' de información debe ejecutarse, el primero es el servicio para modificar - ssh - y el segundo es qué hacer con él - comenzar. Esto también podría ser detener o reiniciar..

Puedes averiguar sobre los comandos escribiendo hombre seguido del nombre del comando. Tipo hombre sudo, por ejemplo, si desea descubrir más sobre el comando sudo.

También queremos iniciar SSH cuando arrancamos la Raspberry Pi, y podemos hacer esto con otro comando:

sudo ssh insserv

Si escribes hombre insserv, verá que este es el comando para habilitar la ejecución de un script cuando se inicia el sistema, y ​​ahora que SSH está en funcionamiento, ni siquiera necesitará conectar su Pi a un teclado, mouse y pantalla. Mientras esté conectado a la red, podrá utilizar SSH para controlar el dispositivo de forma remota, pero antes de poder hacer esto, debe conocer la dirección IP del dispositivo..

La Raspberry Pi te dice su dirección IP al final de la salida de arranque, pero también puedes encontrarla escribiendo ifconfig y buscando el número a la derecha de 'inet addr' en el et0 sección.

El comando ifconfig es poderoso y se puede usar para cambiar muchas cosas sobre la red, así como para generar la configuración actual. El dispositivo 'lo', listado debajo del puerto Ethernet, es un dispositivo de bucle de retorno virtual, que es útil para cuando desea acceder a los servicios que se ejecutan en el Pi desde el mismo Pi..

Ahora tienes la dirección IP de la Raspberry Pi, de otra máquina en la misma red, escribe ssh [email protected] - pero reemplaza la dirección IP con la tuya. Se le pedirá la contraseña, después de lo cual se encontrará exactamente en el mismo símbolo del sistema que en la propia máquina, y podrá hacer lo mismo que puede hacer desde la línea de comandos a través de esta conexión SSH. Bienvenido al maravilloso mundo del teletrabajo.!

Gestión de paquetes

Tarde o temprano, querrá instalar software adicional en su RPi. En Linux, esto generalmente se hace a través de algo llamado administrador de paquetes, un concepto que es, en términos generales, igual al de una tienda de aplicaciones. Usted decide qué programa desea instalar, y se descarga automáticamente.

En Linux, la descarga también incluye cualquier dependencia, ya que estas son las bibliotecas y aplicaciones necesarias para ejecutar lo que quieras instalar. Como nuestro sistema operativo Raspberry Pi es Debian, y los administradores de paquetes pueden ser específicos de la distribución, usaremos el administrador de paquetes de Debian.

La interfaz a esto se le llama apto - la herramienta avanzado paquete. Dado que Ubuntu se basa en Debian, utiliza el mismo esquema de empaquetado (con paquetes diferentes), por lo que es muy probable que ya lo hayas encontrado, aunque tal vez no desde la línea de comandos. Instalar algo es tan simple como escribir:

apt-get install nombrepaquete

Sin embargo, hay una forma más fácil: una utilidad llamada aptitude. Puede usarlo en la línea de comandos para buscar e instalar paquetes (aptitud nombrepaquete búsqueda y aptitude install nombrepaquete), pero también ofrece una interfaz de línea de comandos primitiva. Esto aparece si escribe aptitude por sí solo, y le resultará mucho más fácil navegar que usar solo la línea de comandos.

Después del lanzamiento, la caché del paquete se ha actualizado y la vista se divide en tres. En la parte superior, hay un menú. Debajo de esta hay una lista de paquetes que puede mover con las teclas del cursor, y debajo está la salida de las opciones que elija..

Para buscar un paquete, debe saltar al menú superior. Un clic debería funcionar si tiene un mouse conectado, incluso si está usando una conexión SSH, pero también puede presionar [Ctrl] + [T] para cambiar el enfoque de entrada a los menús manualmente. La búsqueda actualiza los paquetes descubiertos en tiempo real, y puede saltar hacia arriba y hacia abajo en la lista de paquetes con las teclas del cursor o con [Retroceder] y [Retroceder página].

Estos paquetes se descargan de algo que se llama un repositorio. Por defecto, el repositorio utilizado por Debian es bastante estricto y no contendrá nada que se considere que no forme parte del sistema operativo Debian, pero puede evitar esta restricción agregando nuevos repositorios..

Encontrará la lista de repositorios en el archivo de texto /etc/apt/sources.list, y deberá abrirlo con un editor de texto como administrador del sistema. Desde la línea de comandos, puede hacer esto escribiendo sudo nano /etc/apt/sources.list.

Con el archivo abierto, necesitas agregar la palabra contribución hasta el final de la primera línea (la que termina con 'apretar principal'). El archivo contrib contiene paquetes gratuitos que dependen de los paquetes listados en el archivo no libre, un repositorio que ya debería estar en su archivo sources.list. Ahora escribe:

sudo apt-get update

Ahora debería poder instalar muchos otros paquetes que no estaban disponibles inicialmente. Instalamos el Vice emulador de Commodore 64, por ejemplo, como una manera de poner a nuestra Pi en contacto con sus raíces de computadora doméstica de los 80. Para que esto funcione en tu propia Pi, escribe apt-get install vice (esto no hubiera funcionado antes).

Una vez que se haya completado, debe descargar las ROM necesarias para que el emulador se ejecute correctamente. Son parte de la versión Windows de Vice, pero su dudosa legalidad les impide ser incluidos en los paquetes de Debian. Si está legalmente autorizado para hacerlo, puede descomprimir las ROM de la versión de Windows y colocarlas en la ubicación correcta con los siguientes comandos:

tar xvf vice-1.5-roms.tar.gz
sudo cp -a vice-1.5-roms / data / * / usr / lib / vice /

Ahora puede iniciar el emulador escribiendo x64. Deberá usar el emulador mientras está conectado a una pantalla real en lugar de a través de SSH, pero gracias a la interfaz de apuntar y hacer clic de Vice, solo tiene que hacer clic en el menú de archivos para abrir un solicitante y lanzar sus juegos..

Recomendamos usar la opción de inicio automático, ya que esto comenzará el proceso de carga sin que tenga que recordar escribir LOAD "*", 8,1 seguido por CORRER para iniciar el juego predeterminado en cualquier imagen de disco.

Obtuvimos bastante buen rendimiento del emulador y pudimos jugar a la mayoría de los juegos a una velocidad de alrededor del 100%. Incluso si la velocidad de fotogramas cae ocasionalmente por debajo del 10%, los juegos aún se pueden jugar.

Sonido de trabajo

La razón por la que no hay sonido de trabajo, al menos con la versión anterior de Debian que estamos usando, es porque el controlador para manejar el dispositivo de sonido no se ha cargado. Los controladores de Linux son diferentes a los de Windows, al igual que sus paquetes son diferentes a los ejecutables descargables, y los controladores generalmente son parte del kernel en lugar de entidades separadas que necesitan ser descargadas e instaladas..

Es por eso que muchos dispositivos funcionan sin ninguna intervención manual: el kernel detecta su presencia y carga el controlador automáticamente. Los controladores que se pueden cargar dinámicamente de esta manera se denominan 'módulos', y si escribe lsmod sudo en la línea de comandos, normalmente verá una larga lista de los módulos que ya se han cargado.

Sin embargo, debido a que las distribuciones creadas para Raspberry Pi saben exactamente en qué tipo de hardware se están ejecutando, no necesitan la mayoría de los controladores modulares. Excepto sonido. Nuestra instalación muestra solo un fusible, que es un módulo que permite a los usuarios montar dinámicamente sistemas de archivos remotos.

El módulo de sonido ya debería ser parte de su distribución, y puede cargarlo escribiendo:

sudo modprobe snd_bcm2835

Si escribes lsmod nuevamente, verá que este módulo se ha cargado, junto con cualquiera de sus dependencias. Estos son módulos que el controlador de sonido necesita para funcionar..

Ahora puede comprobar que el sonido funciona desde el escritorio conectando un par de auriculares o altavoces a la salida de audio del Pi y ejecutando la aplicación Reproductor de música desde el menú Sonido y video. La instalación de Debian incluso incluye una pieza musical para que la pruebes.

Ahora que el audio funciona, deberá volver a habilitar el sonido en el emulador Vice para escuchar cualquier cosa. Como esto comienza a llevar la CPU al límite, también recomendamos reducir la frecuencia de muestreo, aumentar el tamaño del fragmento y del búfer y desactivar la emulación del filtro en los menús de configuración de Vice.

Hemos encontrado que el módulo de sonido es bastante inestable en la Raspberry Pi, que a veces cuelga aplicaciones de audio. Esta podría ser la razón por la que no está habilitado de forma predeterminada, pero si desea cargar el módulo en el momento del arranque, simplemente agregue el nombre del módulo (snd_bcm2835) al / etc / modules con un editor de texto.

Deberá ser el administrador del sistema para volver a escribir los cambios, pero debe encontrar que el módulo se carga automáticamente cuando reinicia el Pi. Simplemente elimine esta entrada del archivo para detener la carga del módulo, o escriba rmmod snd_bcm2835 para quitar el módulo cargado mientras el sistema se está ejecutando.

Compartición de archivos

Para nuestro último truco este problema, vamos a convertir nuestra Raspberry Pi en un NAS. Esto le permitirá conectar un disco duro USB a la unidad y compartir esos archivos a través de la red. Combine esto con la reproducción de sonido en la unidad, e incluso podría comenzar a utilizar la Raspberry Pi en el centro de un concentrador de medios: compartir archivos y reproducir música, todo controlado desde una conexión remota.

El núcleo de esta funcionalidad es una herramienta llamada Samba, que es una reimplementación estable y ampliamente utilizada del protocolo de red de Microsoft. Como Windows, OS X y Linux utilizan esto para acceder a recursos compartidos remotos, es la mejor manera de configurar un servidor para compartir archivos al que todos puedan acceder. Se puede instalar con un solo comando:

sudo apt-get install samba

Una vez completada la instalación, se iniciarán dos procesos en segundo plano. Procesos como estos, y el servidor SSH que comenzamos antes, generalmente se llaman demonios, y manejarán automáticamente cualquier solicitud que se realice a través de la red..

Ahora necesitamos definir la parte del sistema de archivos que vamos a utilizar para almacenar los archivos. Como vamos a utilizar un disco remoto conectado a través de USB, debemos crear un punto en el sistema de archivos para que esto sea accesible, y asegurarnos de que sea permanente..

Después de insertar una unidad USB, escriba dmesg. Esto muestra la salida de los registros del sistema, y ​​al final debería ver la parte en la que su sistema está tratando de insertar el dispositivo USB. Mira en esta salida para algo como sda: sda1; puede ser exactamente esto, o puede ser sdb. De cualquier manera, este es el nodo de su unidad en el sistema de archivos virtual que Linux usa para administrar dispositivos. Echa un vistazo a / dev / para una lista abrumadora de lo que es posible.

Para agregar nuestro dispositivo al sistema, primero debemos crear una nueva carpeta que actúe como el nodo raíz del dispositivo. Nosotros usamos mkdir / mnt / compartir para crear una carpeta llamada 'compartir' en la preexistente / mnt carpeta, entonces, para montar esta carpeta en el momento del arranque, agregue la siguiente línea a / etc / fstab:

/ dev / sda1 / mnt / share vfat defaults 0 0

Esta línea toma la forma de una fuente, que es nuestro dispositivo USB con un nodo tomado de la salida de dmesg, un destino, que es la carpeta que acabamos de crear, seguida de un tipo de sistema de archivos, los valores predeterminados, la palabra clave y dos ceros.

La única parte problemática de esta línea es el tipo de sistema de archivos, porque suponemos que será una memoria USB con formato de Microsoft (vfat en el lenguaje del sistema de archivos). Es mucho mejor reformatear el dispositivo de la misma manera que formateamos la tarjeta SD y usar un sistema de archivos nativo de Linux, como ext3. Si haces esto, cambia el sistema de archivos en consecuencia.

Guarde los cambios en fstab y compruebe si el montaje funciona correctamente escribiendo sudo mount / mnt / share. Si todo va bien, debería poder explorar el contenido de su dispositivo USB apuntando un explorador de archivos o la línea de comandos a / mnt / compartir.

Leyendo y escribiendo

Si descubre que esto no funciona, mire cualquier salida nueva del comando dmesg para tener una mejor idea de lo que podría haber fallado. De lo contrario, su dispositivo USB debería ahora montarse automáticamente cada vez que inicie el Pi.

Ahora queremos asegurarnos de que todos puedan leer y escribir en la carpeta compartida. Podemos hacer esto desde la línea de comandos, usando los siguientes dos comandos:

sudo chown -R root: users / mnt / share
sudo chmod -R ug + rwx / mnt / share

El primero de ellos cambia la propiedad de todos los archivos dentro de la unidad porque la -R argumento significa que estos cambios se harán recursivamente. los root: usuarios parte hace que root (el administrador del sistema) sea el propietario, pero también asigna un valor de grupo de usuarios. En términos de Linux, eso significa que cualquier usuario que también sea parte del grupo de usuarios tendrá acceso de grupo también.

Si escribes grupos Verá la lista de grupos a los que pertenece su usuario actual. Si está utilizando el nombre de usuario 'pi' predeterminado, debería ver a los usuarios como parte de esta lista. El segundo comando garantiza que todos los archivos y carpetas se configuren en (r) ead, (w) rite y e (x) ecutable para el usuario y los grupos asignados a los archivos.

Ahora queremos crear una cuenta de usuario que pueda usar para acceder al recurso compartido. Para hacer esto, primero necesitamos crear una nueva cuenta local, luego vincular esto a Samba. Luego, deberá ingresar el nombre de usuario y la contraseña que se crearon en este paso cada vez que acceda al recurso compartido Samba desde una máquina remota..

Puedes hacer esto con los siguientes dos comandos:

sudo useradd smbaccess -m -G usuarios
sudo passwd smbaccess
sudo smbpasswd -a smbaccess

Primero, debemos agregar un usuario llamado smbaccess y asegurarnos de que sea parte del grupo de usuarios. Luego establecemos una contraseña para esta cuenta, antes de agregar la cuenta a Samba. Ahora viene la parte donde le pedimos a Samba que comparta el punto de montaje a través de la red, y esto se puede hacer agregando lo siguiente al final de /etc/samba/smb.conf:

[público]
comment = Public
ruta = / mnt / compartir
usuarios válidos = @users
grupo de fuerza = usuarios
crear máscara = 0660
Máscara de directorio = 0771
solo lectura = no

El último paso es reiniciar Samba, lo que podemos hacer revisando el primer comando de este tutorial:

servicio de sudo samba reinicio

Ahora estamos listos para acceder a nuestro recurso compartido, y puede hacerlo desde cualquier máquina en la misma red. Solo use el protocolo smb, seguido de la dirección IP de su Raspberry Pi.

En KDE, por ejemplo, debes escribir smb: //[email protected] en el iniciador de comandos o el administrador de archivos. Luego verá sus archivos, y los leerá y escribirá desde cualquier caja de la red..