source: PostBlue
Je me suis acheté un Raspberry Pi 2 sur LDLC, le site de vente en ligne qui m'a octroyé une ristourne à l'occasion de mon anniversaire. Le délai entre la commande et la réception fut très long, rupture de stock oblige, mais en résumé je suis hyper-content.
Inutile de revenir une énième fois sur les spécificités matérielles et logicielles de la machine : d'autres s'en sont occupé·e·s avant moi et certainement bien mieux. Oui, ce modèle est tellement plus mieux que ses prédécesseurs. Évidemment, il faut être à l'aise avec la ligne de commande pour utiliser ce type de matériel.
Comme je l'ai annoncé en préambule : le délai de livraison fut allongé à cause d'une rupture de stock de Raspberry Pi 2 chez LDLC. Qu'à cela ne tienne, je n'étais pas pressé.
J'ai profité de cette commande pour acheter une carte microSD de 16Go sur laquelle installer le système d'exploitation — voir ici une liste des distributions existantes — et un boîtier gay-friendly chez Adafruit compatible avec mon modèle de Raspberry Pi.
Le paquet du Raspberry Pi est minimal : une boîte en carton contenant une notice en 16 langues que je ne lirai certainement jamais, et un Raspberry Pi 2 sous film plastique de protection. C'est tout. Celui du Pibow l'est également : emballage en carton recyclé, pas de surabondance de matière première, à l'instar de l'emballage pour les précédentes versions du Raspberry Pi.
Note : toutes les « couches » du Pibow sont recouvertes d'un côté par un film blanc translucide qu'il faut enlever si vous ne voulez pas que votre Raspberry Pi ressemble à ça (la poussière en plus).
Du reste, il ne prend que très peu de place, il y en a même encore un peu sous le meuble où à brol / routeur / imprimante pour que je le branche à un disque dur portable qui servira à l'hébergement de données (torrents, sauvegardes, serveur multimédia DLNA/UPnP…). Je suis preneur de conseils concernant un disque dur portable abordable pouvant être allumés longtemps, très longtemps (pas de surchauffe ni de tendance à casser si trop souvent utilisé), avec une bonne alimentation (je n'ai pas envie qu'il brûle au moindre petit problème électrique).
La distribution semble-t-il la plus utilisée est Raspbian, une distribution basée sur Debian qui incorpore l'utilitaire de configuration simplifiée raspi-config
. J'ai préféré installer Arch Linux ARM, suite a un problème de compatibilité de CUPS entre la version installée sur les ordinateurs (Debian Jessie, Arch Linux) et celle incluse dans Raspbian (Debian Wheezy).
Pour l'installation, il suffit de suivre le guide, que je traduis ci-dessous.
Le Raspberry Pi 2 est le successeur du Raspberry Pi. Il s'appuie sur le modèle original B +, mis à niveau vers 1Go de RAM, et en remplaçant le single-core vieillissant ARMv6l avec un quad-core Cortex-A7 ARMv7l.
Le Raspberry Pi 2 mesure 85.60mm × 53.98mm × 17mm (…).
Remplacer sdX dans les instructions suivantes par le nom de périphérique pour la carte SD tel qu'il apparaît sur votre ordinateur. Si vous ne parvenez pas à effectuer ces manipulations à cause de restrictions de droits sur les périphériques ou les partitions, exécutez-les avec votre compte root
.
Lancer fdisk
pour partitionner la carte SD :
fdisk /dev/sdX
À l'invite de fdisk
, supprimer les anciennes partitions et en créer une nouvelle :
fdisk
en tapant w.Créer et monter le système de fichiers FAT :
mkfs.vfat /dev/sdX1
mkdir boot
mount /dev/sdX1 boot
Créer et monter le système de fichiers ext4 :
mkfs.ext4 /dev/sdX2
mkdir root
mount /dev/sdX2 root
Télécharger et extraire le système de fichiers racine (avec le compte root
et non pas via la commande sudo
) :
wget http://archlinuxarm.org/os/ArchLinuxARM-rpi-2-latest.tar.gz
bsdtar -xpf ArchLinuxARM-rpi-2-latest.tar.gz -C root
sync
Déplacer le fichiers de démarrage vers la première partition :
mv root/boot/* boot
Démonter les deux partitions :
umount boot root
Supprimer les dossiers créés sur l'ordinateur :
rmdir boot root
Insérer la carte SD dans le Raspberry Pi, connecter le câble Ethernet, puis brancher l'alimentation de 5V.
Utiliser la console série (nécessite de brancher un clavier USB et un écran au Raspberry Pi et de configurer la disposition du clavier avec loadkeys
, cf. la configuration du clavier dans la console virtuelle) ou se connecter par SSH à l'adresse IP donnée par votre routeur. Le mot de passe par défaut est root
.
Avant de faire quoi que ce soit, des manipulations de base doivent être effectuée : première mise à jour, configuration du mot de passe du compte root
, installation des composants de base, création d'un utilisateur et sécurisation de la connexion SSH,
Pour se connecter à votre Raspberry Pi par SSH (solution que je préfère), il faut en trouver l'adresse IP. Le plus simple à mon avis reste de la chercher dans l'interface d'administration de votre routeur.
J'en ai profité pour cocher l'option Always use the same address (toujours utiliser la même adresse IP) afin de ne pas devoir chercher à quelle adresse réside mon Raspberry Pi.
Une fois l'adresse IP du Raspberry Pi récupérée, ouvrir un terminal sur votre ordinateur et vous connecter par SSH au compte root
. Entrer le mot de passe : root
.
ssh root@192.168.1.66
Changer le mot de passe du compte root
:
passwd root
Entrer le mot de passe choisi (ne pas confondre complexité et difficulté) et valider :
Utiliser pacman
, le gestionnaire de paquets d'Arch Linux, pour une première mise à jour des programmes installés (dont le noyau et les pilotes, le plus utile) :
pacman -Syu
Installer quelques outils de base d'Arch Linux avec l'argument --needed
pour ne pas réinstaller les paquets déjà à jour :
pacman -Sy base base-devel archlinux-keyring archlinuxarm-keyring linux-tools-meta --needed
Reste à suivre la documentation ArchLinux de base pour la configuration générale du Raspberry Pi 2 (copie augmentée de la page Configuration d'Arch Linux du wiki francophone):
Le nom d'hôte est configurable dans le fichier /etc/hostname
.
echo nom > /etc/hostname
J'ai décidé d'appeler mon Raspberry Pi 2 fernand
, changement à reverser dans le fichier d'hôtes /etc/hosts
:
127.0.0.1 localhost.localdomain localhost nom
::1 localhost.localdomain localhost nom
Différentes locales sont activables dans le fichier /etc/locale.gen
et générées par la commande locale-gen
. La locale utilisée par le système est configurable dans le fichier /etc/locale.conf
.
nano /etc/locale.gen
Décommenter :
en_US.UTF-8 UTF-8
fr_FR.UTF-8 UTF-8
Générer les locales :
locale-gen
Rendre les changements effectifs directement&bsp;:
export LANG=fr_FR.UTF-8
Appliquer les changements en éditant /etc/locale.conf
:
# Spécifier fr par défaut
LANG="fr_FR.UTF-8"
# Préférer l'anglais à la langue par défaut si la traduction fr n'existe pas
LANGUAGE="fr_FR:en_US"
# Mais garder un tri par défaut
LC_COLLATE=C
Les consoles virtuelles (TTY) sont configurables dans le fichier /etc/vconsole.conf
, qui permet entre autres de choisir une police d'écriture ainsi qu'une configuration de clavier.
La date et l'heure sont configurables en créant le lien symbolique /etc/localtime
vers le fichier correspondant à la zone géographique souhaitée, disponible dans le dossier /usr/share/zoneinfo/. La commande timedatectl
permet de le faire, ainsi que d'activer la synchronisation avec un serveur de temps pour garder la machine à l'heure :
timedatectl set-timezone Europe/Paris
timedatectl set-ntp true
fake-hwclock
a été spécialement conçu pour les systèmes sans horloge matérielle. Il comprend un service systemd
enregistre l'heure actuelle et restaure celle-ci au démarrage, évitant ainsi d'étranges erreurs de voyage dans le temps.
pacman -Sy fake-hwclock
systemctl enable fake-hwclock fake-hwclock-save.timer
Le gestionnaire de paquet, pacman
, peut être configuré dans le fichier /etc/pacman.conf
. Pour les yeux seulement, j'active la coloration du logiciel (Color
) et une barre de progression sous forme de Pacman (ILoveCandy
).
# Misc options
#UseSyslog
Color
#TotalDownload
CheckSpace
#VerbosePkgLists
ILoveCandy
Maintenant, il vous faut créer votre utilisateur avec lequel vous vous connecterez. Vous pouvez affecter l'utilisateur à certains groupes, en fonction des tâches qui seront effectuées. Je vous conseille de lire la page utilisateurs et groupes du wiki francophone.
Identifiez vous en root
, avec le mot de passe défini à l'installation. Tapez ensuite :
useradd -g users -m -s /bin/bash <nom utilisateur>
passwd <nom utilisateur>
Pour finir, configurer et protéger la connexion par SSH. Je vous conseille de lire la page Ssh du wiki francophone. La configuration se fait dans le fichier /etc/ssh/sshd_config
:
PermitRootLogin no
interdit la connexion avec le compte root
, pour ne plus pouvoir s'identifier qu'avec un compte aux droits limités comme celui créé à l'étape précédente.PasswordAuthentication no
désactive la connexion par mot de passe pour ne permettre de se connecter qu'avec un jeu de clés publique et privée, voir la section Clé publique/privée du wiki francophone pour configurer cela.PermitEmptyPasswords no
désactive les mots de passe vides.AllowUsers <nom utilisateur>
restreint l'accès aux utilisateurs indiqués.Redémarrer le service SSH pour appliquer les changements :
systemctl restart sshd
Pour vérifier que tout fonctionne, il suffit d'essayer d'ouvrir une nouvelle fenêtre de connexion.
Redémarrer :
reboot
La première utilisation que j'ai réservée à mon Raspberry Pi 2 est qu'il fasse office serveur d'impression CUPS pour partager une vieille imprimante HP connecté en USB sur mon réseau.
Pour ce faire, le serveur d'impression CUPS doit être installé, ainsi que le programme hplip
permettant de communiquer avec les imprimantes HP, et le service Avahi.
Avahi est une mise en œuvre des protocoles Zeroconf permettant ainsi « à des logiciels de publier et de découvrir des services et des hôtes en cours d'exécution sur un réseau local TCP/IP sans configuration particulière. Par exemple, un utilisateur peut brancher son ordinateur sur un réseau et trouver instantanément des imprimantes pour imprimer, des fichiers à lire et des personnes à qui parler. »
Installer les dépendances :
pacman -S nss-mdns avahi cups sane hplip --needed
Pour accéder aux ordinateurs du réseau local en utilisant leur nom de domaine (ex : myhostname.local
) plutôt que leur adresse IP, il faut activer le support des requêtes avec .local
, ce qui n'est pas le cas par défaut sous Arch Linux. Pour l'activer, il fauch changer la ligne des hôtes dans /etc/nsswitch.conf
:
hosts: files mdns_minimal [NOTFOUND=return] dns myhostname
Pour activer le support du scanner des imprimantes1 multifonction de HP, il faut s'assurer d'avoir installé Sane (le serveur permettant de partager le scanner) et xinetd (un démon gérant les connexions basées sur Internet).
pacman -S sane xinetd --needed
Ensuite, il faut éditer le fichier de configuration de Sane /etc/sane.d/dll.conf
et y ajouter (ou décommenter) la ligne suivante (la dernière ligne du fichier bien souvent) :
hpaio
Après, il faut configurer Sane pour partager l'imprimante sur le réseau dans /etc/sane.d/saned.conf
et y indiquer la plage réseau dans laquelle le scanner sera accessible :
# Requis, machine elle-même
localhost
# Autoriser le réseau local
192.168.0.0/24
192.168.1.0/24
Ensuite, il faut activer le support de Sane par Xinetd en éditant le fichier /etc/xinetd.d/sane
et empêcher la désactivation :
# disabled by default!
disable = no
Dans ce fichier, nous voyons que c'est l'utilisateur nobody
qui devra gérer le scanner. On l'ajoute donc au groupe idoine :
usermod -a -G scanner nobody
Activer les services :
systemctl enable avahi-daemon org.cups.cupsd cups-browsed xinetd
Démarrer les services :
systemctl start avahi-daemon org.cups.cupsd cups-browsed xinetd
Il faut ensuite ajouter l'imprimante HP à la liste des imprimantes connues avec la commande hp-setup
:
hp-setup -i
La commande qui suit sert à activer le partage des imprimantes sur le réseau local et restreindre au réseau local, activer l'administration à distance, permettre à n'importe qui sur le réseau local de supprimer une impression :
cupsctl --no-remote-any --share-printers --remote-admin --user-cancel-any
Pour finir, redémarrer le service pour être sûr·e que les changements sont bien pris en compte :
systemctl restart org.cups.cupsd
Pour accéder à l'interface web de CUPS, il suffit d'ouvrir l'adresse http://myhostname.local:631
, et y administrer les imprimantes (format de papier par défaut, imprimante par défaut du serveur…).
N.B. : Installer les dépendances optionnelles à hplip
peut être chaudement recommandé s'il y a un souci : python-dbus
(support dbus), python-pillow
(support du scan par ligne de commande), python-reportlab
(support de la sortie PDF du scan) et rpcbind
(support du réseau).
pacman -S python-dbus python-pillow python-reportlab rpcbind --needed
Section à compléter en attendant de disposer d'un disque dur portable à brancher au Raspberry Pi 2, voir l'index Streaming media du wiki anglophone.
Section à compléter en attendant de disposer d'un disque dur portable à brancher au Raspberry Pi 2, voir l'index Backup programs du wiki anglophone.
Section à compléter en attendant de disposer d'un disque dur portable à brancher au Raspberry Pi 2. J'ai dans l'idée d'utiliser Transmission, à administrer via l'interface web, l'extension pour GNOME Shell Transmission Daemon Indicator ou via l'application Transdroid.
Mise à jour du 19 juillet 2015 : suppression du module hpoj, ajout de l'installation des paquets Sane et Xinetd, ajout de la configuration de Xinetd, ajout des dépendances optionnelles de HPLIP. ↩
TL;DR : HandyLinux.
Il n'est pas chose aisée de bien choisir sa distribution Linux quand on n'entrave rien aux arcanes du monde enchanteur des barbu·e·s. La notion-même de distribution peut être source d'angoisses existentielles : pour tenter d'éclairer la chose, il s'agit d'un ensemble cohérent de logiciels assemblés autour d'un « logiciel » particulier, le noyau, appelé Linux. Comprendre : une boîte à outils agencée de façon particulière. Voyez Linux comme un moteur : la distribution est tout ce qu'il faut en plus au seul moteur, qui est central, pour que la voiture puisse rouler.
Bref, quand on n'y touche rien à Linux, quand on en a marre des systèmes qui demandent toujours plus de ressources pour pouvoir tourner, des systèmes qui ne sont plus supportés du jour au lendemain et demandent de mettre sa machine au rebus, quelle distribution choisir ?
Avant tout, il faut pouvoir identifier son « niveau » en informatique : est-on un débutant extrême, à peine retrouve-t-on ses jeunes sous Windows, avec le four à micro-ondes programmable c'est déjà la joie, ou n'est-on pas effrayé à l'idée de lire un peu de documentation ou à faire quelques recherches ?
Ensuite, s'assurer de son entourage : y a-t-il quelqu'un que vous connaissez qui voudrait bien vous aider en cas de problème, ou y a-t-il un Groupe d'utilisateurs de Linux dans votre ville (le BxLUG à Bruxelles) ?
De plus : pouvoir estimer son niveau en anglais. La communauté de certaines distributions sont plus ou moins francophones, si vous n'y entendez rien à la langue de Shakespeare, il sera plus judicieux de se procurer une distribution francophone ou au moins francophile.
Ce n'est seulement qu'en dernier lieu que se posent les traditionnelles questions des prosélytes : quelles sont les spécificités de la machine, quelle charge peut-elle supporter, quelle interface, etc.
Du reste, la distribution qui me semble répondre aux premières injonctions est HandyLinux, avec sa communication en français, sa communauté francophone, son tutoriel de premier démarrage, son interface classique et intuitive, et une base de logiciels fournie.
TL;DR : HandyLinux.
Il n'est pas chose aisée de bien choisir sa distribution Linux quand on n'entrave rien aux arcanes du monde enchanteur des barbu·e·s. La notion-même de distribution peut être source d'angoisses existentielles : pour tenter d'éclairer la chose, il s'agit d'un ensemble cohérent de logiciels assemblés autour d'un « logiciel » particulier, le noyau, appelé Linux. Comprendre : une boîte à outils agencée de façon particulière. Voyez Linux comme un moteur : la distribution est tout ce qu'il faut en plus au seul moteur, qui est central, pour que la voiture puisse rouler.
Bref, quand on n'y touche rien à Linux, quand on en a marre des systèmes qui demandent toujours plus de ressources pour pouvoir tourner, des systèmes qui ne sont plus supportés du jour au lendemain et demandent de mettre sa machine au rebus, quelle distribution choisir ?
Avant tout, il faut pouvoir identifier son « niveau » en informatique : est-on un débutant extrême, à peine retrouve-t-on ses jeunes sous Windows, avec le four à micro-ondes programmable c'est déjà la joie, ou n'est-on pas effrayé à l'idée de lire un peu de documentation ou à faire quelques recherches ?
Ensuite, s'assurer de son entourage : y a-t-il quelqu'un que vous connaissez qui voudrait bien vous aider en cas de problème, ou y a-t-il un Groupe d'utilisateurs de Linux dans votre ville (le BxLUG à Bruxelles) ?
De plus : pouvoir estimer son niveau en anglais. La communauté de certaines distributions sont plus ou moins francophones, si vous n'y entendez rien à la langue de Shakespeare, il sera plus judicieux de se procurer une distribution francophone ou au moins francophile.
Ce n'est seulement qu'en dernier lieu que se posent les traditionnelles questions des prosélytes : quelles sont les spécificités de la machine, quelle charge peut-elle supporter, quelle interface, etc.
Du reste, la distribution qui me semble répondre aux premières injonctions est HandyLinux, avec sa communication en français, sa communauté francophone, son tutoriel de premier démarrage, son interface classique et intuitive, et une base de logiciels fournie.
Communication technique pour bien commencer l'année à l'Université Libre de Bruxelles (ULB) ; nous avons plusieurs systèmes et programmes qu'il peut être utile de connaître voire de savoir utiliser.
Pour ceux qui ne connaissent pas GeHoL, nouveau ou ancien, il s'agit de l'outil de « Gestion des Horaires et des Locaux », comprendre : l'outil en ligne où récupérer ses horaires de cours.
Après s'être connecté avec son netid (initiale du prénom accolée aux 7 premières lettres du nom de famille, quand il n'y a pas de conflit) sur Mon horaire, sont affichés uniquement les horaires des cours auxquels un étudiant est inscrit.
Fini d'avoir l'entièreté de l'horaire disponible affichée, toutes options confondues, pour tous les groupes possibles d'une année, …
De plus, il est possible d'ajouter à son horaire des cours supplémentaires (ou de cacher ceux qui sont en excédent ; GeHoL peut être adapté aux horaires les plus lourds ou les plus légers) : dans l'onglet Mes Cours, l'œil accolé aux cours dans la colonne de gauche permet d'en masquer l'horaire quand cliqué, la colonne de droite permet d'ajouter des cours à son horaire global.
Enfin, pour ceux qui sont intéressés, il est possible d'intégrer son horaire GeHoL dans les applications qui le supportent. Depuis l'onglet Mon horaire, il suffit d'exporter celui-ci "en iCal" (Exporter l'horaire au format iCal).
Le lien obtenu doit ressembler à http://mongehol.ulb.ac.be/Controlleurs/ICal.php?cal=[une clef unique]&week=1
. Il est dès lors possible d'ajouter l'URL à un agenda, iCal sous Mac OS X par exemple, mais aussi dans Google Calendar : en cliquant dans le menu de gauche sur la flêchette à côté de la catégorie "Autres agendas", il est possible d'en "Ajouter par URL". Attention, pour être sûr d'avoir l'horaire de toute l'année, il faut modifier l'URL pour qu'il se termine par ...&week=141
!
Ceci fait, il est possible de visualiser en temps réel son horaire, par exemple en l'affichant dans les agendas d'un téléphone tournant sous Android. Il suffit d'aller dans l'application Agenda et, dans le menu, ajouter l'agenda mongehol
aux agendas synchronisés et affichés.
En espérant que cela serve à quelques uns.
Communication technique pour bien commencer l'année à l'Université Libre de Bruxelles (ULB) ; nous avons plusieurs systèmes et programmes qu'il peut être utile de connaître voire de savoir utiliser.
Pour ceux qui ne connaissent pas GeHoL, nouveau ou ancien, il s'agit de l'outil de « Gestion des Horaires et des Locaux », comprendre : l'outil en ligne où récupérer ses horaires de cours.
Après s'être connecté avec son netid (initiale du prénom accolée aux 7 premières lettres du nom de famille, quand il n'y a pas de conflit) sur Mon horaire, sont affichés uniquement les horaires des cours auxquels un étudiant est inscrit.
Fini d'avoir l'entièreté de l'horaire disponible affichée, toutes options confondues, pour tous les groupes possibles d'une année, …
De plus, il est possible d'ajouter à son horaire des cours supplémentaires (ou de cacher ceux qui sont en excédent ; GeHoL peut être adapté aux horaires les plus lourds ou les plus légers) : dans l'onglet Mes Cours, l'œil accolé aux cours dans la colonne de gauche permet d'en masquer l'horaire quand cliqué, la colonne de droite permet d'ajouter des cours à son horaire global.
Enfin, pour ceux qui sont intéressés, il est possible d'intégrer son horaire GeHoL dans les applications qui le supportent. Depuis l'onglet Mon horaire, il suffit d'exporter celui-ci "en iCal" (Exporter l'horaire au format iCal).
Le lien obtenu doit ressembler à http://mongehol.ulb.ac.be/Controlleurs/ICal.php?cal=[une clef unique]&week=1
. Il est dès lors possible d'ajouter l'URL à un agenda, iCal sous Mac OS X par exemple, mais aussi dans Google Calendar : en cliquant dans le menu de gauche sur la flêchette à côté de la catégorie "Autres agendas", il est possible d'en "Ajouter par URL". Attention, pour être sûr d'avoir l'horaire de toute l'année, il faut modifier l'URL pour qu'il se termine par ...&week=141
!
Ceci fait, il est possible de visualiser en temps réel son horaire, par exemple en l'affichant dans les agendas d'un téléphone tournant sous Android. Il suffit d'aller dans l'application Agenda et, dans le menu, ajouter l'agenda mongehol
aux agendas synchronisés et affichés.
En espérant que cela serve à quelques uns.