Argallando cunha Raspberry Pi

De GALPon WiKi
argallar
Segundo a RAG
        ...
        verbo transitivo
        4 Concibir ou preparar [algo] con algunha finalidade práctica


Contenido

Equipo necesario para trebellar nestas configuracións

Imprescindíbel

  • Un computador +/- recente con:
    • Conexión USB 2.0 ou superior
    • Lector de tarxetas SD (serve un externo)
    • Sistema operativo Debian ou derivado como MiniNo, PicarOS, Abalar, Ézaro, LMDE, Ubuntu, Linux Mint, Trisquel, SO.xug etc.
Nota: Os que non teñan instalado un S.O Libre GNU/Linux, poden empregar un CD/USB vivo de calquera destas distribucións.
  • Unha Raspberry Pi con:
    • Alimentador de (polo menos) 1 Amp.
    • Teclado
    • Monitor
  • Unha tarxeta SD | SDHC | SDHX, como mínimo da Clase 4 e de 2 GB ou máis
  • Unha memoria flash USB (o clásico «pincho») de polo menos 4GB

Recomendado

Raspberry Pi cun disco ríxido externo e a súa alimentación eléctrica
  • Unha tarxeta SDHC | SDHX de 8 GB ou máis e como mínimo da Clase 10
  • Dispositivo WiFi por USB (compatíbel coa Pi)
  • Repartidor (hub) USB alimentado, polo menos, con 2 Amp e 4 conectadores USB
  • Dispositivo(s) de memoria USB
    • Unha memoria USB de alta velocidade e bastante capacidade (de 8 GB en diante sería boa cousa)
ou
  • Un Disco ríxido externo con conexión USB

Documentacións de referencia deste traballo

Sobre a instalación nun USB

Sobre a «swap»

Sobre a montaxe do «/home» noutro dispositivo

Sobre múltiples discos e UUID

Todo sobre RPi

Sobre OMV na Raspberry Pi

Volver ao inicio da páxina

Empregar dmesg e como interpretalo

Execútase nun terminal, simplemente como dmesg despois de inserir un dispositivo.

Nota: recomendo que vaiamos con un de cada vez.

Devolve un feixe de información, na fin aparece algo tal que así:

[ XXX.XXXXXX] usb 1-1.3: new high-speed USB device number 6 using dwc_otg
[ XXX.XXXXXX] usb 1-1.3: New USB device found, idVendor=0930, idProduct=6544
[ XXX.XXXXXX] usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ XXX.XXXXXX] usb 1-1.3: Product: TransMemory     
[ XXX.XXXXXX] usb 1-1.3: Manufacturer: TOSHIBA 
[ XXX.XXXXXX] usb 1-1.3: SerialNumber: C87168A1CB3ACD20475DD268
[ XXX.XXXXXX] scsi3 : usb-storage 1-1.3:1.0
[ XXX.XXXXXX] scsi 1:0:0:0: Direct-Access     TOSHIBA  TransMemory      1.00 PQ: 0 ANSI: 4
[ XXX.XXXXXX] sd 1:0:0:0: [sda] 30310400 512-byte logical blocks: (15.5 GB/14.4 GiB)
[ XXX.XXXXXX] sd 1:0:0:0: [sda] Write Protect is off
[ XXX.XXXXXX] sd 1:0:0:0: [sda] Mode Sense: 45 00 00 00
[ XXX.XXXXXX] sd 1:0:0:0: [sda] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
[ XXX.XXXXXX]  sda: sda1 sda2 sda3
[ XXX.XXXXXX] sd 1:0:0:0: [sda] Attached SCSI removable disk

interésanos unha das 4 a 6 últimas liñas, que pode ter un formato como:

[ XXX.XXXXXX]  sda: sda1

[ XXX.XXXXXX]  sda: sda1 sda2

[ XXX.XXXXXX]  sda: sda1 sda2 sda3

[ XXX.XXXXXX]  sdb: sdb1

[ XXX.XXXXXX]  sdb: sdb1 sdb2

...

[ XXX.XXXXXX]  sdf: sdf1

[ XXX.XXXXXX]  sdf: sdf1 sdf2 sdf3

Que debemos ler do seguinte xeito:

[ NUM.INTERNA]  nome_dispositivo: nome-1ª-partición nome-2ª-partición nome-3ª-partición
Volver ao inicio da páxina

Creación dunha tarxeta de sistema con Raspbian

Descargamos a última imaxe da páxina oficial

http://www.raspberrypi.org/downloads
Data da imaxe aquí referenciada → 25 de setembro de 2013 - Data da última comprobación → 3 de outubro de 2013

No cartafol onde teñamos descargado o ficheiro zip:

Comprobamos que o ficheiro descargado non se estragou durante a súa viaxe cara a nosa casa

sha1sum 2013-09-25-wheezy-raspbian.zip

debe devolver exactamente esta cadea:

99e6b5e6b8cfbf66e34437a74022fcf9744ccb1d
Esta cadea de verificación SHA1 correspóndelle ao ficheiro 2013-09-25-wheezy-raspbian.zip
Para outra versión, comprobar a cadea SHA1 na páxina de descargas.
Agradeceremosvos que se detectades que hai unha nova versión e nós aínda non actualizamos esta entrada, enviédesnos un correo a xornadas(en)galpon(punto)org avisándonos do cambio.

Descomprimimos o zip

unzip 2013-09-25-wheezy-raspbian.zip (ou a data que corresponda)

Inserimos a tarxeta SD na rañura e executamos dmesg para coñecer o seu nome.

Procedemos a copiar a imaxe na tarxeta SD

dd if=/ruta/almacén/2013-09-25-wheezy-raspbian.img bs=4M of=/ruta/montaxe/tarxeta/sdX


... and keep calm

Saberemos que rematou cando nos informe de como foi a transferencia,

462+1 records in
462+1 records out
1939865600 bytes (1,9 GB) copiados, 88,9825 s, 21,8 MB/s

ao tempo que devolve o prompt do sistema.

Levamos a SD á RasPi, arrincamos (conectando o alimentador) e procedemos á configuración.

Primeira configuración con raspi-config

  • 1 Expand Filesystem
Facer que todo o espazo da tarxeta SD quede a dispor do SO
Antes Despois
  • 2 Change User Password
Cambiar o contrasinal predeterminado do usuario «pi»
  • 3 Enable Boot to Desktop
Escoller se queremos que inicie en modo gráfico ou en modo consola
  • 4 Internationalisatión Options
Estabelecer a configuración rexional (idioma, teclado, hora)
  • I1 Change locale
Cambiar o idioma predeterminado
  • I2 Change Timezone
Cambiar o fuso horario
  • I3 Change Keyboard Layout
Cambiar o mapa do teclado
  • 5 Enable camera
Activar a Pi para que traballe coa «Raspberry Pi Camera»
  • 6 Add to Rastrack
Engadir a Pi a un mapa Raspberry Pi en liña (Rastrack)
  • 7 Overclock
Configurar o sobremostraxe do reloxo
Aviso: Esta configuración só deberá facela quen saiba ben o que fai, xa que pode estragar o equipo
  • 8 Advanced Options
Configurar axustes avanzados
  • A1 Overscan
Necesitará axustar o «overscan» se aparecen unhas barras negras na súa pantalla
  • A2 Hostname
Estabelecer o nome visíbel da Pi na rede
  • A3 Memory Split
Cambiar a cantidade de memoria asignada á GPU (procesador gráfico)
  • A4 SSH
Activar/desactivar o acceso remoto por liña de ordes á Pi empregando SSH
  • A5 Update
Actualizar o propio «raspi-config» a última versión
  • 9 About raspi-config
Información sobre esta ferramenta de control

Creación dun novo usuario

Nun terminal executamos:

sudo adduser novo_usuario

e seguimos as instrucións en pantalla

Permisos de sudo ao novo usuario

Executamos:

sudo visudo

E na fin do ficheiro engadimos unha liña tal e como se presenta a seguir

# Look for this section
pi ALL=(ALL) NOPASSWD: ALL
novo_usuario ALL=(ALL) NOPASSWD: ALL

Replicar o cartafol do usuario «pi» para o novo usuario

Copiamos o cartafol completo

sudo cp -rp /home/pi/* /home/novo_usuario/

Feito isto veremos que non se ve unha icona e que no momento de executar Python Games primeiro fracasa e despois semella estar parvo e volve sempre á mesma xanela de selección de xogos. Para solucionalo editamos:

Para corrixir a icona de OCR Resources

sudo nano /home/novo_usuario/Desktop/ocr_resources.desktop
Buscamos a liña:
Icon= /home/pi/ocr_pi.png
E substituímos por:
Icon= /home/novo_usuario/ocr_pi.png

Para poder executar Python Games

sudo nano /home/novo_usuario/Desktop/python-games.desktop
Buscamos a liña:
Exec= /home/pi/python_games/launcher.sh
E substituímos por:
Exec= /home/novo_usuario/python_games/launcher.sh

Para que Python Games deixe de facer o parvo e execute os xogos

sudo nano /home/novo_usuario/python_games/launcher_sh
Na fin do ficheiro veremos
cd /home/pi/python_games
Substituímos por
cd /home/novo_usuario/python_games

Eliminar o usuario «pi»

Para facer estas operacións temos que ter accedido ao sistema como o novo usuario, xa que o usuario pi non pode eliminarse a si mesmo. Executamos:

sudo userdel pi
sudo groupdel pi
sudo visudo

Onde antes engadimos a liña do novo usuario, retiramos a de pi

# Look for this section
pi ALL=(ALL) NOPASSWD: ALL
novo_usuario ALL=(ALL) NOPASSWD: ALL
Volver ao inicio da páxina

Creación dunha tarxeta de sistema básico coa versión Moebius dun Debian mínimo

Descargamos a última imaxe da páxina de moebius

http://sourceforge.net/projects/moebiuslinux/files/raspberry.stable/

No cartafol onde teñamos descargado o ficheiro zip:

tar -zxvf moebius-*.tar.gz

Inserimos a tarxeta SD na rañura e executamos dmesg para coñecer o seu nome.

Procedemos a copiar a imaxe na tarxeta SD

dd if=/ruta/almacén/moebius-*.img bs=4M of=/ruta/montaxe/tarxeta/sdX


... and keep calm

Saberemos que rematou cando nos informe de como foi a transferencia,

217+1 records in
217+1 records out
912261120 bytes (912 MB) copiados, 34,943 s, 26,1 MB/s

ao tempo que devolve o prompt do sistema.

Levamos a SD á RasPi, arrincamos (conectando o alimentador) e procedemos á configuración.

Lembrar que moebius traballa baixo root segundo o sistema tradicional en Debian, polo que non se emprega sudo.

Datos de acceso predeterminados a moebius

  • usuario: root
  • contrasinal: raspi

Primeira configuración con moebius.config

moebius.config é o correspondente (que non o mesmo nen igual) ao raspi-config. Permitiranos facer os axustes precisos, aínda que dun xeito máis geek xa que normalmente abrirá os scripts/configuracións que queiramos modificar.

Xa que considero que quen vaia traballar cunha Debian básica (ou mínima) xa coñece un poco a administración de Debian, non vou adicar un espazo a este tipo de configuración.

Volver ao inicio da páxina

É o USB máis rápido ca unha tarxeta SD?

Para estas probas só axustei a expansión do sistema de ficheiros (senón non nos deixa xerar o ficheiro out).

Para facer a proba de velocidade de transferencia executamos:

dd if=/dev/zero of=/tmp/out bs=1M count=400

e devólvenos:

  • Tarxetas SD
  • SD(HC) Clase 4 de 4 GB
419430400 bytes (419 MB) copied, 69.152 s, 6.1 MB/s
  • SD(HC) Clase 10 de 8 GB
419430400 bytes (419 MB) copied, 18.375 s, 22.9 MB/s
  • USB
  • Trascend JetFlash 500 4 GB (TS4GJF500)
419430400 bytes (419 MB) copied, 49.775 s, 8.4 MB/s
  • Toshiba TransMemory de 16 GB
419430400 bytes (419 MB) copied, 31.803 s, 13.2 MB/s
  • Trascend JetFlash 600 4 GB (TS4GJF600)
419430400 bytes (419 MB) copied, 23.131 s, 18.1 MB/s

Como podemos comprobar, os USB normais melloran pouco o rendemento dunha tarxeta SD Clase 4, se falamos de USB de gama media (High Speed) a cousa cambia e mellora ata multiplicar x2 e x3 o rendemento.

Para mellorar o rendemento dunha tarxeta SD Clase 10 teriamos que falar de dispositivos USB de gama alta, e é probábel que teñamos xa que analizar amodo a relación entre o prezo, a capacidade e o rendemento.

Volver ao inicio da páxina

Transferindo o S.O. a un USB

Transferencia de todo o sistema

Preparamos un «pincho» USB:

Ou ben por terminal/consola con:

sudo mkfs.ext4 /dev/sdX1

Ou con palimpsest

Palimpsest é o aplicativo ao que se accede desde menú en AccesoriosUtilidade de disco

Creamos nel unha partición con formato ext4

Con palimpsest temos coidado de que estea desmarcada a opción

Obter a propiedade do sistema de ficheiros
Se deixamos marcada esa opción veremos que cando executamos algo como sudo comprobaremos que non nos deixa acceder a sudoers

Levamos o USB e a tarxeta SD cara un computador estándar

Abrimos un terminal e comezamos o proceso:

  • Inserimos o USB
  • Executamos dmesg e obtemos o nome (parámetro X nas ordes seguintes) do dispositivo
  • Inserimos a tarxeta SD
  • Executamos dmesg e obtemos o nome (parámetro Y nas ordes seguintes) do dispositivo
  • Creamos os puntos de montaxe e montamos (como administradores) coas ordes seguintes:
sudo mkdir /media/usb_root; sudo mount /dev/sdX1 /media/usb_root
sudo mkdir /media/sd_root; sudo mount /dev/sdY2 /media/sd_root
  • Copiamos o contido da tarxeta cara o dispositivo USB
sudo cp -a /media/sd_root/* /media/usb_root/


... and keep calm

  • Rematada a copia, desmontamos ambos dispositivos
sudo umount /media/usb_root /media/sd_root
  • Extraemos ambos dispositivos e volvemos á Rasberry Pi

Xa na Raspberry Pi iniciamos o proceso de configuración

  • Inserímos a tarxeta SD e arrincamos a RasPi
  • Unha vez nos teñamos autenticado, inserimos o USB, e executamos dmesg
  • Anotamos o nome do dispositivo que aparece na penúltima liña
Nota: adoitará ser sda1
  • Executamos a seguinte orde:
sudo nano /boot/cmdline.txt
veremos:
dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait

deberemos cambiar root=/dev/mmcblk0p2 por root=/dev/nome_segundo_dmesg, tal que root=/dev/sda1 e deixalo así
dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/sda1 rootfstype=ext4 elevator=deadline rootwait

A seguir reiniciamos

sudo reboot

Comprobamos...

ls -al /dev/root

Se foi todo correctamente deberá indicarnos algo como:

lrwxrwxrwx 1 root root 4 Xuñ 4 17:17 /dev/root -> sda1

Unha vez confirmado que todo está correcto, procedemos a eliminar os puntos de montaxe que construímos ao principio (no computador estándar)

sudo rm -rf /tmp/usb_root
sudo rm -rf /tmp/sd_root

É necesario editar o ficheiro fstab ?

A verdade é que non (agás no caso que se indica a seguir), mais se queremos un pouco de limpeza poderemos editalo e asignar o nome do dispositivo «/» a «/dev/root»

sudo nano /etc/fstab

e cambiamos a liña:

/dev/mmcblk0p2 / ext4 defaults,noatime 0 0

por:

/dev/root / ext4 defaults,noatime 0 0

Movendo o /home a outro dispositivo/partición

Formatamos como ext4 o dispositivo/partición

sudo mkfs.ext4 /dev/sdX1

Creamos un punto de montaxe para o dispositivo/partición

sudo mkdir /media/tmp

Montamos o dispositivo

sudo mount -t ext4 /dev/sdX1 /media/tmp

Desprazámonos ao cartafol en root

cd /home

Copiamos todos os datos de xeito recursivo

(esta opción é a que funcionou mellor no meu caso para obter todos os ficheiros, incluídos .bashrc e .vimrc)

sudo cp -rp ./ /media/tmp

Desmontamos o dispositivo

sudo umount /media/tmp

Desfacémonos do punto de montaxe tmp creado anteriormente

sudo rm -rf /media/tmp

Cambiámoslle o nome (como medida de precaución) ao cartafol /home

sudo mv /home /old_home

Creamos un novo cartafol /home

sudo mkdir /home

Editamos /etc/fstab

E engadímoslle unha liña como a seguinte

/dev/sdX1 /home ext4 defaults,noatime,nodiratime 0 0

Montamos o punto engadido no /etc/fstab

sudo mount /home

Despois de reiniciar e comprobar que todo foi correcto, pdemos eliminar o old_home que creamos por precaución.

sudo rm -fr /old_home

Empregando un «pincho» USB Trascend JetFlash 600 4 GB (TS4GJF600) como o indicado nas probas de transferencia, con

dd if=/dev/zero of=~/out bs=1M count=400

obteño un rendemento de:

419430400 bytes (419 MB) copied, 21.3518 s, 19.6 MB/s

Redefinindo o «Espazo de intercambio» ou «swap»

O primeiro e comprobar o que temos, para iso executamos:

free -h

devolverá algo moi semellante a isto:

pi@raspberrypi ~ $ free -h
             total       used       free     shared    buffers     cached
Mem:          485M        50M       435M         0B       5.0M        24M
-/+ buffers/cache:        20M       465M
Swap:          99M         0B        99M

Podemos ver que apenas temos 100 MB de «swap» e quixeramos ter (p.ex.) 512 MB

Aumentando o tamaño do «swapfile»

sudo nano /etc/dphys-swapfile

E cambiamos o tamaño (en MB)

CONF_SWAPSIZE=512

Para dispor de 1 GB de swap sería:

CONF_SWAPSIZE=1024

Aplicamos esta configuración

sudo dphys-swapfile setup

E activamos o novo swap

sudo dphys-swapfile swapon

Engadindo unha partición adicada a «swap»

Formatamos o USB en dúas particións, tal que así:

  • unha de 512 (ou 1024) MB co formato de Espazo de intercambio (swap)
  • outra co resto do espacio con formato ext4
Recomendo que a primeira sdX1 sexa a grande, a de root e que a segunda sdX2 sexa a de «swap», así non teremos que cambiar nada na configuración de arrinque feita anteriormente.

comprobamos o estado da swap con swapon -s e dinos o seguinte:

Filename                         Type               Size          Used          Priority
/dev/sda2                        partition          976892        0             -1
/var/swap                        file               102396        0             -0

Desactivar o swapfile

dphys-swapfile swapoff

repetimos a comprobación con swapon -s e debe dicirnos algo así:

Filename                         Type               Size          Used          Priority
/dev/sda2                        partition          976892        0             -1

Agora poderemos proceder a eliminar o swapfile

sudo rm /var/swap

Comprobando o resultado, executamos de novo

free -h

debe devolvernos algo moi semellante a isto:

pi@raspberrypi ~ $ free -h
             total       used       free     shared    buffers     cached
Mem:          485M        50M       435M         0B       5.0M        24M
-/+ buffers/cache:        20M       465M
Swap:         953M         0B       953M

Neste caso é para unha partición sda2 de 1GB como «swap»

Volver ao inicio da páxina

Reciclando unha vella tarxeta SD de 1 GB

O proceso anterior que segue a secuencia Ficheiro_imaxe → Tarxeta SD → Dispositivo USB, pode alterarse e que pase a ser:

Ficheiro_imaxe → Dispositivo USB → Tarxeta SD

Para que empregar este caso?

Sinxelo, temos na casa algunha daquelas tarxetas SD de 1 GB (ou 2) empregados polas cámaras fotográficas de hai uns anos e agora xa non teñen apenas uso e son lentas de máis.

Este tipo de tarxetas son perfectamente válidas para traballar co «arrincador» (boot) de Raspbian, o problema é que nunha de 1 GB non podemos xerar o S.O. a partires da imaxe, xa que necesita non menos de 1,9 GB.

Material necesario

  • Unha tarxeta de 1 GB (incluso se alguén ten unha máis pequena, tamén vale xa que só se empregan 54 MB)
  • Un «pincho» USB de 4 GB

Creamos o S.O. a partires do ficheiro imaxe

Ao igual que para facer a tarxeta SD...

dd if=/ruta/almacen/2013-05-25-wheezy-raspbian..img bs=4M of=/ruta/montaxe/USB/sdX


... and keep calm

Creamos o «arrincador» a partires do USB

Formatamos a tarxeta SD como FAT32

sudo mkfs.vfat /dev/sdX1

Cando remate de formatar, extraemos a tarxeta

Inserimos o USB

Inserimos (de novo) a tarxeta

Agora transferimos o «arrincador» cara a tarxeta

  • Se estamos en modo gráfico e os dispositivos xa foron montados polo S.O., só teremos que «seleccionar» todo o contido da partición 1 do USB (a FAT32) e «arrastrar» e «copiar» na partición da tarxeta SD.
  • Se estamos en consola/terminal:
    • cd /ruta/montaxe/partición/FAT32/do/USB/
    • cp -rp ./ /dev/sdX1
Volver ao inicio da páxina

As miñas consideracións

Configuración optima (IMHO)

Sistema multiusuario

Para esta configuración empregamos:

  • Unha tarxeta SDHC de 8 GB Clase 10
    • Coa seguinte configuración:
      • Partición FAT de arrinque en /dev/mmcblk0p1
      • Partición ext4 para / (só /) en /dev/mmcblk0p2
        • Nesta partición ampliouse o swapfile a 512 MB
        • A «Memory Split» configurouuse a 32 (MB)
  • Un dispositivo USB para cada usuario de alta velocidade e 16 GB (nominais)
    Nota: Podería empregarse tamén un disco ríxido externo por USB.
  • Se imos ter moitos usuarios aconsello dispor dun dispositivo de memoria USB de 1 ou 2 GB para xerar a imaxe.
    Nota: Abonda con 1 GB e, aínda que sexa dos de mala calidade ou sexa lentos sempre será moito máis axil o proceso, e ocupará moito menos espazo no noso computador, que se traballamos directamente cun dispositivo de moita capacidade.
    • Coa seguinte configuración:
      • Partición ext4 para /home en /dev/sda1

Para preparar os dispositivos USB dos usuarios temos dúas formas:

  • Se son poucos:
  • Se son moitos e iguais:
    • Facer unha imaxe do USB-/home xerado
sudo dd if=/dev/sdX of=/ruta/onde/gardalo/imaxe.img bs=4M
e clonalo con:
sudo dd if=/ruta/imaxe.img of=/dev/sdX bs=4M
Aviso:
Se queremos empregar dispositivos de diferente tamaño (OLLO: non todos os dispositivos coa mesma capacidade nominal teñen o mesmo tamaño real) deberemos empregar o de menor tamaño real para xerar o patrón e despois nos outros expandir a partición.
Traballando con imaxes comprimidas

Se ben recomendo que empreguemos este método habitualmente, isto está especialmente indicado para o caso de traballarmos sobre un dispositivo USB de 16 Gb (nominais) e queremos gardar a imaxe.img para cando alguén estrague o seu, ou para cando queiramos engadir máis usuarios. O ficheiro resultante ocupará 16 GB !!! e isto pode ser demasiado grande para manexalo. Neste caso pode interesarnos comprimir esa imaxe ao tempo que a xeramos e despois xerar os distintos «pinchos» a partires desa imaxe comprimida.

  • Xerar unha imaxe comprimida:
sudo dd if=/dev/sdX | gzip -c >/ruta/onde/gardalo/imaxe.img.gz
  • Envorcar unha imaxe comprimida directamente (sen descomprimir) nun dispositivo USB:
sudo gunzip -c /ruta/imaxe.img.gz | dd of=/dev/sdX
Redimensionado do sistema de ficheiros nunha memoria USB

Todas as probas que fixen redimensionando con GParted funcionaron correctamente.

Se queremos facelo co script raspi-config deberemos ter en conta que este está concebido só para traballar sobre tarxetas SD e que se tentamos facelo con el devolveranos unha mensaxe

/dev/root/ is not an SD card. Don't know to expand

Así que teremos que editar ese script e facerlle uns axustes, para elo editamos:

sudo nano /usr/bin/raspi-config

buscamos (con Ctrl+W) mmcblk

apareceranos un primeiro:

PART_NUM=${ROOT_PART#mmcblk0p}

que deixaremos

PART_NUM=${ROOT_PART#sda}

un segundo

LAST_START=$(parted /dev/mmcblk0 -ms unit s p ... ...

que deixaremos

LAST_START=$(parted /dev/sda -ms unit s p ... ...

un terceiro

PART_START=$(parted /dev/mmcblk0 -ms unit s p ... ...

que deixaremos

PART_START=$(parted /dev/sda -ms unit s p ... ...

e un cuarto

fdisk /dev/mmcblk0 <<EOF

que deixaremos

fdisk /dev/sda <<EOF

gardamos, saímos e executamos:

sudo raspi-config

Base para NAS-OMV

Para esta configuración empregamos:

  • Unha tarxeta SDHC de 8 GB Clase 10
    • Coa seguinte configuración:
      • Partición FAT de arrinque en /dev/mmcblk0p1
      • Partición ext4 para / (e /home) en /dev/mmcblk0p2
        • Nesta partición ampliouse o swapfile a 1024 MB
        • A «Memory Split» configurouse a 8 (MB)
  • Un disco ríxido externo de 500 GB (nominais)
    • Este será o disco de almacenamento do OMV
Volver ao inicio da páxina

Instalación dun NAS con OpenMediaVault

Antes de nada, explicar (moi por riba) que é un NAS. Como lemos na Wikipedia:

NAS (do inglés Network Attached Storage) é o nome dado a unha tecnoloxía de almacenamento adicada a compartir a capacidade de almacenamento dun computador (servidor) con computadoras persoais ou servidores clientes a través dunha rede (normalmente TCP/IP), facendo uso dun Sistema Operativo optimizado para dar acceso cos protocolos CIFS, NFS, FTP ou TFTP.

Porque openmediavault e non outro?

Hai varias razóns para que opte por OpenMediaVault fronte a outros sistemas como FreeNAS, NAS4free ou openfiler:

  • A primeira e que son debianita, non porque considere que é mellor, simplemente é o que coñezo e polo tanto do que podo/sei falar un chisco sen meter moito a zoca.
  • A segunda queda moi ben explicada en Alternativas para montar un NAS, OpenMediaVault vs FreeNAS así que non vou redundar.
  • A terceira, é o único sistema NAS que está traducido ao galego, aínda que a versión actual para armhf está incompleta.
  • e xa para rematar... que eu saiba non hai ningún port dos outros NAS a armhf.

Configuración previa de paquetes e instalación

Partiremos dunha instalación de Raspbian ou de Moebius tal e como indicamos no punto anterior.

Estabeleceremos a orixe dos paquetes

Antes de nada, imos «elevar» os nosos privilexios:

sudo -i
Lembrade que en moebius xa traballades a nivel de root e que non se precisa de sudo.

Para engadir as orixes dos paquetes para OMV e armhf executamos:

echo 'deb http://packages.omv-plugins.org fedaykin main' >/etc/apt/sources.list.d/omv-plugins-org-fedaykin.list
echo 'deb http://packages.omv-plugins.org fedaykin-armhf main' >/etc/apt/sources.list.d/omv-plugins-org-fedaykin-armhf.list

Descargamos e aplicamos as chaves dos servidores:

wget -O - http://packages.omv-plugins.org/apt/99omv-plugins-org > /etc/apt/preferences.d/99omv-plugins-org
wget -O - http://packages.omv-plugins.org/omv-plugins.pub|apt-key add -

Actualizamos o Sistema operativo

apt-get update && apt-get upgrade

Procedemos a instalación:

apt-get install openmediavault

Configuracións que nos solicita:

correo/postfix
Non imos entrar a configuración do correo, así que escollemos a opción no configure.
arrays
none e a seguir <No> SUID
proftpd
Se imos facer un uso intensivo, configurar como standalone/autonomo
Se imos facer un uso ocasional, configurar como desde/from inetd


... and keep calm

Con toda probabiliade pruduciráse un erro ao instalar o paquete tftpd-hpa, para arranxalo teremos que editar o seu ficheiro de configuración:

nano /etc/default/tftpd-hpa

Modificar a cadea TFTP_OPTIONS e deixala así:

TFTP_OPTIONS="--secure --ipv4"

Para solucionar a instalación do paquete tftpd-hpa e limpar o cirio:

apt-get install openmediavault

ou

apt-get install -f
Volver ao inicio da páxina

Importante

Tras a instalación do OpenMediaVault o servizo SSH estará desactivado, teremos que asegurarnos de volver a activalo con raspi-config

O administrador de openmediavault é: admin

O contrasinal predeterminado do administrador é: openmediavault

Para cambiar o contrasinal de administrador teremos que executar:

omv-firstaid
e seguir as instrucións

Se imos empregar NFS (OLLO: non confundir co formato tóxico ntfs), executaremos a orde seguinte para iniciar o servizo no arrinque:

update-rc.d rpcbind defaults
e reiniciamos a RasPi
sudo reboot

A ter en conta

A actual versión dispoñíbel de OMV para armhf é a 0.4 Fedaykin (Fedaín) que foi feita para Debian Squeeze (v.6) e agora Raspbian xa é Wheezy (v.7), a versión do OMV para Whezzy será a 0.5 polo que teremos algunhas carencias.

Ter en conta tamén que esta versión 0.4 do OMV non está traducida completamente ao galego, como si o está a 0.5.

A primeira e máis salientábel é un fallo de, ou vencellado con, udevadm que non nos permite identificar discos (físicos) novos desde a interface de OMV

Recoñece discos-1.png

Polo que teremos que non empregar esa opción a risco de quebra de todo o sistema!

Recoñece discos-2.png

Montaremos o dispositivo no inicio (fstab) e despois seguiremos esta secuencia, conforme ás imaxes:

Recoñece discos-3.png

Para montar as unidades/particións (se non estiveran montadas)

Montando-1.png           Montando-2.png

E. a seguir, para determinar a unidade/partición e crear o(s) cartafo(es) compartido(s) nela

Recoñece discos-4.png

E xa a partires de aí poderemos +Engadir os cartafoles no dispositivo que queiramos

Engadindo-cartafol-1.png           Engadindo-cartafol-2.png

Outras cousas que poderiamos instalar

openmediavault-omvpluginsorg
openmediavault-dnsmasq
openmediavault-mysql

Aquí deberemos ter en conta:

Do you really need scponly for Wheezy? Considering I read this http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=650590. I built OMV on Wheezy and just removed scponly from dependencies a few weeks ago, seems to work

e a advertencia que nos fai o desenvolvedor do OMV

For the moment the scponly package will be used. Please note, there is no official support for Wheezy from OMV. The switch to Wheezy will be started after i have finished my work on version 0.5.

Visto aquí

Volver ao inicio da páxina

Preparando as conexións de rede

Ver o estado dos dispositivos de rede na RasPi

ip a

Para erguer o dispositivo que queiramos, se este esta DOWN

ip link set dev nomedainterface up
os nomes das interfaces poden ser eth0 ou wlan0

Asegurar que a RasPi conectase sempre ao mesmo IP

nano /etc/network/interfaces

e deixalo tal que así

auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
    address IP que queremos que teña sempre (p.ex. 192.168.0.254)
    netmask 255.255.255.0
    gateway 192.168.X.1 -- ollo X adoita ser 0 ou 1
    broadcast 192.168.X.255 -- X == que no caso anterior

ou para a WiFi:

allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet static
    address IP que queremos que teña sempre (p.ex. 192.168.0.254)
    netmask 255.255.255.0
    gateway 192.168.X.1 -- ollo X adoita ser 0 ou 1
    broadcast 192.168.X.255 -- X == que no caso anterior

Reiniciar a rede

A orde clásica /etc/init.d/networking restart devolve unha mensaxe de erro

/etc/init.d/networking restart
[....] Running /etc/init.d/networking restart is deprecated because it may not re-enable some interfaces ... (warning).
[ ok ] Reconfiguring network interfaces...RTNELINK answers: No such process

Polo que se non ergue correctamente a interface teremos que reiniciar.

Configurar wpa_supplicant para que a wifi se conecte automaticamente ao noso AP

nano /etc/wpa_supplicant/wpa_supplicant.conf

e engadimos o seguinte:

network={
	ssid="NomeDaRede"
        scan_ssid=1
        proto=WPA
        key_mgmt=WPA-PSK
        psk="contrasinal"
}

Se no equipo cliente temos instalado nmap, poderemos comprobar que IP están conectadas coa orde

nmap -sP 192.168.X.1/24 | grep -v down

devolveranos algo como isto:

Starting Nmap 6.00 ( http://nmap.org ) at 2013-05-28 16:15 CEST
Nmap scan report for 192.168.1.1
Host is up (0.0020s latency).
Nmap scan report for 192.168.1.100
Host is up (0.00088s latency).
Nmap scan report for 192.168.1.101
Host is up (0.0038s latency).
Nmap scan report for 192.168.1.240
Host is up (0.0041s latency).
Nmap scan report for 192.168.1.250
Host is up (0.012s latency).
Nmap done: 256 IP addresses (5 hosts up) scanned in 2.73 seconds
Volver ao inicio da páxina

Asegurando a rede WiFi con wpa_passphrase

Observemos que o contrasinal quedou en claro (texto simple) co que é visíbel por calquera cun pouco de habilidade e saiba o que busca, así que imos complicarlle un chisco as cousas.

Ímos empregar un contrasinal cifrado, para elo usamos unha orde do paquete wpa-supplicant que segue esta estrutura:

wpa_passphrase nosoSSID nosoCONTRASINAL

tal que

wpa_passphrase REDE_AULA FomosDeViaxeDeFinDeEstudos

isto devolvenos:

network={
	ssid="REDE_AULA"
	#psk="FomosDeViaxeDeFinDeEstudos"
	psk=c216726bfe9699257fca2bbe6767e098d1cee01eb3366b1c5050d47d2bc1dd0d
}

Co que deberemos substituír a cadea:

	psk="contrasinal"

pola que nos devolveu wpa_passphrase (no exemplo)

	psk=c216726bfe9699257fca2bbe6767e098d1cee01eb3366b1c5050d47d2bc1dd0d
Volver ao inicio da páxina

Acceso desde un equipo remoto

Agora abrimos nun equipo cliente un navegador e na barra de URL poñemos o IP que asignamos

p.ex. 192.168.1.250

Unha vez conecte coa páxina de administración do OpenMediaVault solicitanos as credenciais de administrador

  • Username: admin
  • Password: openmediavault

Nota: este contrasinal é o predeterminado e cumpre, como xa dixemos antes, cambialo coa utilidade omv-firstaid

Volver ao inicio da páxina

Raspberry Pi enviando chíos no seu inicio

En moitas situacións atopamonos con que non temos capacidade administradores da rede, polo que non podemos asegurar que a Raspberry Pi se conecte sempre co mesmo IP. Neste caso, tendo en conta que non disporemos dun monitor no que ver con que IP é accesíbel, e se engadimos que con nmap obtemos un listado moi grande de equipos conectados, temos que buscar unha solución para ter esa información e saber a que IP teremonos que conectar.

Para solucionar isto, alguén (John Voysey) traballou nun «truco» que pode sernos moi útil. Facer que a Raspberry Pi nos envíe un chío ao Twitter cos datos da conexión.

Exemplo de mensaxe directa

Tweeting Raspberry Pi Info at Startup

(Cun pouco de tempo, prometo traducir esta páxina)

Configuración do OMV

Sobre isto temos moito material publicado na Internet, só unha pequena escolla de páxinas en castelán:

Nota: Este «Tutorial» é o que considero máis completo, xa que ademais explícanos como configurar ddclient

E, como non, o propio

Consideracións finais

Unha vez feita a instalación do OpenMediaVault podemos retirarlle o teclado/rato e o monitor.

A partires dese momento, para calquera configuración que queiramos facer no S.O. empregaremos SSH

ssh -l pi 192.168.X.X

E se lle instalamos o «ownClod» ao «OMV» ?

Instalar Owncloud en OpenMediaVault

Volver ao inicio da páxina

E todo o que hai instalado de Raspbian e non vai seren empregdo nunca?

Aqui tratamos de desinstalar todo o que corresponde a interface gráfica e as ferramentas que só traballan nela.

Como administradores executamos:

apt-get purge gpicview galculator hicolor-icon-theme alsa-base alsa-utils lxrandr lxsession lxtask lxterminal lxpanel lxappearance desktop-base dillo penguinspuzzle gnome-icon-theme gnome-themes-standard gtk2-engines smartsim scratch leafpad ed squeak-plugins-scratch desktop-file-utils lxde-common lxde-icon-theme omxplayer x11-common midori lxde gcc-4.4-base:armhf gcc-4.5-base:armhf gcc-4.6-base:armhf pcmanfm lxpolkit x11-common xdg-utils netsurf-gtk netsurf-common dbus-x11 lxsession-edit lxshortcut xarchiver menu-xdg

Eliminar os xogos Python

rm -rf ~/python_games

Prescindir da WiFi

apt-get purge wireless-tools wpasupplicant firmware-atheros firmware-brcm80211 firmware-libertas firmware-ralink firmware-realtek

Cousas que é probábel que necesitemos instalar

apt-get install lynx-cur
ou
apt-get install links
ou
apt-get install links2
segundo as nosas preferencias

Cando rematemos, facemos unha limpeza

apt-get autoremove && apt-get clean
Volver ao inicio da páxina

Traballando con múltiples discos e UUID

Un dos problemas máis habituais é iniciar o sistema con varios dispositivos USB conectados

Nota: Supoñamos que temos un USB coa raíz do sistema e outro co /home
ou
Unha memoria USB co /home do usuario é un disco ríxido (HD) externo só para gardar datos.

xa que nunca saberemos cal vai ser detectado como sda ou cal como sdb.

Para solucionar isto, teremos que asignar o dispositivo polo seu Identificador Único Universal ou UUID e non polo seu nome no sistema (/dev/dispositivo)

Necesitamos coñecer cal é o UUID dos dispositivos, para elo temos dúas formas:

Executamos:

sudo blkid

Devólvenos algo como isto

/dev/sda1: UUID="93df7ee3-8891-440c-b4d3-8809996cc098" TYPE="ext4"
/dev/sda5: UUID="f4bedaf1-abbd-413b-8293-8f65ce110a21" TYPE="swap"
/dev/sda6: UUID="0234dba1-382c-4351-8e1f-cb794cf86cbf" TYPE="ext3"
/dev/sda7: LABEL="Almacen" UUID="b4e1b9d5-ebb6-4bd4-aa97-a37a02716afd" TYPE="ext3"
/dev/sda8: LABEL="Almacen_2" UUID="818ce4f8-53fa-4921-a2bb-ab1c35320772" TYPE="ext3"
/dev/sdb: UUID="49ED-21FF" TYPE="vfat"

Ou:

ls -laF /dev/disk/by-uuid/

Devólvenos algo como isto

total 0
drwxr-xr-x 2 root root 160 2013-06-07 09:31 ./
drwxr-xr-x 6 root root 120 2013-06-07 08:57 ../
lrwxrwxrwx 1 root root  10 2013-06-07 08:57 0234dba1-382c-4351-8e1f-cb794cf86cbf -> ../../sda6
lrwxrwxrwx 1 root root   9 2013-06-07 09:31 49ED-21FF -> ../../sdb
lrwxrwxrwx 1 root root  10 2013-06-07 08:57 818ce4f8-53fa-4921-a2bb-ab1c35320772 -> ../../sda8
lrwxrwxrwx 1 root root  10 2013-06-07 08:57 93df7ee3-8891-440c-b4d3-8809996cc098 -> ../../sda1
lrwxrwxrwx 1 root root  10 2013-06-07 08:57 b4e1b9d5-ebb6-4bd4-aa97-a37a02716afd -> ../../sda7
lrwxrwxrwx 1 root root  10 2013-06-07 08:57 f4bedaf1-abbd-413b-8293-8f65ce110a21 -> ../../sda5

Editamos o ficheiro fstab e engadimos a(s) liña(s) correspondente(s) conforme o esquema:

UUID={O-SEU-UID}     {/ruta/punto/montaxe}     {tipo-sistema-ficheiros}     {parámetros de montaxe}      0      1

nano /etc/fstab

UUID=41c22818-fbad-4da6-8196-c816df0b7aa8   /      ext4      defaults,noatime      0      1
UUID=49ED-21FF   /home      ext4      defaults,noatime,nodiratime      0      0

para /          →  defaults,noatime      0      1

para /home  →  defaults,noatime,nodiratime      0      0

Montamos o enderezo UUID que vimos de editar:

sudo mount -a
Volver ao inicio da páxina

Dispositivo externo de almacenamento

Creamos o punto de montaxe

sudo mkdir /ruta/NOME_DISPOSITIVO

Como norma a ruta debería seren /media, mais poderiamos montalo en /home ou en ~/ (que viría ser o cartafol persoal /home/usuario), aínda que recomendamos que se empregue a norma.

Editamos o fstab para engadilo nas montaxes de inicio

sudo nano /etc/fstab

Engadimos unha liña de montaxe segundo o esquema:

/dev/sda1   /ruta/NOME_DISPOSITIVO      FORMATO      defaults      0      0

Sería preferíbel usar o UUID para identiificalo, tal e como indicamos no punto anterior

UUID=49ED-21FF   /ruta/NOME_DISPOSITIVO      FORMATO      defaults      0      0

No noso caso chameille Almacen_Pi, monteino en /media e formateino como ext4

UUID=49ED-21FF   /media/Almacen_Pi      ext4      defaults      0      0

Para rematar, montamos o dispositivo

sudo mount -a
Volver ao inicio da páxina

Servidor FTP

Instalación

Instalamos o servidor FTP na RasPi

sudo apt-get install vsftpd

Editamos o ficheiro de configuración para permitir que os usuarios teñan permiso de escritura

sudo nano /etc/vsftpd.conf
local_enable=YES
write_enable=YES

Reiniciamos o servizo

sudo service vsftpd restart

Accedemos desde un equipo remoto

  • Empregando un cliente como FileZilla
  • Empregando o navegador
    • ftp://usuario:contrasinal@dominio_no-IP
    • ftp://usuario:contrasinal@IP
    • ftp://usuario@dominio_no-IP
    • ftp://usuario@IP
Nos dous últimos caso pediranos o contrasinal tras cargar o servidor FTP
1.  Para enviar algo a este espazo, hai 2 maneiras:
  • Arrastrando o ficheiro á xanela do navegador onde esta aberta a sesión FTP; aparecerá unha caixa coa mensaxe «Quere enviar os ficheiros arrastrados ao servidor FTP?", aceptamos para que os envíe.
  • A segunda, é ir a Ficheiro → Cargar ficheiro, e na xanela «Enviar ficheiro» escoller o ficheiro a enviar e premer en Aceptar.
2.  Para descargar algo, os pasos son os seguintes: Seleccióneo co botón dereito, e no despregábel escolla a opción «Gardar a ligazón como...»; apareceranos a xanela de «Gardar como...», para seleccionar o destino onde gardar o ficheiro a descargar.

Engadir usuarios

Creamos un novo usuario

sudo useradd nome_usuario

Creamos o cartafol do novo usuario

sudo mkdir /home/nome_usuario

Dámoslle permisos (facémolo propietario) sobre o seu cartafol

sudo chown nome_usuario:users /home/nome_usuario

Creámoslle un contrasinal

sudo passwd nome_usuario
Volver ao inicio da páxina

Cliente Torrent con almacenamento nun dispositivo externo

Instalamos o servizo Torrent

sudo apt-get -y install transmission-daemon

Detemos o servizo para proceder a configuralo

sudo service transmission-daemon stop

Creamos as rutas para o almacenamento externo Tal e como definimos anteriormente

sudo mkdir /media/NOME_DISPOSITIVO/Torrent
sudo mkdir /media/NOME_DISPOSITIVO/Torrent/finais
sudo mkdir /media/NOME_DISPOSITIVO/Torrent/tmp

Xeramos os permisos de escritura e lectura sobre os cartafoles creados

sudo chmod 777 /media/NOME_DISPOSITIVO/Torrent/finais
sudo chmod 777 /media/NOME_DISPOSITIVO/Torrent/tmp

Configuramos o servizo

sudo nano /var/lib/transmission-daemon/info/settings.json

e axustamos conforme sigue

"download-dir": "/media/NOME_DISPOSITIVO/Torrent/finais"
"incomplete-dir-enabled": true 
"incomplete-dir": "/media/NOME_DISPOSITIVO/Torrent/tmp"
"rpc-enabled": true
"rpc-bind-addres": "127.0.0.1" ← Cambiar a "0.0.0.0" ou "*.*.*.*" só se queremos permitir que se conecte calquera.
"rpc-username": "nome-usuario"
"rpc-password": "contrasinal"
"rpc-whitelist-enabled": false,

Se, neste paso anterior, non cambiamos o usuario e o contrasinal, estes serán:

Usuario predeterminado: transmission
Contrasinal predeterminado: transsmission

Asignamos o servizo a root

sudo nano /etc/init.d/transmission-daemon

e cambiamos o nome do usuario a root

USER=root

Abrir, ou asegurarse de que está aberto, o porto 9091 no encamiñador (router)

Abrimos un navegador e escribimos, na barra de navegación, o enderezo IP e o porto: 192.168.X.X:9091

Volver ao inicio da páxina

Sincronizar Transmission con ownClod e/ou OMV

A primeira intención sería ordenar as descargas (finais) do Transmissión xa directamente sobre un cartafol Torrent no ownClou/OMV. Mais esta opción presenta o problema de que habería que darlle todos os permisos e ownCloud detecta que a carpeta é accesíbel por outros usuarios e devolve unha mensaxe de erro.

Para solucionar este problema ocorréuseme tentar unha sincronización, mais esta debe facela root (ou sexa baixo su[do])

Imos por partes. O primeiro é crear no ownCloud/OMV un cartafol Torrent ao que moveremos (?) os ficheiros que descarga Transmision. Isto presenta un problema de conciencia xa que ao facelo así retiramos a nosa colaboración/achega a rede P2P, converténdonos en samesugas da rede, polo que neste caso temos dúas opcións:

  • Comportarnos egoistamente, e dicir, como samesugas
  • Comportarnos como se agarda dunha rede P2P e compartir

Opción samesuga

Xerar un cron que periodicamente traspase (como root) os ficheiros do cartafol de descargas finais do Transmission cara o cartafol Torrents do ownCloud/OMV (sudo mv .../finais/* .../Torrent/).

Opción compartir

O primeiro que se nos ven á cabeza é copiar as descargas (finais) do Transmissión xa directamente sobre o cartafol Torrent en ownClou/OMV. Mais esta opción presenta outro problema, estamos a duplicar o espazo ocupado, así que ocorréuseme outra posibilidade, que root estabeleza unha ligazón simbólica entre o cartafol Torrent no ouwCloud/OMV e o cartafol finais do Transmission. mais, OLLO, esta ligazón simbólica presenta tamén o problema dos permisos, así que hai que facer unha ligazón simbólica por cada ficheiro.

Para elo precisamos dúas cousas:

  • Un script que atope os novos ficheiros no cartafol de descargas finais do Transmission e xere a súa correspondente ligazón simbólica no cartafol Torrent en ownClou/OMV.
  • Un item en cron que execute como root este script.


Volver ao inicio da páxina

Servizo No-IP

Cando non temos control sobre o IP que obtén a nosa maquiniña e queremos poder acceder desde fora da nosa área local, é preciso dispor dun DNS dinámico que nos permita apuntar en calquera momento ao enderezo IP da conexión a internet obtida pola Raspberry Pi. Isto implica dispor dun «cliente» que actualice periodicamente este IP no DNS Dinámico.

Neste momento a única opción de balde é no-ip (No-IP Free) que permítenos dispor dunha conexión para ata 3 nomes de máquina (o que viría a ser 3 enderezos distintos) mais con só un nome de dominio (neste momento é .noip.biz). Este servizo esixe que confirmemos (ou nos conectemos desde fora da área local) cada 30 días a subscrición, ou esta morrerá. Recomendámosvos que contratedes un servizo Enhanded Dynamic DNS por tan só (neste momento) 14.95$ (apenas 11,21 €) por ano, este servizo permite ata 25 nomes de máquina e 80 nomes de dominio distintos e non é preciso confirmar a conta (só o pago anual) .

Non temos ningún interese de ningún tipo en que empreguedes no-ip, hai outros servizos como DynDNS, mais non teñen un servizo de balde e a subscrición mínima anual é xustamente do dobre no prezo, concretamente 29,95$/ano.

Contratar o servizo No-IP

É tan sinxelo como entrar na páxina noip.com e seguir os pasos de rexistro.

Instalar o cliente No-IP na Raspberry PI

Desde a consola/terminal:

Imos traballar no cartafol temporal tmp

cd /tmp

Descargamos o ficheiro fonte

wget http://www.no-ip.com/client/linux/noip-duc-linux.tar.gz

Descomprimímolo

tar -zxvf noip-duc-linux.tar.gz

Entramos no cartafol recen xerado

cd noip-2.1.9-1/
OLLO: esta numeración pode cambiar co tempo.

E compilamos

make
sudo make install

Durante la instalación preguntaranos:

o noso nome de usuario
o correo co que nos rexistramos na páxina de no-ip
o contrasinal
o que empregamos na páxina de no-ip

Se todo foi correctamente, informaranos de que detectou o dominio creado (no rexistro) e se queremos usar ese, dicímoslle que si.

Preguntaranos polo período de actualización, o predeterminado é 30 aínda que podemos cambialo.

Preguntaranos tamén se queremos que execute algunha outra acción despois dunha actualización, dirémoslle que non.

Para iniciar noip2 de forma manual

sudo /usr/local/bin/noip2

Teremos que facer un script para que noip2 se inicie ao arrincar a nosa Raspberry Pi, para elo creamos o ficheiro noip2 na ruta /etc/init.d/

sudo nano /etc/init.d/noip2

Co seguinte contido

#! /bin/bash

### BEGIN INIT INFO
# Provides:          mynoip
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Description: Inicio do servizo no-IP no momento do arrinque.
### END INIT INFO

/usr/local/bin/noip2

Gardamos o ficheiro

Dámoslle permisos de execución

sudo chmod +x /etc/init.d/noip2

Engadímolo aos procesos no inicio

sudo update-rc.d noip2 defaults
Volver ao inicio da páxina

Caso práctico complexo

Este é un resumo de configuración complexa, con múltiplas particións nun dispositivo externo de gran capacidade.

Aquí analizaremos a casuística, os métodos concretos atopanse ao longo desta páxina: Argallando cunha Rasperry Pi

/boot e /(raiz) na SD;
/tmp, /var, swap, /home e almacenamento (/OMV e /Torrent) nun dispositivo externo

  • smmcblk0
    Despois
    • smmcblk0p1
      • /boot
    • smmcblk0p2
      • /root ← agás swap[file] /home, /var e /tmp
  • sda
    Imaxe da configuración antes de «Aplicar» o formatado
    • sda1
      • /var
    • sda2
      • /tmp
    • sda3
      • swap
    • sda4
      • Extendida
        • sda5
          • /home
        • sda6
          • /OMV
        • sda7
          • /Torrent

Editando o fstab

nano /etc/fstab
e modificamos
/dev/sda1     /var       ext4     defaults,noatime      0     1
/dev/sda2     /tmp       ext4     defaults,noatime      0     1
/dev/sda3     swap       swap     defaults,noatime      0     1
/dev/sda5     /home      ext4     defaults,noatime      0     0
/dev/sda6     /OMV       ext4     defaults,noatime      0     0
/dev/sda7     /Torrent   ext4     defaults,noatime      0     0

/boot na SD;
particións /(raiz) completa, swap, /home e almacenamento (/OMV e /Torrent) nun dispositivo externo

  • smmcblk0
    SD-boot.png
    • smmcblk0p1
      • /boot
  • sda
    Imaxe da configuración antes de «Aplicar» o formatado
    • sda1
      • /root ← agás swap[file] e /home
    • sda2
      • swap
    • sda3
      • Extendida
        • sda5
          • /home
        • sda6
          • /OMV
        • sda7
          • /Torrent

Editando o fstab

nano /etc/fstab
e modificamos:
/dev/sda1     /          ext4     defaults,noatime      0     1
/dev/sda2     swap       swap     defaults,noatime      0     1
/dev/sda5     /home      ext4     defaults,noatime      0     0
/dev/sda6     /OMV       ext4     defaults,noatime      0     0
/dev/sda7     /Torrent   ext4     defaults,noatime      0     0
Volver ao inicio da páxina

rpi-update, unha opción avanzada para expertos

Sobre esta opción só deixo a ligazón á páxina do proxecto no GitHub, nela poderedes ver todas súas posibilidades.

A labazadas cun teclado remoto «Logitech K400»

Este teclado, tras configurar o mapa de idioma con raspi-config vai perfectamente na consola, non así despois de erguer o entorno gráfico con startx que entón está co mapa inglés.

Executamos:

nano /etc/xdg/lxsession/LXDE/autostart

e no final engadimos a seguinte liña:

@setxkbmap -layout "es,es"

gardamos e saímos

Este paso podemos abrevialo así:

sudo echo '@setxkbmap -layout "es,es"' >> /etc/xdg/lxsession/LXDE/autostart

reiniciamos

sudo reboot

e probamos o teclado.

Volver ao inicio da páxina

Manterse ben informado

Para os que queirades mantervos ben informados, déixovos algunha suxestión:

Ordes de terminal para noveis en GNU/Linux

Volver ao inicio da páxina