« Installation de Raspbian » : différence entre les versions
(→En utilisant la commande arp : arp c'est vraiment trop compliqué utilisation de Nmap) |
|||
Ligne 145 : | Ligne 145 : | ||
==== En utilisant Nmap ==== | ==== En utilisant Nmap ==== | ||
Nmap (abréviation de « Network Mapper ») est un utilitaire open-source qui permet notamment de découvrir les hôtes présents sur un réseau donné. C'est cette fonctionnalité que nous allons utiliser. | Nmap (abréviation de « Network Mapper ») est un utilitaire open-source qui permet notamment de découvrir les hôtes présents sur un réseau donné. C'est cette fonctionnalité que nous allons utiliser. [https://nmap.org/download.html Télécharger Nmap] | ||
On pourra utiliser Nmap de deux façon soit en utilisant | |||
==== Depuis l'interface du routeur ==== | ==== Depuis l'interface du routeur ==== |
Version du 16 mars 2018 à 12:08
Cet article est en construction: un auteur est en train de le modifier.
En principe, le ou les auteurs en question devraient bientôt présenter une meilleure version.
Grâce à cette page vous serez à même d'installer la version la plus récente de Raspbian (Stretch 2017-11-29 à l'heure où j'écris ces lignes). L'installation que nous allons faire est de type « Headless » c'est à dire que l'on procède à l'installation sans utiliser d'écran, ni de clavier/souris. L'avantage de ce type d'installation est de permettre d'installer sur un Raspberry Pi qui est simplement connecté au réseau, par exemple un serveur de fichiers, qui n'a donc pas besoin d'interfaces Homme-Machine telles qu'un écran ou clavier/souris.
Cette page poursuit un second but qui est de familiariser l'utilisateur à l'usage de la ligne de commande, c'est pour cela que les commandes utilisées sont détaillées et explicitées.
Travaillant sur une machine Apple cette page sera plutôt orientée OS X, cependant il est fort possible que les commandes utilisées fonctionnent pour n'importe quel autre système UNIX. De plus je tâcherai de fournir les outils nécessaires aux utilisateurs Windows.
Quelle distribution choisir : lite ou desktop ?
Avant de télécharger Raspbian il faut savoir qu'il existe en deux version : une version avec desktop et une version lite. La différence entre ces deux versions (et leur appellation est trompeuse) est la suivante : la distribution lite ne contient que l'essentiel, c'est-à-dire uniquement le système d'exploitation. Elle ne contient même pas d'interface utilisateur graphique (GUI). La distribution desktop, elle, contient un environnement graphique ainsi que de nombreuses applications supplémentaires telles que : OpenOffice, Minecraft, Chromium, Wolfram.
Sachant que le Raspberry Pi possède des ressources bien plus limitées qu'un ordinateur de bureau traditionnel il n'est pas forcément nécéssaire de s'encombrer d'une version desktop qui installera des applications dont on aura pas forcément l'utilité. De plus ces applications peuvent aisément être installées par la suite (il en va de même pour l'interface graphique utilisateur, nous le verrons sur cette page d'ailleurs). C'est pour cela que je recommande vivement l'installation d'une version lite plutôt qu'une version avec desktop.
Cependant si votre but est de découvrir de nouvelles applications, ou d'expérimenter l'environnement linux il peut être judicieux d'installer une version desktop, mais dans le cadre d'une utilisation headless ce serait superflu.
Télécharger Raspbian Stretch
Maintenant que vous avez choisi votre distribution vous pourrez télécharger les versions les plus récentes de Raspbian en
.
Comme le but de cette page est d'apprendre à installer Raspbian en headless il serait bon de « s'échauffer » en commençant par télécharger votre distribution en ligne de commande.
Tout d'abord on va se placer dans notre dossier téléchargements
$ cd ~/Downloads
Ensuite on procède au téléchargement du fichier au moyen de la commande curl
avec l'option « O » qui permet de récupérer le nom de fichier utilisé sur l'hôte distant, dans l'exemple ci dessous cela signifie que votre téléchargement s'appellera : 2017-11-29-raspbian-stretch-lite.zip.
$ curl -O http://downloads.raspberrypi.org/raspbian_lite/images/raspbian_lite-2017-12-01/2017-11-29-raspbian-stretch-lite.zip
En cas de doutes sur la commande curl
vous pouvez toujours consulter l'aide : « curl -h » ou le manuel « man curl ». Ici il faut bien veiller à télécharger la dernière version (toutes les informations sont présentes en suivant le lien de téléchargement donné au début de cette section, ce qui signifie qu'elles peuvent potentiellement ne plus être à jour).
Bien que télécharger ce fichier via la commande curl peut sembler exagéré , il est toujours utile de se familiariser avec cette commande qui est particulièrement puissante.
Une fois le téléchargement terminé il faudra alors le décompresser. Pour cela nous utiliserons la commande tar
(qui sert à dé/compresser des fichiers) avec les options suivantes : xvf. X sert à indiquer à tar qu'il doit fonctionner en mode extraction, v active le mode verbeux (verbose) et f indique simplement l'emplacement de l'archive. Ici l'ordre des arguments est important (x doit toujours être en premier et f doit être suivi du nom de fichier).
$ tar -xvf 2017-11-29-raspbian-stretch-lite.zip
Si tout s'est déroulé comme prévu vous devriez trouver votre image de Raspbian lite au chemin suivant : ~/Downloads/2017-11-29-raspbian-stretch-lite.img
Préparer la carte SD et monter l'image dessus
Pour commencer il suffit de connecter la carte SD à l'ordinateur (que ce soit par l'intermédiaire d'un port dédié, ou par l'intermédiaire d'un lecteur externe).
Déterminer l'identifiant du système de fichiers de la carte SD
Nous allons utiliser la commande df
qui affiche l'utilisation des disques en se basant sur le système de fichiers (c-à-d disques entiers, médias amovibles). Nous allons passer l'option -h, ici le h indique que les résultats retournés doivent être présentés sous une forme lisible par un humain (le h vient de humain). Vous devriez obtenir en retour quelque chose de similaire à ce qui suit :
$ df -h
Filesystem Size Used Avail Capacity iused ifree %iused Mounted on
/dev/disk1 465Gi 350Gi 114Gi 76% 91933614 29862480 75% /
devfs 186Ki 186Ki 0Bi 100% 643 0 100% /dev
map -hosts 0Bi 0Bi 0Bi 100% 0 0 100% /net
map auto_home 0Bi 0Bi 0Bi 100% 0 0 100% /home
/dev/disk3s1 60Gi 38Gi 21Gi 65% 312815 175881 64% /Volumes/SD
Ce qui se trouve au dessus se décrypte de la manière suivante :
- le disque dur de l'ordinateur est monté comme /dev/disk1 (c'est toujours le cas), on le repère de deux manières : parce qu'il est monté à la racine du système fichier, et parce qu'il s'agi du disk1.
- devfs, map -hosts et map auto-home sont montés par le système de fichiers mais ne nous concernent pas pour l'activité qui nous occupe présentement.
- On remarque que /Volumes/SD apparaît comme /dev/disk3s1 (cet identifiant diffère pour chaque système c'est pourquoi il faut suivre les étapes de ce tutoriel et non juste copier les commandes données). C'est notre carte SD, que l'on peut identifier de plusieurs façons :
- Le nom du volume, je sais que ma carte SD s'appelle SD, c'est la méthode la plus sûre.
- En se basant sur la taille, je sais que c'est une carte de 64GB (ce qui correspond à 60Gi), cette méthode ne marche pas si vous avez plusieurs volumes ayant la même taille (peu probable).
- Finalement on peut aussi procéder par élimination (peu recommandable).
Démonter la carte SD
L'étape suivante va être de démonter la carte SD, il ne s'agi pas là de la déconnecter. Pour ce faire on va utiliser la commande diskutil
. Cette commande rempli les même fonctions que l'utilitaires de disques Apple. En effet, il s'agi du même programme sauf qu'il est ici utilisé en ligne de commande plutôt que de passer par l'interface graphique.
Toute les fonctions intéressantes de diskutil sont réservée au root il faudra alors utiliser sudo
pour donner les droits, et entrer votre mot de passe de session.
On aura donc la commande suivante :
$ sudo diskutil unmount /dev/disk3s1
Password:
Volume SD on disk3s1 unmounted
Ici on a plusieurs commandes, tout d'abord : sudo
(substitute user do) qui permet de faire une action en se substituant à un utilisateur (en l'occurence root, qui est inaccessible par défaut sous macOS). On fait également appel à la fonction unmount
de diskutil
à laquelle on passe l'argument du disque à démonter (dans cet exemple /dev/disk3s1).
Monter l'image de Raspbian sur la carte SD
Après cela il va être temps de copier notre image de Raspbian sur la carte SD. Pour cela nous allons utiliser la commande dd
qui permet de « convertir et copier un fichier », elle permet entre autres de copier une image sur un volume.
Nous allons passer plusieurs options à la commande dd. Tout d'abord nous allons spécifier la taille des blocs (block size) à 1 megabyte avec l'option bs=1m
. Avec l'option if=~/Downloads/2017-11-29-raspbian-stretch-lite.img
nous allons spécifier le fichier d'entrée (input file). Ensuite avec l'option of=/dev/rdisk3
on va indiquer le fichier de sortie (output file). Finalement l'option conv=sync
nous assure que les données transférées seront adaptées pour rentrer dans les blocs de 1 megabyte que nous avons spécifié précédemment.
Attention : vous devez utiliser l'identifiant de disque que vous avez obtenu précédemment. C'est-à-dire que si votre carte SD est sous /dev/disk2s1 il faudra utiliser /dev/rdisk2. Soyez bien attentif au numéro que vous entrez, si vous entrez celui d'un autre volume les données de celui-ci pourraient être écrasées.
Avertissement : Ce processus peut-être long (plusieurs minutes) suivant la vitesse de la carte utilisée, du disque dur, la taille de l'image (surtout si vous n'avez pas opté pour une distribution light). Patientez et ne paniquez pas !
Si l'on met toute cela ensemble on obtient le résultat suivant.
$ sudo dd bs=1m if=2017-11-29-raspbian-stretch-lite.img of=/dev/rdisk3 conv=sync
1772+0 records in
1772+0 records out
1858076672 bytes transferred in 89.172288 secs (20836929 bytes/sec)
Vous devez maintenant pouvoir voir dans le Finder une carte SD nommée boot. Dans ce cas félicitations vous avez réussi à copier l'image.
Si l'on utilise la commande df -h
à nouveau on devrait maintenant obtenir le résultat suivant :
$ df -h
Filesystem Size Used Avail Capacity iused ifree %iused Mounted on
/dev/disk1 465Gi 351Gi 113Gi 76% 92149978 29646116 76% /
devfs 187Ki 187Ki 0Bi 100% 647 0 100% /dev
map -hosts 0Bi 0Bi 0Bi 100% 0 0 100% /net
map auto_home 0Bi 0Bi 0Bi 100% 0 0 100% /home
/dev/disk3s1 41Mi 21Mi 20Mi 51% 0 0 100% /Volumes/boot
Vous remarquerez que la taille de la carte SD a drastiquement diminuée, c'est normal. En effet elle a maintenant pris la taille de l'image que l'on a copié dessus. Nous nous occuperons plus tard de lui rendre sa taille originelle.
Activer SSH
Avant d'éjecter la carte il nous faut encore activer SSH sur Raspbian (il s'agi d'une installation headless).
Nous allons donc utiliser la commande touch
qui permet de modifier les dates de modification et d'accès d'un fichier et si le fichier spécifié n'existe pas il est alors créé. C'est cette particularité que nous allons utiliser.
$ touch /Volumes/boot/ssh
Ejecter la carte SD
C'est la dernière phase de cette étape. Il est essentiel d'éjecter correctement le périphérique pour pouvoir le débrancher sans risques. Nous allons donc utiliser la fonction eject de diskutil
pour y parvenir. Soyez attentif d'utiliser le bon identifiant de disque (celui déterminé au dessus) dans la commande.
$ sudo diskutil eject /dev/rdisk3
Password:
Disk /dev/rdisk3 ejected
Une fois que le terminal vous a affiché que le disque était éjecté vous pouvez alors le retirer sans risques.
A faire
- Proposer de le faire via la GUI. Est-ce vraiment nécessaire ? On perd l'intérêt d'apprendre à utiliser la ligne de commande... A y réfléchir ! Kevin Oulevey (discussion)
- Si je le fais il faudra le montrer également depuis windows.
Mise en route et configuration du Raspberry Pi
Après avoir inséré la carte micro SD dans votre Raspberry Pi et connecté un cable ethernet vous pouvez le brancher. Après une petite minute il devrait avoir complètementdémarré. Cela signifie qu'il devrait avoir reçu une adresse IP du routeur. Maintenant il nous faut trouver l'adresse IP du Raspberry Pi.
Obtenir l'adresse IP du Raspberry Pi
En utilisant Nmap
Nmap (abréviation de « Network Mapper ») est un utilitaire open-source qui permet notamment de découvrir les hôtes présents sur un réseau donné. C'est cette fonctionnalité que nous allons utiliser. Télécharger Nmap
On pourra utiliser Nmap de deux façon soit en utilisant
Depuis l'interface du routeur
Si votre routeur fonctionne en DHCP (c'est le cas à moins que vous l'ayez configuré différemment) vous pouvez depuis l'interface de gestion visualiser les périphériques connectés à votre réseau. Ici cela dépend des modèles de routeurs de votre FAI, je ne pourrais donc pas tous les décrire.
Brancher le RPi, le trouver sur le réseau, s'y connecter via SSH, étendre le système de fichiers, reboot, modifier passwd, continuer avec sa vie.