Cet article est particulièrement intéressant pour les petites dotation en RAM comme le Raspberry Pi.
Car oui, 1Go en 2016 c’est tout petit. Alors pour votre vieux netbook ou votre framboise, zRAM va vous aider.

Car zRAM (anciennement compcache) va compresser votre RAM et gérer une zone de SWAP dans la RAM. Il y a une petite perte de temps pour la compression qu’il faut relativiser avec le temps perdu en lecture/écriture d’une zone de SWAP classique sur un disque dur ou une clé usb (en usb 2 pour le pi)

J’ai testé sur le Pi 3 avec Ubuntu Mate :

  1. Pas de SWAP, (par défaut) petit freeze avec plusieurs logiciels lancés
  2. SWAP sur clé USB, l’écran ne freeze plus
  3. Zram, l’écran ne freeze plus et l’on gagne un peu plus en réactivité

La solution zRAM est pour moi de loin la meilleure, car donnant plus de souffle. Le premier lancement reste un peu long (identique à la distribution sans swap) par contre les lancements suivants dans la même session sont plus rapides.

Sous Ubuntu

Se fier à l’article de la doc Ubuntu : https://doc.ubuntu-fr.org/zram
Dont voici les actions à réaliser :

Sous Debian

Se fier au wiki Debian : https://wiki.debian.org/ZRam
Dont voici les actions à réaliser :

y coller :

et enfin :

Pour rendre exécutable le fichier, l’ajouter au boot et redémarrer pour la prise d’effet.

Faire du tri

Quand on a un Raspberry Pi :

Attention ! Raspbian possède un fichier de SWAP sur la carte SD, c’est le moment de le désactiver, la durée de vie de votre carte SD s’en fera certainement ressentir.

Voir l’article sur Framboise 314 pour plus de détails : http://www.framboise314.fr/et-si-on-se-passait-du-swap/

Quand on n’a pas un Raspberry Pi :

Si vous avez un ordinateur autre que le Raspberry Pi, et si vous avez une zone de SWAP sur votre disque dur, alors c’est le moment de la désactiver et de la supprimer depuis Gparted par exemple.

SWAP sur USB (méthode alternative)

Si jamais vous voulez tester le SWAP sur USB, munissez vous d’une vieille clé, passage sous Gparted pour lui coller une partition de type « linux-swap » puis de trouver son petit nom avec la commande :

Puis en partant du principe que votre swap usb se trouve en /dev/sda1 :

Attention, ça n’a d’effet que le temps de la session, à relancer à chaque démarrage donc.

Dernière astuce pour la route

Transférer les fichiers de log en RAM pour allonger la durée de vie de votre carte SD : http://www.magdiblog.fr/divers/comment-prolonger-la-duree-de-vie-de-vos-cartes-sd-sur-raspberry-pi/

Cet article va vous permettre d’envoyer des mails depuis le terminal ou avec la fonction mail de php en utilisant le smtp de gmail.

C’est à dire que les mails seront envoyés par le biais de votre adresse perso gmail. Que ce soit pour être alerté d’une présence (avec une photo en pièce jointe), des mises à jours de sécurité à appliquer ou que sais-je encore…

 

Créer un mot de passe spécifique

Rendez-vous sur la page Mots de passe d’application de google et renseigner comme ceci :
Sélectionner une application -> Messagerie
Sélectionner un appareil -> Autre (nom personnalisé) -> Raspberry Pi

Vous obtiendrez un mot de passe spécifique qui a l’avantage de pouvoir être révoqué en cas de doute sur la sécurité de votre Raspberry Pi et de pouvoir envoyer des mails sans avoir à effectuer l’authentification en deux étapes.

Installer les packages

puis

Choisir la première ligne « Distribution directe par SMTP (site Internet) »
Distribution directe par SMTP (site Internet) : RaspberryPi
Liste d’adresses IP : 127.0.0.1 ; ::1_
Autres destinations : RaspberryPi
RaspberryPi : (laisser vide)
Machines à relayer : (laisser vide)
Faut-il minimiser les requêtes DNS : Non
Format « mbox » dans /var/mail
Faut-il séparer la configuration dans plusieurs fichiers ? Non
Destinataire des courriers de « root » et « postmaster » : (laisser vide)

 

ajouter les lignes à la fin du fichier en modifiant votre adresse et votre mot de passe (celui générer au début du tuto)

Il faut relancer Exim4 :

 

Courage on touche au bout :

ssmtp pour permettre l’utilisation du smtp de gmail
mailutils & mpak pour envoyer des mails en shell

Supprimer les deux ligne :

Et ajouter à la fin (en remplaçant le nom et le mot de passe une fois de plus)

 

Cron et d’autres services vont certainement vouloir envoyer des mails, pour qu’ils soient bien routés, il faut ajouter ces deux lignes à la fin du fichier /etc/aliases :

 

Tester

Avec php mail()

 

 

Avec mailutils dans le terminal :

Taper le texte, et pour envoyer il faut taper un point + [entrée] sur une nouvelle ligne.

 

Vous avez des tâches cron ?

Désormais, votre cron daemon va vous envoyer des alertes à chaque exécution d’une tâche. Voici comment paramétrer les alertes cron :

J’ai depuis deux ans, un Raspberry Pi à la maison pour écouter des radios par internet avec MPD et MPC.

Depuis peu, j’ai un haut parleur Bluetooth, qui se connecte au Raspberry par le biais d’un dongle usb de ce type.  Le tout fonctionne bien, mais pour éviter de planter le service MPD il faut arrêter la lecture avant d’éteindre le haut parleur. Dans le cas contraire, il faut se connecter au Raspberry en SSH et lui coller :

C’est soit ça, soit un redémarrage du Pi.

Pour éviter ceci, j’utilise UDEV qui est déjà présent sur votre distribution car c’est un gestionnaire de périphérique sous linux.

Nous allons lui dire d’exécuter un script quand notre haut parleur se connecte et un autre script à la déconnexion.

et ajouter les deux lignes :

la première ligne va lancer le script /usr/lib/udev/bluetooth_add à la connexion (ACTION== »add »)

et la deuxième ligne va lancer le script /usr/lib/udev/bluetooth_remove à la déconnexion (ACTION== »remove »)

Reste à créer les scripts :

Contenu de /usr/lib/udev/bluetooth_add :

Contenu de /usr/lib/udev/bluetooth_remove :

Problème réglé.

 
Petit bonus pour les heureux parents bidouilleurs qui pour des raisons absconses aux yeux de certains ne souhaitent pas lancer la musique trop forte quand leurs enfants dorment (enfin !)

Voici comment modifier le script de connexion /usr/lib/udev/bluetooth_add :

Volume à 70 le jour entre 8h00 et 21h00
Volume à 30 la nuit entre 21h00 et  8h00

Si vous avez aimé, si cela vous a aidé, ou si vous avez un petit script, merci de laisser un commentaire 😉

Sérieusement, je n’ai jamais accroché à vim, et je ne suis pas parvenu à me faire à emacs. Si j’ai un environnement graphique sous la main, gedit me va bien. Pour des petites modifications ou en ssh, j’aime nano.

Seulement voilà, nano peut demander quelques modifications pour être plus convivial.

La souris

Avec le raccourci clavier Alt + m , la souris sera activée et permettra de pointer précisément dans le fichier. Pratique pour un copier / coller. Le double clic permet de faire une sélection.

Pour une raison obscure, l’activation de la souris, désactive le défilement molette. Il faut alors la désactiver avec de nouveau un Alt + m

Pour que la souris soit activée par défaut, modifier le fichier /etc/nanorc , dé-commenter la ligne :

 

L’indentation

Encore une fois dans le fichier /etc/nanorc :

 

La coloration syntaxique

Le tuto de Korben qu’il est très bien fait.

Pour faire un petit enregistrement d’un flux depuis le terminal, wget est votre ami !

Vous pouvez essayer :

Ça fonctionnera. Mais il faudra penser à arrêter l’enregistrement au bout d’un certain temps avec un Ctrl + c

Si vous voulez essayer avec un flux existant, voici celui de WDRV – 97.1 The Drive, une superbe radio rock de Chicago :

 

Automatiser l’enregistrement

Pas toujours simple d’écouter une émission au moment ou elle est diffusée, entre le boulot, la famille voir même le décalage horaire avec des radios outre atlantique, il peut être pratique d’enregistrer un morceau pour se l’écouter plus tard.

Pour automatiser cela, un petit script comme celui-ci est parfait :

 

Il faut le rendre éxecutable et le lancer avec les trois arguments qui sont : le temps d’enregistrement en minutes et l’URL du flux et le nom de la Radio ou de l’émission.

 

Dernière étape, programmer à heure fixe l’enregistrement avec crontab :

A la fin du fichier, cette ligne fera l’affaire :

nb : pensez à changer le chemin vers le script

Pour rappel, le codage du temps dans cron se fait dans l’ordre :

minutes (de 0 à 59)
heure (de 0 à 23)
jour du mois (de 1 à 31)
numéro du mois (de 1 à 12)
numéro du jour dans la semaine (de 1 à 7)

Si vous n’avez pas de coloration dans votre terminal, ça vaut le coup de jeter un oeil dans le fichier .bashrc de votre dossier home :

Si son contenu est le suivant :

Ne cherchez pas plus, il vous manque les lignes pour la coloration.

Pour l’ajouter, votre fichier .bashrc doit ressembler à ceci :

J’ai ajouté quelques alias à la fin du fichier, comme vu dans ce précédent article.

Et si votre fichier .bashrc contient déjà toutes ces lignes mais que la coloration ne fonctionne pas, il faut souvent dé-commenter* la ligne :

* enlever le dièse en début de ligne

Une commande linux qu’elle est utile c’est grep :

Rechercher récursivement

‘r’ pour récursif & ‘l’ pour lister les fichiers

 

Une autre commande qu’elle est super, c’est sed :

Remplacer

i‘ pour éditer le fichier
nota : pour remplacer une url, substituer les ‘ / ‘ par des ‘ , ‘

 

Pour rechercher et remplacer dans plusieurs fichiers de façon récursive, voici comment faire :

Rechercher & remplacer

xargs‘ permet de combiner notre recherche avec le remplacement !
Une commande pratique mais aussi très rapide.

 

Bonus

Et si vous souhaitez exclure certaines extension de fichiers,  les script shell par exemple :

 

A l’inverse pour traiter les fichiers d’une seule extension :

Dans le terminal, globalement les commandes sont courtes et facile à retenir comme cp pour copier, mv pour déplacer (move), ls pour lister… mais ça se complique un peu si vous utilisez régulièrement des arguments ls -l pour détailler le listing d’un fichier avec les privilèges, les propriétaires… ls -a pour vois les fichiers cachés…

Retaper 100 fois la même commandes avec les mêmes arguments, c’est lourd, surtout si vous voulez décompresser un fichier en .tar.gz

et pour compresser, ce n’est guère mieux :

Même les techniques de ninjas pour mémoriser cette commande ne fonctionne pas avec moi, la solution existe, créer des alias.

Pour ce faire, éditez le fichier .bashrc qui est dans votre dossier home :

à la fin de celui-ci, vous pouvez ajouter des alias sous cette forme :

concrètement :

Après avoir relancé votre terminal,  ou exécuté la commande :

les commandes ll, la, tar et untar fonctionneront. Nous pouvons en imaginer des tonnes comme :

Pour utiliser cette nouvelle commande voici la syntaxe :

 

NB : pour certaines distributions, le fichier .bashrc contient plusieurs paramètres dont celui-ci :

Il faudra donc ajouter les alias dans le fichier .bash_aliases au lieu de .bashrc