# Headless Télécharger l'image [Raspian Stretch Lite](https://www.raspberrypi.org/downloads/raspbian/) et l'installer sur la carte SD avec [Etcher](https://www.balena.io/etcher/). Activer et connecter le wifi: Il faut créer un fichier `wpa_supplicant.conf` dans /boot ```bash # Depuis macOS cd /Volumes/boot nano wpa_supplicant.conf ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 country=FR network={ ssid="SSID" psk="Mot de passe" key_mgmt=WPA-PSK } ``` Activer SSH: Il faut créer un fichier `ssh` dans /boot ```bash #Depuis macOS cd /Volumes/boot touch ssh ``` Démarrer le Raspberry, il va se connecter automatiquement à la Box. Pour trouver l'ip, aller sur la box -> Configuration DHCP -> Baux DHCP valides Se connecter au Raspberry en SSH: ```bash $ ssh pi@ip avec le mot-de-passe Raspberry ``` Changer le mot-de-passe: ```bash $ passwd Changing password for pi. (current) UNIX password: Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully ``` Mettre en IP fixe: ```bash $ sudo nano /etc/dhcpcd.conf à rajouter à la fin du fichier: interface eth0 static ip_address=192.168.1.24/24 static routers=192.168.1.1 static domain_name_servers=192.168.1.1 interface wlan0 static ip_address=192.168.1.23/24 static routers=192.168.1.1 static domain_name_servers=192.168.1.1 ``` Ajouter la clé ssh: ``` bruno@silverbook:~/.ssh$ ssh pi@framboise.local 'mkdir -p ~/.ssh; chmod 0700 ~/.ssh; echo ' $(< ~/.ssh/id_ed25519.pub) ' >> ~/.ssh/authorized_keys ; chmod 0600 ~/.ssh/authorized_keys' ``` Sécuriser ssh: ```bash $ sudo nano /etc/ssh/sshd_config Port 36722 PermitRootLogin prohibit-password yes (défaut) # without-password (prohibit-password) authentification par mot de passe désactivée, # authentification par clé publique seulement # forced-commands-only avec l'option Commande, authentification par clé publique seulement # no $ sudo service ssh restart ``` Configurer le Raspberry: ```bash $ sudo raspi-config -Network Options -> changer le hostname -Localisations Options -> Change Locale, Change Timezone -Interfacing Options -> enable Camera, SPI, I2C, Serial -Advanced Options -> Expanding filesystem -Update (raspi-config) ``` Installer git: ```bash $ sudo apt-get install -y git dirmngr ``` Installer log2ram: ```bash cd /home/pi git clone https://github.com/azlux/log2ram.git cd log2ram chmod +x install.sh sudo ./install.sh #Change the log size value to 128M sudo vi /etc/log2ram.conf ``` Vérifier l'installation de log2ram: ``` $ df -h Sys. de fichiers Taille Utilisé Dispo Uti% Monté sur /dev/root 15G 1,1G 13G 8% / devtmpfs 181M 0 181M 0% /dev tmpfs 186M 0 186M 0% /dev/shm tmpfs 186M 2,7M 183M 2% /run tmpfs 5,0M 4,0K 5,0M 1% /run/lock tmpfs 186M 0 186M 0% /sys/fs/cgroup /dev/mmcblk0p1 44M 23M 22M 51% /boot log2ram 40M 636K 40M 2% /var/log tmpfs 37M 0 37M 0% /run/user/1000 ``` Toutes les heures, log2ram copie les logs en mémoire vers les fichiers. On peut modifier pour que ce soit tous les jours. ```bash sudo mv /etc/cron.hourly/log2ram /etc/cron.daily/log2ram sudo reboot ``` Mettre à jour le Raspberry: ```bash $ sudo apt-get update && sudo apt-get upgrade ``` Créer un alias dans .bashrc: alias update='sudo apt-get update && sudo apt-get upgrade' Backup de la carte SD https://raspberrypi.stackexchange.com/questions/311/how-do-i-backup-my-raspberry-pi ```bash bruno@silverbook:~$ diskutil list bruno@silverbook:~$ sudo dd if=/dev/rdisk2 of=/Users/bruno/Downloads/litePi_1.img bs=1m # ou bruno@silverbook:~$ sudo dd if=/dev/rdisk2 bs=1m | gzip > /Users/bruno/Downloads/litePi_1.gz # avec progression: bruno@silverbook:~$ sudo dd if=/dev/rdisk2 bs=1m | pv | gzip > /Users/bruno/Downloads/litePi_1.gz ``` Restaurer: ```bash bruno@silverbook:~$ diskutil list bruno@silverbook:~$ sudo dd if=/Users/bruno/Downloads/litePi_1.img of=/dev/rdisk2 bs=1m # ou bruno@silverbook:~$ gzip -dc /Users/bruno/Downloads/litePi_1.gz | sudo dd of=/dev/rdisk2 bs=1m ```