Sauver une carte SD! Utiliser votre RaspberryPi en lecture seul (ReadOnly)

Valentin Brosseau | 23-01-2018

Avec mes Pi j'ai un soucis récurrent c'est l'usure des cartes SD… J'ai tenté pleins de choses (réduire les logs, changer le swap, etc…) mais sans jamais de grand succès au final la carte SD se corrompt et rebelotte…

J'ai donc décidé de changer carrément de méthode, à partir de maintenant pour les projets ou je n'ai pas besoin d'écrire sur la carte SD, et bien je monte carrément le système en lecture seule. Pour ça il suffit de changer un peu le « /etc/fstab » :

proc            /proc           proc    defaults          0       0
/dev/mmcblk0p1  /boot           vfat    defaults          0       2
/dev/mmcblk0p2  /               ext4    ro                0       1
# Valeur par defaut : /dev/mmcblk0p2  /               ext4    defaults,noatime  0       1

tmpfs           /tmp            tmpfs   defaults,noatime,mode=1777      0       0
tmpfs           /var/log        tmpfs   defaults,noatime,mode=0755      0       0
tmpfs           /var/lib/systemd tmpfs   defaults,noatime,mode=0755      0       0

À partir de maintenant si vous redémarrez le Pi votre système sera en lecture seule.

Donc c'est un bon début… Mais parfois c'est pratique de pouvoir modifier son système (mise à jour par exemple), j'ai donc trouvé un petit script qui permet de passer de lecture seule à lecture/écriture hyper simplement :

#!/bin/bash

case "${1}" in
        rw)
                sudo mount -o remount,rw /
                echo "Filesystem mounted in READ-WRITE mode"
                ;;
        ro)
                sudo mount -o remount,ro /
                echo "Filesystem mounted in READ-ONLY mode"
                ;;
        *)
                if [ -n "$(mount | grep mmcblk0p2 | grep -o 'rw')" ]
                then
                        echo "Filesystem is mounted in READ-WRITE mode"
                else
                        echo "Filesystem is mounted in READ-ONLY mode"
                fi
                echo "Usage ${0} [rw|ro]"
                ;;
esac

Pour l’utiliser c’est simple :

  • Repasser en lecture/écriture : ./mountfs.sh rw
  • Repasser en lecture seule : ./mountfs.sh ro

En espérant que ça aide certains d’entre vous …

Lire la suite...

Installer Archlinux sur un Dell XPS 13 2017 (Remplacer Ubuntu)

Valentin Brosseau | 21-01-2018

J'ai récemment eu une nouvelle machine (changement professionnel) cette machine est un DELL XPS 13 9360 (de 2017) fourni avec Ubuntu . C'est vraiment une superbe machine un 13 pouces dans un gabarit d'un 11… Bref génial !

La machine est livrée avec Ubuntu 16.04 LTS, ça fonctionne… mais je ne suis vraiment pas fan d'Ubuntu (exemple Out Of The Box unity plante régulièrement sans raison…) ! Donc migration sous Archlinux. Rien de bien particuliés pour l'installation, c'est une machine avec de l'UEFI j'ai donc décidé de faire un petit article récap pour lister les différentes étapes clef de l'installation :

  • Téléchargement de l’ISO.
  • Dans l’UEFI de la machine désactiver le secureboot (F12 au démarrage).
  • Choisir la clef USB sur laquelle l’ISO a été « copié ».

⚠️ Archlinux n’est pas un OS pour débutant, si vous avez un doute… Passer votre tour.

Je vous conseille une fois booté de lancer le service SSH pour faire l'installation depuis une autre machine (ça permet de copier les commandes) :

# Clavier
loadkeys fr-bepo

# Pour autoriser la connexion le compte Root doit avoir un mot de passe.
$ passwd
$ systemctl start sshd.service

# Connexion au Wifi
$ wifi-menu

# Avoir votre IP
$ ip addr

Pour la suite vous pouvez continuer depuis une autre machine

$ ssh root@ip.de.votre.machine

Pour éviter de perdre la partition de recovery fourni par DELL j’ai décidé de ne pas toucher au partitionnement « de base », je part du principe que ça sera le cas vous aussi.

La base

# Clavier
loadkeys fr-bepo

# Reglage de l’heure
timedatectl set-ntp true

# Éffacement des partitions
# Boot
$ mkfs.fat -F32 /dev/nvme0n1p1

# Système
$ mkfs.ext4 /dev/nvme0n1p3

# Montage des partitions
$ mount /dev/nvme0n1p3 /mnt
$ mount /dev/nvme0n1p1 /mnt/boot

# Installation du système de base et d’autres ...
Lire la suite...

Utiliser une Yubikey comme Smartcard et Agent-SSH avec Archlinux

Valentin Brosseau | 20-01-2018

J'ai récemment réinstallé un Archlinux (sur un Dell XPS 2017, le 9360) j'utilise depuis quelques mois une Yubikey comme Smartcard (et comme Agent-SSH). C'est bien pratique et cela évite d'avoir les clefs PGP et SSH physiquement sur la machine.

J'utilisais ma clé sur un Mac et sur Android, mais je ne l'avais pas branché sur une machine Archlinux… Donc ce qui nous intéresse la configuration. Pour que ça fonctionne il faut installer les paquets suivants :

yaourt -S gnupg libu2f-host pcsc-tools ccid libusb-compat

Puis démarrer le service :

systemctl enable pcscd.service
systemctl start pcscd.service

Et pour la configuration, c’est comme sur les autres systèmes :

enable-ssh-support
default-cache-ttl 1800
max-cache-ttl 21600
pinentry-program /usr/bin/pinentry

Et voilà, normalement c’est bon! Votre Yubikey est utilisable.

Lire la suite...

Activer les emoji’s colorés sur Archlinux

Valentin Brosseau | 19-01-2018

Une note rapide, si comme moi vous voulez activer les emoji’s colorés (comme sur un mobile) sur Archlinux sans vous prendre la tête il suffit d’installer la bonne font et créer le bon fichier de configuration :

yaourt -S noto-fonts-emoji
mkdir -p ~/.config/fontconfig/conf.d/
vim ~/.config/fontconfig/conf.d/01-emoji.conf

Dans le fichier 01-emoji.conf mettre le contenu suivant :

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
    <!-- Use Google Emojis -->
    <match target="pattern">
        <test qual="any" name="family"><string>Segoe UI Emoji</string></test>
        <edit name="family" mode="assign" binding="same"><string>Noto Color Emoji</string></edit>
    </match>
</fontconfig>

Et voilà ! À vous les emoji’s colorés dans votre navigateur (ou autre) 😉.

Lire la suite...

MacOS: Désactiver les .DS_Store sur le réseau

Valentin Brosseau | 09-07-2017

Rien de plus chiant sous MacOs que les fichiers « .DS_Store » à défaut de pouvoir les retirer complètement il est possible de désactiver l’écriture des fichiers sur les disques réseaux :

sudo defaults write /Library/Preferences/com.apple.desktopservices DSDontWriteNetworkStores -string true

Pour la disparition complète des fichier il faudra attendre APFS et High Sierra (Enfin il me semble…)

Lire la suite...

Raspberry PI Zero W: SSH et Wifi headless.

Valentin Brosseau | 09-07-2017

J'ai acquis depuis quelques semaines un Raspberry Pi Zero W (la toute toute petite carte équipée du Wifi de la fondation Rasberry), la petite particularité de celle-ci c'est qu'elle n'est pas équipée d'un port HDMI habituel mais d'un mini HDMI dans mon cas ce n'est pas vraiment un soucis, car le Pi Zero va me servir comme « Mini serveur de relevés de températures ». Par contre le soucis c'est qu'il faut pouvoir activer l'accès SSH et le Wifi dès le premier boot et sans écran ni port ethernet.

Heureusement tout est déjà prévu (mais pas forcément bien documenté à mon goût). Donc comme d’habitude :

  • Télécharger la Rasbian Lite.
  • « Flasher » la sur votre carte SD.

Activation du SSH :

Dans la partition « boot » (sous Windows la seule que vous voyez), sous linux celle en FAT32 il suffit d’ajouter un fichier vide SSH

$ touch SSH

Activation de Wifi :

Toujours dans la partition « boot» il faut créer le fichier « wpa_supplicant.conf » avec le contenu suivant :

country=fr
update_config=1
ctrl_interface=/var/run/wpa_supplicant

network={
  ssid="YOUR_SSID"
  psk="YOUR_PASSWORD"
  key_mgmt=WPA-PSK
}

Et voilà vous pouvez maintenant éjecter votre carte SD et la brancher dans votre PI. Celui-ci devrait-être connecté dès le premier boot à votre réseau Wifi et autoriser l’accès SSH.

Lire la suite...

El Capitan : Personnaliser la disposition de clavier du « Login screen »

Valentin Brosseau | 11-07-2016

Vu que maintenant je saisie au clavier exclusivement en bépo, je souhaite que celui-ci soit disponible dans l'intégralité de mon système.

Sous OSX cette intégration est presque parfaite, il est possible de mettre (sans bidouiller) une disposition de clavier complètement personnalisé dans le système. Cependant, pour une raison qui m'échappe, au niveau du « login screen » il est impossible de choisir une disposition de clavier autre que celle fourni de base par le système, mais par chance une parade existe :

Après avoir choisi sur votre utilisateur la disposition voulue il suffit de passer les commandes suivantes dans un terminal :

sudo cp ~/Library/Preferences/com.apple.HIToolbox.plist /Library/Preferences/
sudo chmod 644 /Library/Preferences/com.apple.HIToolbox.plist

Après un redémarrage ça devrait être OK!

Lire la suite...

« Page précédente Page suivante »