RoboticaEuropa.org
Plan de Formación
Aprende Linux con Raspberry Pi
Noviembre 2016
2
¿Para qué aprender Linux?
• Libertad
• Diversión
• Para reutilizar PCs Windows
3
¿Para qué hacer este curso?
• Gasta menos EUR, incluso 0
• Diviértete y hackea a placer!!
• Explota las posibilidades del SW libre
• Ten el poder: administra tu propio servidor
4
¿Cuál es el coste de servidores en la nube?
5
Gasta menos EUR y saca rendimiento a tu tiempo
Reutiliza un PC Windows como servidor de desarrollo
de tu aplicación web
6
Gasta menos EUR y saca rendimiento a tu tiempo
Instala tu servidor multimedia y tu NAS en una RPi
7
Materiales• Placa Base Raspberry Pi 2 / 3• Tarjeta de memoria MicroSD 8 GB
PlanificaciónPara técnicos y makers12 horas6 participantesSevilla
ObjetivoAprenderás los conceptos
básicos para manejarte con Linux, SO en el que
están basados los servidores web y Android
Programa• Conceptos del kernel de Linux• Bash y conexión remota vía SSH• Sistema de ficheros Linux• Comandos esenciales en Bash• Scripts en Bash
con Raspberry Pi
Linux de 50 a 100
8
LAMP stackTu propio servidor web
Raspbian OS
OwncloudWordpress elige …
MySQL PHP
Apache
9
15-22-29 NOV.7 DIC.
cada MARTES de 17:30 a 20:00
¿Qué vamos a hacer?
15-NOV Sistema de archivos Linux
22-NOV Bash y edición de archivos
29-NOV Seguridad
7-DIC Tu proyecto LAMP
11
12
13
14
15
16
17
18
Primera ParteSistema de archivos
• Sistemas de archivos
• Sistema de archivos en Raspbian
• Shell
20
/
/root
/etc
/proc
/var
/boot
/bin
/dev
/home
/lib
/mnt
/media /usr
/opt/srv
/sys /tmp/run
/sbin/lost+found
• Comandos esenciales (I)
• Comandos esenciales (II)
• Combinando comandos
• Comandos personalizados
Segunda ParteComandos
22
OPERACIONES CON ARCHIVOS/DIRECTORIOS (I)
Crear y editar un archivo de texto nano fichero
Crear archivo de texto sin contenido touch nombre-del-archivo
Borrar el archivo o directorio rm archivo
Borrar el directorio denominado
"directorio", incluyendo todos sus archivos
y subdirectorios.rm -r directorio rm –rf (Borra todo el árbol)
Copiar el archivo o directorio denominado
"fichero" al directorio "/home/datos".cp fichero /home/datos/ cp –r directorio nueva-ruta
Mover el archivo o directorio denominado
“archivo" al directorio "/home/datos".mv archivo /home/datos/
Cambiar nombre de archivo mv nombre-original nuevo-nombre
💀
Tercera ParteSeguridad
• Cron
• Seguridad: Permisos
• Seguridad: Pertenencia
• Seguridad: Gestión de usuarios
24
CronCreando una entrada en crontab
0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
m h d M D
m : minuto de la hora [0-59]
h : hora del día [0 - 23]
d : día del mes
M : mes del año
D : día de la semana
[0: Domingo – 6: Sábado]
25
PermisosLeyendo los permisos de archivos y directorios
-rwx r-x r-x
-rwx r-x r-x 1 pi pi 39 Oct 14 10:29 startvnc.sh
Permisos correspondientes alusuario, en este caso el usuariopi tiene permisos de lectura“read”, escritura “write” yejecución “execute”
Permisoscorrespondientesal grupo “pi”
Permisos para elresto de usuarios
26
PertenenciaLeyendo los permisos de archivos y directorios
-rwx r-x r-x 1 pi pi 39 Oct 14 10:29 startvnc.sh
Usuario al que perteneceel archivo
Grupo al que pertenece el archivo
Cantidad de archivos o directorios que contiene
Peso del archivo, 39 Bytes en este caso.
27
root:x:0:0:root:/root:/bin/bash
1 2 7
1 : Identificador del usuario
3 : Número de usuario
5 : Identificador del grupo
2 : Contraseña ¿x?
4 : Número del grupo del usuario
4 5 63
6 :Path del home
7 : Shell por defecto
Gestión de usuariosCreando nuevos usuarios cat /etc/passwd
Cuarta ParteLAMP
L de Linux
A de Apache
M de MySQL
P de PHP
29
L de LinuxArquitectura LAMP