Cette étape sort un peu du contexte de ce projet et n’est pas obligatoire, mais elle n’est pas non plus hyper technique et jusqu’au-bout-iste (je n’aborde pas la sécurité), il s’agit juste d’enlever le plus gros des choses installées “par défaut” et qui ne nous serviront pas, et de faire quelques réglages de base pour avoir une distribution à jour et le plus stable possible.
Ces opérations peuvent se faire directement sur le RPi ou via SSH en saisissant la commande suivante dans un terminal
(valable pour les dernières versions de Wheezy et Jessie, utilisant dhcpcd) :
ssh pi@nom-d-hote-de-votre-rpi.local
-> par défaut, le nom d’hôte est raspberrypi
-> si ça ne marche pas (en particulier sous Windows…), il vous faudra connaître l’adresse IP de votre RPi et saisir :
ssh pi@adresse.ip.du.rpi
Mettre à jour Raspbian
Commençons par mettre à jour Raspbian et le firmware du RPi en tapant les commandes suivantes :
sudo apt-get update
sudo apt-get upgrade
sudo rpi-update
Un petit df -h nous montre qu’on a déjà 2,7Go de données.. sur une carte de 4Go, ça fait beaucoup alors qu’on n’a encore rien fait !
Alléger Raspbian
ATTENTION ! : en cours de suppression, le fichier “/etc/network/interfaces” va disparaître (ben oui, c’est un bug de Raspbian…) => je vous conseille donc d’en faire une copie (sudo cp /etc/network/interfaces /etc/network/interfaces.svg) pour pouvoir le restaurer ensuite (sudo mv /etc/network/interfaces.svg /etc/network/interfaces) !
En suivant l’exemple de Samat, j’ai créé un script “tdb314.sh” permettant d’enlever les programmes liés au développement et à tout ce qui est éducation / programmation.
Il suffit de :
- le récupérer via le lien ci-dessous ou via un wget vers l’adresse associée,
- le dézipper
- le rendre exécutable via sudo chmod 755 tdb314.sh
- l’exécuter via ./tdb314.sh
Vous pouvez bien sûr d’abord le modifier en ajoutant vos propres options !
Je n’ai pas du tout touché à l’environnement graphique alors que, dans un souci d’économie des ressources du RPi, on ne va utiliser que le gestionnaire de fenêtres “OpenBox” et non le bureau complet de Raspbian… il y aurait donc sûrement matière à optimiser encore les choses, mais bon…
Il y a encore quelques petites choses à enlever :
sudo rm /opt/vc/src/hello_pi/hello_video/test.h264
sudo rm /usr/lib/gcc/arm-linux-gnueabihf/4.6/cc1plus
sudo rm -r /home/pi/python_games
Et pour finir le nettoyage :
sudo apt-get autoremove
sudo apt-get clean
Voilà, on devrait être autour des 1Go, c’est mieux ! 😉
Supprimer le Swap
Le Swap est un fichier d’échange utilisé par Linux quand la mémoire est saturée.
Le souci, c’est que ça fait appel à de nombreuses écritures sur la carte SD qui n’aime pas trop ça, et dans notre cas, on va essayer de limiter l’utilisation des ressources pour pouvoir nous en passer !
Pour cela :
sudo dphys-swapfile swapoff
sudo dphys-swapfile uninstall
sudo update-rc.d dphys-swapfile remove
sudo reboot
Et pour vérifier que c’est bon, on fait un free et on vérifie que la ligne “Swap” est bien à 0.
Préserver notre carte SD !
Les cartes SD, même les meilleures, ont un gros défaut : elles supportent un nombre “limité” de cycles d’écriture…
Or Linux peut être appelé à écrire régulièrement des données, en particulier des fichiers temporaires et des fichiers de “log” (des journaux d’événements).
Pour les fichiers temporaires, il suffit de déplacer leur écriture en mémoire vive via l’outil “tmpfs” en éditant le fichier “/etc/fstab” (sudo nano /etc/fstab) et d’y ajouter les lignes suivantes :
tmpfs /tmp tmpfs defaults,noatime,nosuid,size=10m 0 0
tmpfs /var/tmp tmpfs defaults,noatime,nosuid,size=10m 0 0
Pour les fichiers “log”, on va installer le petit programme “ramlog” :
wget http://www.tremende.com/ramlog/download/ramlog_2.0.0_all.deb
sudo dpkg -i ramlog_2.0.0_all.deb
sudo reboot
Puis redémarrer encore une fois le RPi et vérifier que tout est OK en tapant sudo /etc/init.d/ramlog status
Ouf !, bon, je crois qu’on est prêt à rentrer dans le vif du sujet, en commençant par ajouter les choses dont on a besoin !
Ok merci sauf que je viens de faire l'apprenti sorcier.
J'ai essaye d'ajouter le programme tv, plus rien ne fonctionne (Erreur de syntaxe JSON dans votre fichier “config.json”!bien sur pas de sauvegarde !
Je tente de remettre tout d'aplomb rapidement 🙁
David