A la découverte de linux pour le Raspberry Pi

Publié le 21 février 2014

La distribution Raspbian est livrée avec LXDE (Lightweight X11 Desktop Environment), un environnement de bureau graphique simplifié qui tourne sur des ordinateurs Unix et Linux depuis les années 1980. Une partie des outils visibles sur le Bureau et dans le menu (l’éditeur de texte Leafpad et le shell LX Terminal, par exemple) sont fournis avec LXDE.

Figure 2-1. L’interface graphique

Figure 2-1. L’interface graphique

Openbox est un gestionnaire de fenêtres (window manager) qui contrôle l’aspect des fenêtres et des menus sous LXDE. Pour modifier l’apparence de votre Bureau, lancez simplement l’outil de configuration d’Openbox. Pour cela, cliquez sur le menu Desktop en bas à gauche et choisissez Other>Openbox Configuration Manager. Contrairement à Mac OS X et Windows, il est facile de personnaliser votre environnement de travail ou d’installer d’autres gestionnaires de fenêtres. D’autres distributions Linux pour le Raspberry Pi offrent des environnements différents, destinés à des applications telles que les lecteurs multimédias, les systèmes téléphoniques et les pare-feu pour les réseaux. Pour obtenir la liste complète et actualisée des distributions, consultez la page suivante : http://elinux.org/RPi_Distributions.

Les différents outils que vous serez amené à utiliser fréquemment sont les suivants.

Le gestionnaire des fichiers (File Manager)

Si vous préférez déplacer vos fichiers sans passer par la ligne de commande (voir plus loin), sélectionnez File Manager dans le menu Accessories. Vous pourrez alors naviguer dans le système de fichiers grâce à des icônes et des dossiers, comme vous en avez probablement l’habitude.

Le navigateur web

Figure 2-2. Le menu déroulant du navigateur web

Figure 2-2. Le menu déroulant du navigateur web

Le navigateur web par défaut, Midori, a été élaboré de manière à pouvoir fonctionner avec peu de ressources. On oublie facilement la multitude de tâches effectuées par les navigateurs de nos jours. Raspbian a été conçu pour être une distribution très légère et certaines fonctionnalités que vous attendez d’un navigateur peuvent faire défaut. Par exemple, les plug-ins Flash et Java ne sont pas installés sur Midori, vous ne pourrez donc pas accéder à YouTube, ni lire de vidéos HTML5. Nous verrons plus loin comment installer d’autres logiciels tels que Java. Vous trouverez les outils et les options de Midori dans le menu déroulant situé en haut à droite de la fenêtre (figure 2-2). Vous pouvez également installer d’autres navigateurs comme NetSurf et Dillo.

La vidéo et l’audio

La lecture multimédia est assurée par omxplayer, un logiciel encore en version bêta, et qui existe seulement en ligne de commande. omxplayer a été conçu pour fonctionner avec le GPU (Graphics Processing Unit) du SoC Broadcom, ce qui libère le CPU de lourds calculs. D’autres logiciels gratuits comme VLC et mPlayer fonctionnent moins bien car ils ne sont pas adaptés pour travailler avec le GPU.

Pour réduire son prix de vente, le Raspberry Pi n’est pas fourni avec les licences permettant de décoder certains types de vidéos. Si vous souhaitez regarder des programmes télévisés ou des DVD encodés au format MPEG-2 (ou le format VC-1 de Microsoft), vous serez obligé d’acheter une clé de licence sur la boutique en ligne de la fondation Raspberry Pi. Une licence de décodage et d’encodage H.264 (MPEG-4) est toutefois livrée avec le Raspberry Pi.

L’éditeur de texte

Leafpad est l’éditeur de texte par défaut disponible dans le menu principal. En ligne de commande, nano  est un autre éditeur très simple et facile à utiliser. Les autres éditeurs de texte traditionnels Unix (comme vim et emacs) ne sont pas installés par défaut mais sont faciles à obtenir (voir la section « Installation de nouveaux logiciels », page 41).

La fonction copier-coller

Les fonctions Copier et Coller fonctionnent la plupart du temps sans problème entre les applications, mais certains programmes ne gèrent pas ces fonctions correctement. Si votre souris est équipée d’une molette centrale, sélectionnez le texte à copier comme vous le feriez habituellement (cliquez-glissez avec le bouton gauche de la souris). Placez ensuite le curseur de la souris sur la fenêtre de destination et collez le texte en appuyant sur la molette centrale.

Le shell

Beaucoup de tâches nécessitent l’utilisation de la ligne de commande. Le programme LXTerminal vous permet d’accéder à cette ligne de commande et au shell. Le shell par défaut sur Raspbian, ainsi que sur la majorité des systèmes Linux, s’appelle Bourne-Again Shell (ou bash). Il existe une alternative appelée dash. Vous pouvez changer de shell par le menu Programme ou par la commande chsh.

Utilisation de la ligne de commande

Si cela peut vous aider, vous pouvez imaginer la ligne de commande comme un jeu d’aventure textuel à la Zork, dans lequel les fichiers et le système de fichiers remplacent les monstres et les labyrinthes. Si cette métaphore ne vous aide pas, ne vous inquiétez pas. Toutes les commandes et tous les concepts que nous allons aborder dans cette section sont des standards Linux qu’il est intéressant de connaître.

Avant toute chose, ouvrez le programme LXTerminal (figure 2-3). Deux fonctionnalités vous faciliteront la vie dans le shell : l’autocomplétion et la mémorisation des dernières commandes. La plupart du temps, vous n’aurez qu’à saisir que les premiers caractères d’une commande ou du nom d’un fichier, puis à appuyer sur la touche Tab. Le shell vous proposera de compléter la commande en fonction des noms de fichier qui se trouvent dans le répertoire courant, ou des programmes situés dans les répertoires souvent utilisés (le shell va chercher les programmes exécutables à des emplacements tels que /bin ou /usr/bin/).

Si vous appuyez sur la flèche du haut dans la ligne de commande, vous reviendrez en arrière dans l’historique des commandes. Cette fonction s’avère fort utile si vous avez mal saisi un caractère dans une longue chaîne de commandes ou si vous devez répéter et modifier des opérations.

Figure 2-3. LXTerminal vous permet d’accéder à la ligne de commande (ou shell).

Figure 2-3. LXTerminal vous permet d’accéder à la ligne de commande (ou shell).

Les fichiers et le système de fichiers

Le tableau 2-1 liste certains des répertoires les plus importants dans le système de fichiers de Raspbian. La plupart d’entre eux suivent le standard Linux pour leur structure. Quelques-uns sont spécifiques au Raspberry Pi. Le répertoire /sys permet d’accéder à tout le matériel de votre Pi.

RÉPERTOIRE DESCRIPTION
/ La « racine », c’est l’entrée du labyrinthe du système de fichiers.
/bin Programmes et commandes pour tous les utilisateurs
/boot Tous les fichiers nécessaires au démarrage du noyau
/dev Fichiers spéciaux qui représentent les périphériques installés.

Des fichiers virtuels qui permettent de communiquer avec des périphériques, comme les ports série, l’écran…

/etc Fichiers de configuration du système
/etc/init.d Scripts pour démarrer les services du système
/etc/X11 Fichiers de configuration pour le mode graphique X11
/home Répertoires personnels des utilisateurs
/home/pi Répertoire personnel pour l’utilisateur Pi
/lib Bibliothèques partagées et modules du noyau
/media Points de montage pour les supports amovibles (c’est ici qu’apparaîtra votre clé USB Flash, par exemple)
/proc Répertoire virtuel contenant des informations sur les processus en cours et le système d’exploitation.
/sbin Programmes pour l’administration du système
/sys Répertoire spécial contenant des fichiers qui contrôlent le matériel.
/tmp Emplacement dans lequel les programmes peuvent créer des fichiers temporaires (ils sont effacés à chaque redémarrage).
/usr Programmes et données accessibles par tous les utilisateurs
/usr/bin La plupart des programmes du système d’exploitation se trouvent ici.
/usr/games Oui, des jeux
/usr/lib Autres bibliothèques partagées pour fournir des fonctions standards à la plupart des applications
/usr/local Logiciels spécifiques à une machine
/usr/sbin Autres programmes d’administration du système
/usr/share Fichiers communs aux applications, comme les icônes et les polices de caractères
/usr/src Linux est open source, voici donc les codes sources.
/var Journal des messages du système et données en attente
/var/backups Sauvegardes des fichiers système les plus critiques
/var/cache Contient les fichiers de cache des programmes (comme apt−get ou un navigateur web).
/var/log Archive des messages du système (logs)
/var/mail Les e-mails sont mis en attente ici, si votre Pi est paramétré pour les gérer.
/var/spool Les données en attente (e-mails entrants, documents à imprimer, etc.)

Votre répertoire actuel s’affichera devant l’invite de commande, aussi appelée le prompt. Sous Linux, votre répertoire personnel (home) est aussi représenté avec le caractère ~ pour faire plus court. À l’ouverture de LXTerminal, vous vous trouverez dans votre répertoire personnel et votre prompt ressemblera à ceci :

pi@raspberry ~ $

Voici une explication de ce prompt :

pi1 @raspberry2  ~3  $ 4

1 Votre nom d’utilisateur, pi, suivi du caractère arobase (@).

2 Le nom de votre ordinateur (raspberry est le nom par défaut).

3 Le répertoire courant (current working directory) du shell. Lorsque vous démarrez une session, vous vous trouverez toujours dans votre répertoire personnel (~).

4 Le prompt du shell (ou invite de commande). Tout texte que vous saisirez apparaîtra à sa droite. Appuyez sur la touche Entrée après chacune de vos commandes pour les exécuter.

La commande cd (change directory) vous permet de naviguer dans le système de fichiers. Les deux commandes suivantes ont le même résultat (aller dans le répertoire personnel) pour l’utilisateur du Pi :

cd /home/pi/

cd ~

Si le nom du répertoire que vous indiquez commence par le caractère /, il sera interprété comme un chemin « absolu » (c’est-à-dire par rapport à la racine). Sinon, le répertoire sera considéré comme « relatif », c’est-à-dire par rapport au répertoire courant. Vous pouvez aussi employer. pour indiquer le répertoire courant et .. pour le répertoire parent. Par exemple, voici comment remonter vers la racine du système de fichiers :

pi@raspberrypi ~ $ cd ..

pi@raspberrypi /home $ cd ..

Vous pouvez aussi y arriver directement avec le chemin absolu (/) :

pi@raspberrypi ~ $ cd /

Dès que vous arrivez dans un répertoire, utilisez la commande ls pour afficher tous les fichiers et sous-répertoires :

pi@raspberrypi / $ ls

bin etc lost+found opt run srv var

boot home media proc sbin sys usr

dev lib mnt root selinux tmp

La plupart des commandes proposent des paramètres supplémentaires ou « arguments » pour activer des options et comportements divers. Par exemple, l’argument −l de ls fournit une liste plus détaillée montrant la taille des fichiers, leurs dates et leurs permissions :

pi@raspberrypi / $ ls –l

total 8

drwxr−xr−x 2 pi pi 4096 Oct 12 14:26 Desktop

drwxrwxr−x 2 pi pi 4096 Jul 20 14:07 python_games

L’argument −a liste tous les fichiers, même ceux qui sont normalement invisibles :

pi@raspberrypi ~ $ ls −la

total 80

drwxr−xr−x 11 pi pi 4096 Oct 12 14:26 .

drwxr−xr−x 3 root root 4096 Sep 18 07:48 ..

−rw−−−−−−− 1 pi pi 25 Sep 18 09:22 .bash_history

−rw−r−−r−− 1 pi pi 220 Sep 18 07:48 .bash_logout

−rw−r−−r−− 1 pi pi 3243 Sep 18 07:48 .bashrc

drwxr−xr−x 6 pi pi 4096 Sep 19 01:19 .cache

drwxr−xr−x 9 pi pi 4096 Oct 12 12:57 .config

drwx−−−−−− 3 pi pi 4096 Sep 18 09:24 .dbus

drwxr−xr−x 2 pi pi 4096 Oct 12 14:26 Desktop

−rw−r−−r−− 1 pi pi 36 Sep 18 09:35 .dmrc

drwx−−−−−− 2 pi pi 4096 Sep 18 09:24 .gvfs

drwxr−xr−x 2 pi pi 4096 Oct 12 12:53 .idlerc

−rw−−−−−−− 1 pi pi 35 Sep 18 12:11 .lesshst

drwx−−−−−− 3 pi pi 4096 Sep 19 01:19 .local

−rw−r−−r−− 1 pi pi 675 Sep 18 07:48 .profile

drwxrwxr−x 2 pi pi 4096 Jul 20 14:07 python_games

drwx−−−−−− 4 pi pi 4096 Oct 12 12:57 .thumbnails

−rw−−−−−−− 1 pi pi 56 Sep 18 09:35 .Xauthority

−rw−−−−−−− 1 pi pi 300 Oct 12 12:57 .xsession−errors

−rw−−−−−−− 1 pi pi 1391 Sep 18 09:35 .xsession−errors.old

Utilisez la commande mv pour renommer ou déplacer un fichier. La commande touch peut être employée pour créer un fichier vide :

pi@raspberrypi ~ $ touch foo

pi@raspberrypi ~ $ ls

foo Desktop python_games

pi@raspberrypi ~ $ mv foo baz

pi@raspberrypi ~ $ ls

baz Desktop python_games

Pour effacer un fichier, utilisez la commande rm. Si vous souhaitez supprimer un répertoire, vous pouvez utiliser rmdir si le répertoire est vide, et rm −r s’il ne l’est pas. L’argument −r est ajouté à la commande rm, il indique que tout le contenu du répertoire doit être supprimé récursivement (y compris les sous-répertoires).

Si vous voulez connaître tous les arguments proposés par une commande particulière, utilisez la commande man ou l’argument −−help :

pi@raspberrypi ~ $ man curl

pi@raspberrypi ~ $ rm −−help

Pour créer un nouveau répertoire, utilisez mkdir.

Pour regrouper tous les fichiers d’un répertoire dans un seul fichier d’archive, utilisez la commande tar (créée à l’origine pour gérer les archives sur bandes magnétiques). Vous noterez que beaucoup d’archives de fichiers, d’applications ou de codes sources sont distribués sous forme de fichiers de type tar. Ces fichiers sont souvent compressés avec la commande gzip et sont semblables à des archives au format .zip sur d’autres plates-formes. Essayez ceci :

pi@raspberrypi ~ $ mkdir myDir

pi@raspberrypi ~ $ cd myDir

pi@raspberrypi myDirtouch foo bar baz

pi@raspberrypi myDir $ cd ..

pi@raspberrypi ~ $ tar −cf myDir.tar myDir

pi@raspberrypi ~ $ gzip myDir.tar

Les deux dernières commandes peuvent être combinées avec l’argument −z de tar :

pi@raspberrypi ~ $ tar −czf myDir.tar.gz myDir

Vous obtenez une archive au format .tar.gz contenant tous les fichiers de ce répertoire. Elle pourra être sauvegardée ou encore partagée par e-mail ou via Internet.

D’autres commandes Linux

Le succès de Linux (et d’Unix) tient, entre autres, à sa philosophie modulaire, qui encourage la création de systèmes complexes à partir des programmes simples et qui peuvent communiquer entre eux facilement. Nous allons comprendre comment y arriver en examinant deux techniques : les tuyaux et les redirections.

Les tuyaux sont un moyen simple de chaîner deux programmes ensemble pour que la sortie de l’un aille dans l’entrée de l’autre. La plupart des programmes Linux peuvent lire des données sur leur « entrée standard » (souvent appelée stdin), écrire des données sur leur « sortie standard » (stdout) et envoyer les messages d’erreur sur leur erreur standard (stderr). Un tuyau vous permet de connecter le stdout d’un programme au stdin d’un autre (figure 2-4) au moyen de l’opérateur |, comme dans cet exemple :

pi@raspberrypi ~ $ ls −la | less

Figure 2-4. Les tuyaux permettent de chaîner des programmes simples pour réaliser des traitements complexes.

Figure 2-4. Les tuyaux permettent de chaîner des programmes simples pour réaliser des traitements complexes.

Appuyez sur la touche Q pour sortir du programme less.

Et maintenant, quelque chose de plus amusant à essayer :

pi@raspberrypi ~ $ sudo cat /boot/kernel.img | aplay

Il vaut mieux vérifier le volume des haut-parleurs avant de tenter cela. En effet, cette commande lit l’image du kernel et « crache » tous ses bits dans le lecteur audio. Vous pouvez entendre votre kernel !

Comme vous le verrez plus loin dans d’autres exemples de ce livre, nous allons aussi utiliser les redirections afin d’exécuter une commande et envoyer sa sortie stdout dans un fichier. L’autre philosophie de Linux, héritée de son inspiration Unix, est que « tout est fichier ». Linux traite donc beaucoup de choses de la même manière qu’il traite des fichiers ordinaires (comme les broches d’entrées et sorties généralistes de la carte Pi). Les redirections sont souvent très utiles. Pour rediriger la sortie stdout d’un programme dans un fichier, utilisez l’opérateur > :

pi@raspberrypi ~ $ ls > directoryListing.txt

La liste des fichiers du répertoire courant est alors écrite dans un fichier.

En plus de l’autocomplétion (touche Tab) et de l’historique des commandes (flèche de direction vers le haut), il existe aussi des combinaisons de touches dont vous aurez besoin pour utiliser le shell. En voici quelques-unes :

• Ctrl + C

Termine le programme en cours d’exécution. Cette combinaison ne fonctionne pas pour tous les programmes, comme les éditeurs de texte qui l’interprètent différemment.

• Ctrl + D

Termine la session dans le shell, lorsque cette combinaison de touches est tapée dans une ligne de commande vide (ne saisissez rien après le $ avant de taper Ctrl + D).

• Ctrl + A

Déplace le curseur au début de la ligne (équivalent de la touche Début).

• Ctrl + E

Déplace le curseur à la fin de la ligne (équivalent de la touche Fin).

Il existe d’autres touches et combinaisons spéciales, nous ne vous présentons que celles que vous serez amené à utiliser tous les jours.

Vous voudrez parfois afficher le contenu d’un fichier sur votre écran. S’il s’agit d’un fichier texte et que vous avez envie de le lire page à page, utilisez less :

pi@raspberrypi ~ $ ls > flob.txt

pi@raspberrypi ~ $ less flob.txt

Si vous voulez simplement envoyer tout le contenu d’un fichier sur la sortie standard, utilisez cat (pour concatenate). Ceci peut s’avérer pratique si vous souhaitez transmettre votre fichier à un autre programme ou le rediriger quelque part. Et puisque sous Linux, « tout est fichier », on peut « brancher » le générateur de nombres aléatoires sur la mémoire de l’écran :

pi@raspberrypi ~ $ cat /dev/urandom > /dev/fb0

La commande cat permet aussi de concaténer des fichiers, dont on indique les noms en argument. Par exemple, l’exemple suivant crée un fichier, le recopie, puis concatène ces deux fichiers dans un troisième :

pi@raspberrypi ~ $ ls > wibble.txt

pi@raspberrypi ~ $ cat wibble.txt > wobble.txt

pi@raspberrypi ~ $ cat wibble.txt wobble.txt > wubble.txt

Pour examiner les dernières lignes d’un fichier, comme les derniers ajouts à un fichier de log, utilisez tail. Pour voir le début, utilisez head.

Si vous cherchez un mot ou une chaîne de caractères à l’intérieur d’un ou plusieurs fichiers, utilisez le vénérable programme grep. Ici, on lui demande de chercher le mot-clé « Puzzle » dans tous les fichiers des sous-répertoires :

pi@raspberrypi ~ $ grep Puzzle */*

grep est un outil puissant grâce à son système d’expressions régulières sophistiquées spécialement conçu pour lui. Ces dernières permettent de décrire la suite de caractères à rechercher mais sa syntaxe devient rapidement absconse et participe injustement à la réputation de Linux comme étant un système compliqué pour les novices.

LES PROCESSUS

Chaque programme du Pi s’exécute séparément et simultanément, et une application peut se décomposer en un ou plusieurs processus. À tout moment, il peut y avoir des dizaines de processus en cours d’exécution. Quand vous démarrez le Pi pour la première fois, 75 processus environ sont lancés, chacun réalisant une tâche ou fournissant un service différent. Si vous voulez voir les processus, lancez le programme top, qui affichera également des informations sur l’utilisation du processeur et l’occupation de la mémoire. Ce programme vous aidera à reconnaître les processus qui consomment le plus de ressources. Utilisez la commande ps pour afficher tous les processus et leurs identifiants (PID pour Process IDentifier, première colonne à droite). Essayez :

pi@raspberrypi ~ $ ps −aux | less

Vous pouvez filtrer la sortie avec un mot-clé grâce à grep :

pi@raspberrypi ~ $ ps −aux | grep bash

Il peut arriver que vous vouliez arrêter un processus qui ne fonctionne pas correctement ou qui ne répond plus. Pour ce faire, utilisez ps pour trouver son identifiant, puis kill pour l’arrêter.

pi@raspberrypi ~ $ kill 95689

Vous ne pouvez pas tuer les processus que vous n’avez pas lancés vous-même, en particulier ceux du système d’exploitation. Nous allons justement parler de sudo, commande qui vous permettra parfois d’intervenir dans ce genre de cas.

SUDO ET LES PERMISSIONS

Linux est un système d’exploitation multi-utilisateur. En règle générale, chacun est propriétaire de ses propres fichiers et a le droit de les créer, de les modifier et de les effacer dans son propre espace du système de fichiers.

En tant qu’utilisateur pi, vous ne risquez pas de causer beaucoup de dégâts au système. Cependant, quand vous vous connectez avec sudo au compte administrateur (appelé root), vous pouvez faire des ravages, par accident ou intentionnellement. Il faut faire attention quand vous utilisez sudo, surtout quand vous déplacez ou modifiez des fichiers. En cas d’accident, il n’est pas possible d’annuler les commandes et vous devrez charger une nouvelle image dans la carte SD (voir annexe A).

Il existe quelques outils comme sudo qui permettent aux utilisateurs d’obtenir les droits d’administration sans les risques (et les responsabilités) qui peuvent exister en étant constamment connecté au compte root. Vous utiliserez souvent sudo pour manipuler le matériel directement, ou lorsque vous souhaiterez modifier les paramètres du système.

Chaque fichier appartient à un utilisateur spécifique et à un groupe en particulier. Utilisez les commandes chown et chgrp pour changer le propriétaire ou le groupe d’un fichier. À noter que vous devez être l’utilisateur root pour employer l’une de ces deux commandes :

pi@raspberrypi ~ $ sudo chown pi garply.txt

pi@raspberrypi ~ $ sudo chgrp staff plugh.txt

Chaque fichier possède aussi un ensemble de permissions (ou droits d’accès) qui spécifient si un fichier peut être lu, écrit ou exécuté. Ces permissions peuvent être accordées au propriétaire du fichier, au groupe ou à toute autre personne (figure 2-5).

Figure 2-5. Les permissions pour le propriétaire du fichier, le groupe ou tout autre utilisateur. La commande affiche les permissions pour chaque fichier, à commencer par les autorisations de lecture/ écriture/exécution pour le propriétaire, le groupe et le reste du système. Avec sudo ou dans le compte root, toutes les permissions sont accordées.

Figure 2-5. Les permissions pour le propriétaire du fichier, le groupe ou tout autre utilisateur.
La commande affiche les permissions pour chaque fichier, à commencer par les autorisations de lecture/
écriture/exécution pour le propriétaire, le groupe et le reste du système. Avec sudo ou dans le compte root, toutes les permissions sont accordées.

Pour définir des autorisations individuelles, utilisez la commande chmod (pour change mode). Les arguments de chmod sont décrits dans le tableau 2-2.

ARGUMENT DESCRIPTION
u Utilisateur
g Groupe
o Autres utilisateurs (ne faisant pas partie du groupe)
a Tout le monde (affecte u, g et o)
r Autorisation de lire
w Autorisation d’écrire
x Autorisation d’exécuter
+ Ajouter une autorisation
Supprimer une autorisation

Voici quelques exemples qui vous montrent comment combiner ces arguments :

chmod u+rwx,g−rwx,o−rwx wibble.txt1

chmod g+wx wobble.txt2

chmod −xw,+r wubble.txt3

1Autorise uniquement l’utilisateur à lire, écrire et exécuter.

2Ajoute une permission d’écriture et d’exécution pour les membres du groupe.

3Permission de lecture uniquement pour tout le monde.

Mais comme cela peut vite devenir illisible, les arguments sont souvent condensés en notation octale :

chmod 744 wabble.txt

744 signifie « tout le monde peut lire le fichier mais seul le propriétaire peut le modifier ou l’exécuter ». Comme il y a peu de combinaisons d’arguments utiles ou sûres, on n’a besoin de mémoriser que quelques nombres.

À noter que la seule chose qui protège votre système de fichiers et vos fichiers est votre mot de passe. Par conséquent, nous vous conseillons d’en choisir un qui soit très fiable et difficile à trouver. Pour le modifier, utilisez la commande passwd, notamment lorsque vous connectez votre Raspberry Pi à un réseau.

LE RÉSEAU

Lorsque vous serez connecté à un réseau, vous utiliserez régulièrement un certain nombre d’outils Linux. Par exemple, si votre connexion est défectueuse, utilisez ifconfig qui affiche toutes les interfaces de votre Pi ainsi que les éventuelles adresses IP associées (figure 2-6).

Figure 2-6. La commande ifconfig affiche les informations relatives à toutes vos interfaces réseau.

Figure 2-6. La commande ifconfig affiche les informations relatives à toutes vos interfaces réseau.

La commande ping est l’outil le plus basique pour vérifier si une connexion réseau fonctionne. ping teste s’il y a une connexion bidirectionnelle entre deux adresses IP sur un réseau local ou sur Internet. Notez que beaucoup de sites web bloquent les paquets de ping, donc vous aurez probablement besoin de « pinger » plusieurs sites avant de valider votre connexion :

ping yahoo.com

ping altavista.com

ping lycos.com

ping netscape.com 1

1 Ne répond pas, bien que son site web fonctionne.

Pour vous connecter sur un autre ordinateur à distance, en toute sécurité et avec des mots de passe cryptés, vous utiliserez ssh, le terminal sécurisé (Secure Shell). L’ordinateur distant doit faire tourner un serveur de protocole SSH pour que ça marche. Le programme client ssh est fourni par défaut avec Raspbian. C’est le meilleur moyen de travailler sur votre Raspberry Pi sans l’équiper d’un moniteur ou d’un clavier dédiés (voir l’encadré suivant « Travailler sans écran »).

Dans la même catégorie que ssh, le programme sftp vous permet de transférer des fichiers d’un ordinateur à un autre en sécurité. Le programme scp, quant à lui, vous permet de copier les fichiers d’un compte à un autre par un réseau ou par Internet (il est plus puissant que sftp). Le point commun de ces outils est qu’ils utilisent tous le protocole SSL (Secure Sockets Layer) pour transférer les informations dans une connexion cryptée. Ces outils standards font partie des piliers de Linux.

Si vous avez envie de travailler sur votre Raspberry Pi sans moniteur ni clavier ni souris, voici quelques astuces pour le configurer dans ce mode, appelé headless. Si vous n’avez besoin que d’un accès à la ligne de commande, vous pouvez simplement brancher votre Pi à un réseau et utiliser un client ssh pour vous y connecter (nom d’utilisateur : pi, mot de passe par défaut : raspberry). L’application Terminal du Mac fonctionnera, ainsi que PuTTY sous Windows ou Linux, ou encore ssh sous Linux. Le serveur ssh du Raspberry Pi est activé par défaut (exécutez raspi−config s’il ne se lance pas au démarrage).

Un autre moyen de vous connecter à votre Pi via un réseau consiste à installer un serveur VNC (Virtual Network Computing) sur le Pi et à vous y connecter grâce à un client VNC. Vous pouvez alors faire tourner une interface graphique complète dans une fenêtre de votre ordinateur portable ou de bureau. Cette solution est idéale pour un environnement de développement portable. Rendez-vous sur la page du hub Raspberry Pi relative à l’installation détaillée de TightVNC, un serveur VNC léger.

Le répertoire /etc

Le répertoire /etc contient tous les fichiers de configuration du système et les scripts de démarrage. Lorsque vous avez lancé le programme de configuration raspi−config au premier démarrage, vous avez modifié des valeurs dans différents fichiers du répertoire /etc. Pour éditer ces fichiers, utilisez la commande sudo pour obtenir les droits du super utilisateur root. Ensuite, utilisez un éditeur de texte comme nano et lancez-le avec sudo :

pi@raspberrypi ~ $ sudo nano /etc/hosts

Réglage de la date et de l’heure

Les ordinateurs portables et les ordinateurs de bureau standards sont équipés de circuits et d’une pile (une petite batterie rechargeable ou une pile bouton au lithium) pour sauvegarder et rafraîchir l’heure et la date. Le Raspberry Pi n’en a pas, mais Raspbian est configuré pour synchroniser l’heure et la date automatiquement quand il est branché à un réseau, en communiquant avec un serveur NTP (Network Time Protocol, le protocole de synchronisation de l’heure).

Il est important que votre Pi soit à l’heure, surtout pour certaines applications. Pour régler l’heure et la date manuellement, utilisez le programme date :

$ sudo date −−set="Sun Nov 18 1:55:16 EDT 2012"

La commande man date liste tous les arguments, toutes les options et tous les formats pour l’affichage et la modification de l’heure et de la date.

Installation de nouveaux logiciels

En ce qui concerne la gestion de l’installation et de la mise à jour des logiciels et des applications, Linux domine incontestablement les autres systèmes d’exploitation tels Windows et Mac OS. Les gestionnaires de paquets (Package Managers) gèrent automatiquement le téléchargement et l’installation des logiciels. Chaque distribution dispose de son propre gestionnaire, couplé avec une énorme bibliothèque de logiciels précompilés et prêts à télécharger : plus de 29 000 paquets pour Debian, dont Raspbian est dérivé. Vous trouverez certainement ce qu’il vous faut et même beaucoup plus !

Les gestionnaires de paquets détectent aussi les autres paquets nécessaires au fonctionnement de chaque application. Ils les téléchargent et les installent dans le bon ordre. En effet, fidèles à l’approche modulaire de Linux, de nombreuses applications dépendent d’autres logiciels et partagent même des modules entre eux. Les gestionnaires de paquets sous Linux sont remarquablement robustes et assurent la cohérence et la stabilité du système.

Raspbian est une distribution plutôt minimaliste et vous aurez rapidement besoin de télécharger et d’installer de nouveaux programmes. Les exemples de ce livre utilisent tous la ligne de commande, moyen le plus flexible et le plus rapide pour installer un logiciel.

Le programme apt−get avec l’argument install va télécharger et installer des logiciels dont vous connaissez déjà le nom. apt−get va aussi télécharger les modules nécessaires à votre paquet pour que vous n’ayez pas besoin de chercher partout les dépendances. Les logiciels doivent être installés par l’administrateur, donc il faut toujours employer sudo. Par exemple, la commande suivante installe l’éditeur de texte emacs :

pi@raspberrypi ~ $ sudo apt−get install emacs

Une des premières fonctionnalités dont nous avons eu besoin pour rédiger ce livre a été de pouvoir réaliser des captures d’écran du Raspberry Pi. Pour ce faire, nous avons trouvé un programme nommé scrot (SCReenshOT). Une autre solution consiste à installer Gimp (GNU Image Manipulation Program) ou ImageMagick. Pour installer scrot, qui a bien fonctionné pour nous, tapez

sudo apt−get install scrot

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *