Documentation du Dr FRAPPE

Ce wiki regroupe les résultats de mes expériences en informatique accumulés au cours de mes recherches sur le net.

Dans la mesure du possible, j'ai cité mes sources ; il en manque certainement… :-)

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision Les deux révisions suivantes
materiel:raspi:start [2019/06/06 10:09]
admin
materiel:raspi:start [2019/06/08 15:31]
admin
Ligne 73: Ligne 73:
 On le manipule alors à distance, à partir d'un PC du réseau, via une connexion SSH (en utilisant Putty si ce PC est sous Windows). On le manipule alors à distance, à partir d'un PC du réseau, via une connexion SSH (en utilisant Putty si ce PC est sous Windows).
 </​WRAP>​ </​WRAP>​
 +
 ====== - Installation ====== ====== - Installation ======
  
Ligne 88: Ligne 89:
   * **sous Windows**, utilisez l'​**outil de gestion des disques** (Windows 10 : clic droit sur le bouton Démarrer, autres Windows : clic droit sur l'​icône de l'​ordinateur sur le bureau)   * **sous Windows**, utilisez l'​**outil de gestion des disques** (Windows 10 : clic droit sur le bouton Démarrer, autres Windows : clic droit sur l'​icône de l'​ordinateur sur le bureau)
   * **sous Linux**, utilisez **gparted** ou la version **parted** en ligne de commande   * **sous Linux**, utilisez **gparted** ou la version **parted** en ligne de commande
-==== - Méthode classique, sans NOOBS ====+ 
 +===== - Méthode classique, sans NOOBS =====
  
 (cf. [[https://​raspbian-france.fr/​creation-carte-sd-raspberry-raspbian-sous-gnulinux/​|Installer une carte SD Raspberry avec Raspbian sous GNU/​Linux]]) (cf. [[https://​raspbian-france.fr/​creation-carte-sd-raspberry-raspbian-sous-gnulinux/​|Installer une carte SD Raspberry avec Raspbian sous GNU/​Linux]])
Ligne 117: Ligne 119:
 et [[logiciel:​systeme:​os:​raspi:​berryboot|]] et [[logiciel:​systeme:​os:​raspi:​berryboot|]]
  
-==== - Avec NOOBS ====+===== - Avec NOOBS =====
  
-Téléchargez **NOOBS Lite** sur le site : [[https://​www.raspberrypi.org/​downloads/​noobs/​]] : +Téléchargez **NOOBS Lite** sur le site : [[https://​www.raspberrypi.org/​downloads/​noobs/​]] :{{ :​materiel:​raspi:​noobs_lite.png |}}
-{{ :​materiel:​raspi:​noobs_lite.png |}}+
  
 Dé-compressez le fichier zip (double-clic) et extrayez son contenu à la racine de la carte µSD. Dé-compressez le fichier zip (double-clic) et extrayez son contenu à la racine de la carte µSD.
Ligne 127: Ligne 128:
 <code - recovery.cmdline>​ <code - recovery.cmdline>​
 runinstaller quiet (...) elevator=deadline vncinstall runinstaller quiet (...) elevator=deadline vncinstall
 +</​code>​
 +
 +**noobsconfig** permet de personnaliser l'​installation d'une installation d'une distribution avec NOOBS
 +
 +<WRAP center round tip 60%>
 +**noobsconfig** est intégré à PINN (un fork de NOOBS) : préférez donc PINN à NOOBS ; cela évite de devoir copier **noobsconfig.zip** et patcher les fichiers **partition_setup.sh**
 +</​WRAP>​
 +
 +++++ Cliquez pour voir comment |
 +
 +Ce dépôt contient des fichiers pour personnaliser l'​installation d'une installation distribution standard de NOOBS sur un Raspberry Pi.
 +
 +Quand NOOBS a installé les images **boot** **root** sur la carte SD, cette modification permet de copier, décompresser et extraire un ensemble personnalisé de fichiers sur chaque partition de la distribution en cours d'​installation.
 +
 +<WRAP center round important 60%>
 +Cela ne fonctionne qu'​avec la version standard de NOOBS et non avec NOOBS-lite.
 +</​WRAP>​
 +
 +Voici une description rapide de la façon de l'​utiliser,​ suivie d'une description plus détaillée.
 +
 +Démarrage rapide
 +  - Décompressez / copiez les fichiers NOOBS standard sur une carte SD vierge.  ​
 +  - Décompressez / copiez le fichier **noobsconfig.zip** sur les fichiers noobs. (Cela écrase les fichiers partition_setup.sh pour chacune des distributions).\\ Votre carte SD NOOBS est maintenant modifiée pour prendre en charge les personnalisations.
 +  - Placez tous les fichiers de personnalisation dans les dossiers /os/distro.
 +  - Insérez votre carte SD dans le RPi et installez le système d'​exploitation souhaité comme d'​habitude ​
 +
 +**Fichiers de personnalisation**
 +
 +Tout d'​abord,​ une brève explication sur `flavours`.
 +Pour chaque distribution,​ NOOBS autorise différentes «versions»,​ qui permettent d’installer la même distribution,​ mais avec des options personnalisées légèrement différentes qui sont appliquées au premier démarrage.
 +Actuellement,​ cette fonctionnalité n'est utilisée que sur Raspbian pour permettre le démarrage sur le bureau ou directement,​ mais elle peut être appliquée à n'​importe quelle distribution.
 +Dans cette documentation,​ j’utilise `flavour` pour représenter le nom de l’os ou de la variante.
 +En règle générale, un nom de flavour est le nom de système d’exploitation,​ accompagné d’un tiret et de la flavour. Voir `flavours.json` s'il existe pour votre distribution.
 +
 +Trois types de fichiers de personnalisation peuvent être utilisés.
 +Ils doivent tous avoir le même nom de fichier de base, `(flavour)_(partitionName)`,​ et diffèrent par les trois extensions utilisables:​
 +  - `(flavour)_(partitionName).tar`
 +  - `(flavour)_(partitionName).tar.xz`
 +  - `(flavour)_(partitionName).txt`
 +
 +(Tous les espaces doivent être remplacés par des traits de soulignement.)
 +Les fichiers ci-dessus peuvent être utilisés individuellement ou en combinaison.
 +Si plusieurs sont trouvés, ils sont traités dans l'​ordre indiqué ci-dessus.
 +Ils doivent être placés dans le dossier os/​(distro).
 +  * Le fichier .tar sera décompressé à la racine de la partition appropriée.
 +  * Le fichier .xz est supposé être un fichier tar compressé et est traité de la même manière après la décompression.
 +  * Le fichier .txt est utilisé pour installer une liste de fichiers, chacun sur une ligne distincte. Celles-ci sont décrites plus en détail dans les personnalisations avancées ci-dessous.
 +
 +**Organisation du dépôt**
 +  * noobsconfig - contient noobsconfig.zip pour permettre la personnalisation d'une distribution
 +  * dev - contient le contenu de noobsconfig.zip
 +  * helpers - contient des scripts d'aide pour créer des archives personnalisées
 +  * Examples - contient des exemples de personnalisations
 +
 +**Description détaillée**
 +
 +  * **Quelle est son utilisation** ?
 +Cette méthode s’applique aux personnalisations simples d’une distribution. Un peu comme si vous appliquiez un fichier correctif à la distribution après son installation.
 +Il peut remplacer ou ajouter des fichiers à la distribution,​ mais pas supprimer les fichiers existants.
 +Voici quelques exemples d'​utilisation :
 +    * mise en place du wifi pour qu'il fonctionne "out of the box"
 +    * installer des fichiers de script pour installer d'​autres paquets (soit manuellement,​ soit au premier démarrage, comme raspi-config)
 +    * fournit des configurations standard pour config.txt (au lieu d'​exiger que raspi-config soit exécuté lors de la première exécution)
 +    * installe un ensemble standard de "​supports de cours" dans le dossier /home/pi.
 +  * **Avantages**
 +    * idéal pour les petites personnalisations
 +    * ne nécessite pas la création d'un système d'​exploitation complet sur mesure
 +    * indépendant des distributions NOOBS
 +    * Simple à appliquer au téléchargement standard de NOOBS
 +    * les mêmes personnalisations peuvent être appliquées rapidement et facilement à une mise à jour ultérieure du téléchargement de NOOBS
 +  * Ce qu'il ne fait pas : 
 +    * il n'​exécute pas de scripts définis par l'​utilisateur. Il copie ou remplace simplement les fichiers existants..
 +    * Bien qu’il puisse être utilisé pour copier des paquets entiers sur la distribution,​ ce n’est pas recommandé ; suivre les instructions pour créer un système d’exploitation personnalisé si les modifications sont importantes.
 +
 +**Réflexions**
 +J'aime utiliser la dernière version de NOOBS pour obtenir les dernières mises à jour et versions de distro.
 +Cependant, chaque fois que je mets à jour une nouvelle version ou que je réinstalle une distribution de NOOBS, je dois appliquer les mêmes personnalisations et installations.
 +J'ai maintenant appris à créer des scripts pour ces opérations courantes et une archive personnalisée que je peux utiliser pour écraser des fichiers tels que /​etc/​network/​interfaces,​ etc.
 +Mais c'est toujours une étape supplémentaire à exécuter après que NOOBS ait fini.
 +J'ai donc réfléchi à la manière dont cela pourrait être appliqué automatiquement.
 +
 +D'une simple suggestion d'​amélioration,​ on est passé de l'​extraction d'une archive à la décompression de fichiers xz, à la copie de fichiers uniques et à la définition d'​attributs de propriétaire et d'​autorisation pour toutes les distributions et tous les goûts.
 +
 +La possibilité d'​appliquer des correctifs à une version permettrait de ne pas créer d'​images personnalisées complètes et d'​éviter de devoir la reconstruire à chaque nouvelle version de Raspbian.
 +Cela permettrait également les configurations Zero-config,​ par exemple, pour installer automatiquement une distribution dont le réseau wifi direct est activé immédiatement.
 + 
 +Comment fonctionne la personnalisation noobsconfig ?
 +
 +Une fois que noobs a installé une distribution,​ il exécute le script **partition_setup.sh** pour cette distribution.
 +
 +En décompressant noobsconfig.zip sur noobs, les fichiers partition_setup.sh sont remplacés par une nouvelle version qui ajoute une seule ligne qui exécute customise.sh.
 +
 +Ce script **customise.sh** recherche les fichiers dans le dossier de la distribution portant le nom de base **(flavour)_(partitionName)** et une extension **.tar**, **.tar.xz** ou **.txt**. (Le contenu de **noobsconfig.zip** se trouve dans le dossier **dev**.)
 +
 +Notez que (flavour) et (partitionName) doivent correspondre exactement (en caractères et en casse) aux noms fournis dans les fichiers *** .json** qui décrivent chaque système d'​exploitation pour que ceux-ci soient reconnus.
 +
 +Tous les espaces doivent être remplacés par des traits de soulignement.
 +
 +Ainsi, pour l’installation standard de noobs v1.3.4, les noms de fichiers de base suivants sont valides :
 +<code ->
 +Arch_boot
 +Arch_root
 +Data_Partition_data
 +OpenELEC_Storage
 +OpenELEC_System
 +Pidora_boot
 +Pidora_rootfs
 +Raspbian_boot
 +Raspbian_root
 +Raspbian_-_Boot_to_Scratch_boot
 +Raspbian_-_Boot_to_Scratch_root
 +RaspBMC_boot
 +RaspBMC_root
 +</​code>​
 +
 +Si un fichier est trouvé avec le nom de fichier de base approprié ci-dessus et l'une des extensions suivantes, les actions suivantes sont exécutées :
 +  * Un nom de fichier se terminant par **.tar** est décompressé sur la partition appropriée.
 +  * Un nom de fichier se terminant par **.tar.xz** est décompressé,​ et dé-taré sur la partition appropriée.
 +
 +Donc, pour ajouter ou remplacer des fichiers personnalisés sur votre distribution,​ il vous suffit de créer un fichier tar nommé correctement,​ éventuellement de le compresser avec XZ, de la déposer dans le dossier de la distribution et d'​installer la distribution comme d'​habitude - Certains scripts d'aide sont fournis pour vous aider à créer ces archives (voir le dossier Helpers).
 +
 +(Un nom de fichier avec le nom de base approprié se terminant par **.txt** est traité conformément à la section Personnalisation avancée ci-dessous.)
 +
 +Si vous ajoutez d'​autres distributions,​ types ou partitions de système d'​exploitation,​ vous devez nommer les fichiers personnalisés selon le format de nom de fichier ci-dessus et ajouter la ligne suivante au script **partition_setup.sh** de cette distribution :
 +<code ->
 +        if [ -e /​mnt/​customise.sh ]; then . /​mnt/​customise.sh;​ fi
 +</​code>​
 +Cette technique peut également être utilisée sur la partition de données - créez simplement un fichier partition_setup.sh contenant uniquement cette ligne.
 +Cependant, ce n'est pas vraiment nécessaire car vous pourriez plus facilement remplacer le fichier data.tar.xz d'​origine par le vôtre, car il ne contient qu'un fichier README.txt.
 +
 +**Comment créer un tarball personnalisé**
 +
 +Ces instructions supposent que vous avez déjà installé une distribution sur le RPi et que vous souhaitez capturer les personnalisations que vous avez effectuées pour les installations futures de la même distribution.
 +  - Commencez par une installation de la distribution. Je vous suggère d'​utiliser NOOBS pour cela.
 +  - Modifiez les fichiers existants ou créez les nouveaux fichiers que vous souhaitez inclure dans votre personnalisation.
 +  - Pour plus de facilité de gestion, je suggère de créer un fichier texte simple contenant une liste de tous les fichiers nouveaux/​modifiés souhaités, avec un nom de fichier complet sur chaque ligne.\\ Par exemple :<​cli>​$ sudo nano files.txt
 +/​etc/​network/​interfaces
 +/​etc/​init.d/​rc.local</​cli>​
 +  - Créez maintenant le fichier tarball en utilisant ce fichier texte comme entrée, comme suit :<​cli>​$ sudo tar cvf <​flavour>​_<​partitionName>​.tar -T files.txt
 +$ sudo xz <​flavour>​_<​partitionName>​.tar</​cli>​(Voir le dossier Helpers pour d'​autres méthodes à l'aide de scripts).
 +  - Copiez l'​archive dans le dossier du système d'​exploitation approprié.
 +
 +**Personnalisation avancée**
 +
 +Parfois, vous voudrez peut-être avoir un plus grand contrôle sur vos personnalisations. Peut-être voulez-vous :
 +  * les séparer dans des fichiers tar distincts pour des utilisations distinctes.
 +  * donnez-leur de meilleurs noms selon leur utilisation.
 +  * mieux contrôler ceux qui doivent être installés.
 +  * partager des fichiers entre différentes flavours de la même distribution.
 +  * fournir des fichiers bruts qui ne sont pas compressés,​ par ex. en copiant directement sur la partition de récupération à l'aide de Windows.
 +
 +Pour ces utilisations et d’autres, le fichier **(flavour)_(partitionName).txt** peut être utile.
 +
 +Ce fichier texte contient une liste de fichiers (un par ligne) à installer dans la distribution APRES que les fichiers **.tar** ou **.tar.xz** ci-dessus aient été installés.
 +De cette façon, quelques modifications peuvent être appliquées aux fichiers **.tar** existants sans avoir à les modifier ou les reconstruire.
 +
 +Le fichier texte est traité ligne par ligne pour extraire les noms de fichiers à traiter.
 +  * Tout nom de fichier se terminant par **.tar** est décompressé à la racine de la partition.
 +  * Tout nom de fichier se terminant par .tar.xz est décompressé,​ puis dé-taré à la racine de la partition.
 +  * Tout autre nom de fichier est copié directement sur la partition.
 +
 +<WRAP center round info 60%>
 +Si vous utilisez déjà un fichier **(flavour)_(partitionName).tar(.xz)**,​ vous ne devez PAS le spécifier également dans ce fichier texte, sinon il serait installé deux fois.
 +</​WRAP>​
 +
 +Si vous copiez directement des fichiers, vous devrez peut-être fournir des informations supplémentaires sous la forme de champs facultatifs sur la même ligne.
 +
 +Il y a cinq champs comme suit (séparés par des espaces):
 +<code ->
 + <Nom de fichier> <​destination>​ <​attributs>​ <​utilisateur>​ <​groupe>​
 +</​code>​
 +
 +Seul le champ <nom de fichier> est obligatoire et c'est le seul champ utilisé pour les fichiers TAR et XZ ; les autres peuvent être omis et les valeurs par défaut seront alors appliquées.
 +Si vous souhaitez omettre un champ mais que vous le faites suivre d'un autre champ, utilisez plutôt un **#** pour conserver l'​emplacement relatif des champs.
 +
 +Les lignes vides seront ignorées.
 +
 +Vous pouvez ajouter des commentaires en commençant la ligne par un **#** en première colonne ou en ajoutant le commentaire après le champ 5.
 +
 +Voici quelques exemples pour illustrer cela :
 +  * Readme.txt
 +  * Readme.txt # 0644
 +  * nc-helpers.tar
 +  * wifi/​interfaces /​etc/​network 0644 root root
 +  * wifi/​wpa_supplicant.conf /​etc/​wpa_supplicant 0600 root root
 +
 +(Les 2 derniers exemples ci-dessus montrent comment, avec cette technique de copie directe, spécifier les fichiers **/​etc/​network/​interfaces** et **/​etc/​wpa_supplicant/​wpa_supplicant.conf** pour une configuration aisée du wifi à partir de Windows, tout en corrigeant les attributs et évitant la création de fichiers tar à partir de Windows.)
 +
 +**Nom de fichier**
 +
 +C'est le nom du fichier que vous souhaitez copier à partir de la partition de récupération.
 +
 +Il peut être stocké dans le dossier **/​os/​distro** ou dans n’importe quel sous-dossier. Si vous le placez dans un sous-dossier,​ vous devez le spécifier.
 +par exemple :
 +  * Pour copier le fichier **/​os/​Raspbian/​readme.txt**,​ utilisez readme.txt
 +  * Pour copier le fichier **/​os/​Raspbian/​folder/​readme.txt**,​ utilisez **folder/​readme.txt**
 +
 +Le nom du dossier n'est utilisé que pour localiser le fichier source. Il n'est pas utilisé dans le dossier de destination.
 +Ce champ est obligatoire.
 +
 +Si vous devez inclure un nom de fichier contenant des espaces, vous devez le placer entre guillemets :
 +par exemple:
 +<code ->
 +"my wifi/​interfaces"​ /​etc/​network 0644 root root
 +</​code>​
 +
 +  ? Destination
 +  : du nom du dossier de destination dans lequel le fichier doit être stocké sur la partition cible, par rapport à la racine.
 +  : Par exemple. /home/pi. Il doit commencer par une barre oblique, mais sans barre oblique finale.
 +  : Ce champ est facultatif. S'il n'est pas spécifié, le répertoire racine est utilisé.
 +  : Si vous devez inclure un chemin de destination contenant des espaces, placez-le entre guillemets.
 +  ? Attributs
 +  : attributs à appliquer au nouveau fichier à l'aide de la commande chmod.
 +  : par exemple. 0644.
 +  ? User
 +  : nouvel utilisateur du fichier, par exemple pi ou root etc.
 +  ? Groupe
 +  : nouveau groupe du fichier, par exemple root
 +
 +**Sélection d'une méthode de personnalisation**
 +
 +Il peut être déroutant de choisir le type de personnalisation à utiliser. Voici donc un petit guide.
 +  * Les fichiers TAR sont très pratiques lorsque de nombreux fichiers associés doivent être installés, éventuellement dans des dossiers différents,​ et que les autorisations ou la propriété des fichiers sont importantes. Ils capturent le contenu, la propriété et les autorisations de chaque fichier dans un fichier TAR unique, facile à gérer. Il est donc préférable de les créer directement sur une distribution existante du RPi. Peu de programmes de compression vous permettent de créer un fichier TAR sous Windows (possibilité 7-zip), mais néanmoins, les autorisations et les attributs de fichier ne peuvent pas être définis. Les fichiers TAR simples ne sont pas compressés et ajoutent 2 blocs de 512 octets à la fin. La taille minimale d'un fichier TAR est donc de 10 Ko. Cela peut être assez fastidieux si vous souhaitez uniquement installer deux petits fichiers de script.
 +  * Les fichiers TAR.XZ sont des fichiers TAR compressés à l'aide du programme XZ. Ils conservent donc les avantages de la facilité de gestion du fichier TAR, mais évitent également la taille importante du fichier TAR. Il est préférable de les compresser sur le RPi, mais cela peut être fait sur une autre distribution Linux, mais pas aussi facilement sur Windows.
 +  * Si vous souhaitez créer votre personnalisation sous Windows, la méthode la plus simple consiste à référencer des fichiers à partir du fichier TXT. Cela ne fournit aucune compression et ne rassemble pas les fichiers séparés en un seul fichier pour plus de facilité de gestion. Cependant, il permet de contrôler les autorisations et la propriété des utilisateurs. C'est également une méthode pratique si vous souhaitez uniquement installer 1 ou 2 petits fichiers. Si vous créez des fichiers de script sous Windows, veillez à choisir les fins de ligne Linux. Certains programmes d'​édition,​ tels que Notepad ++, vous permettent de visualiser les fins de ligne et de les changer de Windows à Linux et inversement.
 +
 +**Tests et personnalisation rétrospective**
 +
 +Puisque noobsconfig s'​exécute après l'​installation d'une distribution par NOOBS, le test de toutes les personnalisations au fur et à mesure de leur développement peut être long, car chaque test implique potentiellement l'​installation d'une distribution et l'​attente du résultat. De plus, si vous avez déjà une distribution Raspbian installée par noobs, vous ne voudrez probablement pas avoir à tout écraser pour tester vos scripts. Ou peut-être avez-vous créé une nouvelle "​version"​ pour installer vos personnalisations et souhaitez-vous les installer sur votre distribution existante qui a été installée en tant que nouvelle version ?
 +
 +Un script appelé `retro.sh` est placé à la racine de la partition de récupération pour faciliter les tests ou appliquer une personnalisation rétrospectivement,​ c'​est-à-dire après l'​installation d'une distribution par NOOBS.
 +
 +Le but de **retro.sh** est d’appliquer un ensemble de personnalisations de la partition de restauration à la distribution actuellement installée, une fois cette distribution installée et en cours d’exécution.
 +Cela fonctionne sur une partition à la fois, donc si votre distribution a 2 partitions à personnaliser,​ vous devez l'​exécuter une fois pour chaque partition.
 +Tout d’abord, il faut un peu de travail pour configurer l’environnement,​ puis quelques arguments pour expliquer ce qu’il fait, mais ceux-ci sont facilement capturés dans un script.
 +
 +La principale chose à faire est de monter la partition de récupération pour qu'​elle soit accessible.
 +Notez également que l’installation doit être effectuée par l’utilisateur root (ou en utilisant sudo) car il peut être nécessaire d’écrire des fichiers système.
 +
 +**retro.sh**
 +  * Utilisation : <​cli>​$ sudo ./retro.sh [source folder] [destination folder] [(flavour)_(partitionName)]</​cli>​
 +  * Exemple1 : <​cli>​$ sudo ./retro.sh /​mnt/​os/​Raspbian / Raspbian_root</​cli>​
 +  * Exemple2 : <​cli>​$ sudo ./retro.sh /​mnt/​os/​Raspbian /boot/ Raspbian_boot</​cli>​
 +
 +**Example use of retro.sh**
 +
 +Voici un exemple de fichier script qui automatise l'​installation ou le test rétrospectif d'une personnalisation Raspbian.
 +
 +<code ->
 +#!/bin/sh
 +# Make sure only root can run our script
 +if [ "$(id -u)" != "​0"​ ]; then
 +   echo "This script must be run as root" 1>&2
 +   exit 1
 +fi
 +    ​
 +#Mount the recovery partition
 +mount /​dev/​mmcblk0p1 /mnt
 +cdir=`pwd`
 +cd /mnt
 +#Install the customisations
 +./retro.sh /​mnt/​os/​Raspbian /boot/ RaspbianMyFlavour_boot
 +./retro.sh /​mnt/​os/​Raspbian / RaspbianMyFlavour_root
 +#​Restore ​
 +cd $cdir
 +sync
 +sleep 1
 +umount /mnt
 +echo "​Customisation done."
 +</​code>​
 +
 +**Autres exemples**
 +
 +Vous trouverez des exemples d'​application de certaines configurations à Raspbian dans le dossier **Examples/​Raspbian**.
 +Veuillez consulter **zeroconf_wifi.md** pour une configuration très rapide d’un réseau wifi WPA/WPA2.
 +++++
 +
 +Démontez la carte µSD et installez-la sur votre RPI.
 +
 +Branchez le câble réseau et l’alimentation du RPI : le RPI démarre. Attendez que les clignotements se calment.
 +
 +Débranchez l’alimentation du RPI, retirez la carte µSD et replacez-la sur votre PC.
 +
 +Créez un fichier **ssh** vide :
 +  * <​code>​touch /​chemin_vers_votre_carte/​boot/​ssh</​code>​
 +
 +Démontez la carte et remettez-la sur le RPI.
 +
 +===== - Avec PINN (fork de NOOBS) =====
 +
 +Téléchargez la dernière version de **pinn-lite.zip** sur le site : [[https://​sourceforge.net/​projects/​pinn/​files/​]]
 +
 +**noobsconfig** permet de personnaliser l'​installation d'une installation d'une distribution avec NOOBS
 +
 +++++ Cliquez pour voir comment |
 +<WRAP center round tip 60%>
 +**noobsconfig** est intégré à PINN (un fork de NOOBS) : préférez donc PINN à NOOBS ; cela évite de devoir copier **noobsconfig.zip** et patcher les fichiers **partition_setup.sh**
 +</​WRAP>​
 +
 +Ce dépôt contient des fichiers pour personnaliser l'​installation d'une installation distribution standard de NOOBS sur un Raspberry Pi.
 +
 +Quand NOOBS a installé les images **boot** **root** sur la carte SD, cette modification permet de copier, décompresser et extraire un ensemble personnalisé de fichiers sur chaque partition de la distribution en cours d'​installation.
 +
 +<WRAP center round important 60%>
 +Cela ne fonctionne qu'​avec la version standard de NOOBS et non avec NOOBS-lite.
 +</​WRAP>​
 +
 +Voici une description rapide de la façon de l'​utiliser,​ suivie d'une description plus détaillée.
 +
 +Démarrage rapide
 +  - Décompressez / copiez les fichiers NOOBS standard sur une carte SD vierge.  ​
 +  - Décompressez / copiez le fichier **noobsconfig.zip** sur les fichiers noobs. (Cela écrase les fichiers partition_setup.sh pour chacune des distributions).\\ Votre carte SD NOOBS est maintenant modifiée pour prendre en charge les personnalisations.
 +  - Placez tous les fichiers de personnalisation dans les dossiers /os/distro.
 +  - Insérez votre carte SD dans le RPi et installez le système d'​exploitation souhaité comme d'​habitude ​
 +
 +### Customisation Files
 +
 +First, a brief explanantion about `flavours`.
 +For each distro NOOBS allows different `flavours`, which allow the same distro to be installed, but with slightly different customised options that are applied on first boot. Currently this feature is only used on Raspbian to allow booting into the desktop or straight to scratch, but it could be applied to any distro. In this documentation I use `flavour` to represent the "os name or flavour name". Typically a flavour name is the os name appended with a dash and the flavour. See `flavours.json` if it exists for your distro.
 +
 +Three types of customisation files can be used. They must all have the same base filename of `(flavour)_(partitionName)` and differ in the three extensions that may be used:
 +* `(flavour)_(partitionName).tar`
 +* `(flavour)_(partitionName).tar.xz`
 +* `(flavour)_(partitionName).txt`
 +
 +(Any spaces in the flavour or partitionName should be replaced by underscores)
 +The above files can be used individually or in combination. If more than one is found they are processed in the above order. They should be placed in the os/(distro) folder.
 +The .tar file will be un-tarred to the root of the appropriate partition.
 +The .xz file is assumed to be a compressed tar file and is treated in the same way after decompression.
 +The .txt file is used to install a list of files, each one on a separate line. These are described in more detail in Advanced Customisations below.
 +
 +### Repository Organisation
 +* noobsconfig - contains noobsconfig.zip to allow customisations to be made to a distro
 +* dev - contains the contents of noobsconfig.zip
 +* helpers - contains helper scripts to help create custom tarballs
 +* Examples - contains example customisations
 +
 +## Detailed Description
 +
 +### What can it be used for?
 +This method is for simple customisations of a distro. It behaves a bit like applying a patch file to the distro after it has been installed.
 +As such it can replace or add files to the distro, but not delete existing files.
 +Some examples of its use are therefore:
 +* setting up wifi so that it works "out of the box" (maybe useful for schools etc)
 +* installing script files to install other packages (either manually or on first boot - like raspi-config)
 +* provide standard configurations for config.txt (instead of requiring raspi-config to be executed on first execution)
 +* install a standard set of "​lesson support materials"​ into the `/home/pi` folder.
 +
 +### Benefits
 +* ideal for small customisations
 +* does not require the creation of a full customised OS
 +* independent of NOOBS distributions
 +* Simple to apply to the standard NOOBS download
 +* the same customisations can be quickly and easily applied to a subsequent update of the NOOBS download
 +
 +### What it doesn'​t do
 +Currently it does not execute user-defined scripts, it simply copies/​replaces existing files.
 +Whilst it could be used to copy entire packages onto the distro, this use is not recommended and it is suggested to follow the existing instructions to create a customised OS if the modifications are extensive.
 +
 +### Rationale
 +I like to use the latest version of NOOBS whenever it is released, ensuring I get all the latest updates and distro versions.
 +However, whenever I update to a new version, or reinstall a distro from NOOBS, I end up having to apply the same customisations and installations over and over again.
 +I've now learnt to create scripts for these common operations and a custom tarball that I can use to overwrite files like `/​etc/​network/​interfaces` etc.
 +But it's still an extra step to perform after NOOBS has finished. So I thought about how this could be applied automatically.
 +
 +From a simple enhancement suggestion, this has developed from extracting a tarball, to decompressing xz files, copying single files and setting owner and permission attributes for all distros and flavours. ​
 +
 +The ability to patch using a flavour would be ideal for schools and others, it could save building full custom images and avoids having to rebuild it for every new release of Raspbian. It would also allow Zero-config setups, for instance you'd be able to configure NOOBS to auto-install a distro which has direct wifi networking enabled out of the box.
 + 
 +## How does the noobsconfig customisation work?
 +
 +After noobs has installed a distro, it runs the `partition_setup.sh` script for that distro.
 +Unzipping noobsconfig.zip over noobs replaces the partition_setup.sh files with a new version that adds a single line that executes customise.sh. This customise.sh script looks for files in the distro folder with a basename of (flavour)_(partitionName) and an extension of either `.tar`, `.tar.xz` or `.txt`. (The contents of noobsconfig.zip can be found in the `dev` folder.)
 +
 +Note that `(flavour)` and `(partitionName)` must exactly match (in characters and case) the names provided in the `*.json` files that describe each OS in order for them to be recognised. Any spaces should be replaced with underscores.
 +So, for the standard v1.3.4 installation of noobs, the following base filenames are valid:
 +<pre>
 +Arch_boot
 +Arch_root
 +Data_Partition_data
 +OpenELEC_Storage
 +OpenELEC_System
 +Pidora_boot
 +Pidora_rootfs
 +Raspbian_boot
 +Raspbian_root
 +Raspbian_-_Boot_to_Scratch_boot
 +Raspbian_-_Boot_to_Scratch_root
 +RaspBMC_boot
 +RaspBMC_root
 +</​pre>​
 +
 +If a file is found with the appropriate base filename above and one of the following extensions, then the following actions are carried out:
 +A filename ending in `.tar` is untarred onto the appropriate partition.
 +A filename ending in `.tar.xz` is decompressed,​ and untarred onto the appropriate partition.
 +
 +So to add/replace some custom files on your distro, you just need to create a tar ball with the correct name, optionally compress it using XZ, drop it into the distro folder and install the distro as usual - simples! Some helper scripts are provided to help create these tarballs (see the Helpers folder).
 +
 +(A filename with the appropriate basename ending in `.txt` is processed according to the Advanced Customisation section described below.)
 +
 +If you add any other distros, flavours or OS partition names, you need to name the custom files according to the filename format above and add the following line to the partition_setup.sh script for that distro:
 +        `if [ -e /​mnt/​customise.sh ]; then . /​mnt/​customise.sh;​ fi`
 +This technique can also be used on the data partition - just create a partition_setup.sh file containing just this line. However, it is not really necessary as you could more easily just replace the original data.tar.xz file with your own, since it only contains a README.txt file.
 +
 +### How to Create a Custom Tarball
 +
 +These instructions assume you already have a working installation of a distro on the RPi and you want to capture the customisations you have made for future installations of the same distro.
 +
 +1. Firstly you need to start from a working installation of the distro. I suggest you use NOOBS to install the distro first.
 +2. Modify any existing, or create any new files that you want to be included in your customisation.
 +3. For manageability I suggest creating a simple text file that contains a list of all the new/​modified files that you want, with one fullpathname on each line.
 +For example:
 +
 +```$>​sudo nano files.txt<​br>​
 +/​etc/​network/​interfaces
 +/​etc/​init.d/​rc.local
 +```
 +
 +4. Now create the tar ball using this text file as input, as follows:
 +
 +```$>​sudo tar cvf &​lt;​flavour&​gt;​_&​lt;​partitionName&​gt;​.tar -T files.txt
 +$>sudo xz &​lt;​flavour&​gt;​_&​lt;​partitionName&​gt;​.tar
 +```
 +
 +(See the Helpers folder for alternative ways to do this using scripts).
 +5. Copy the tarball to the appropriate OS folder.
 +
 +### Advanced Customisation
 +Sometimes, you may want to have greater control over your customisations. Maybe you want to:
 +* segregate them into separate tar files for distinct uses.
 +* give them better names according to their use.
 +* have easier control over which ones should be installed.
 +* share files between different flavours of the same distro.
 +* provide raw files that are not tarred or compressed, e.g. by direct copying on to the recovery partition using Windows.
 +For these and other uses, the (flavour)_(partitionName).txt file can be useful.
 +
 +This text file contains a list of files (one per line) to be installed to the distro AFTER the above `.tar` or `.tar.xz` files have been installed. ​ In this way some tweaks can be applied to existing .tar files without having to modify/​rebuild them.
 +
 +The text file is processed a line at a time to extract the filenames to be processed.
 +Any filename ending in `.tar` is untarred to the root of the partition.
 +Any filename ending in `.tar.xz` is decompressed and then untarred to the root of the partition.
 +Any other filename is copied directly to the partition.
 +
 +NOTE: If you are already using a `(flavour)_(partitionName).tar(.xz)` file, you should NOT specify it in this text file as well, otherwise it would be installed twice.
 +
 +If you are directly copying files, you may need to provide additional information in the form of optional fields on the same line.
 +
 +There are five fields as follows (separated by spaces):
 +
 + Filename destination attributes user group
 +
 +Only the filename field is mandatory and it is the only field used for TAR and XZ files; the others can be omitted and default values will then be applied. If you want to omit a field but follow it with another field, then use a '#'​ instead to keep the relative placement of the fields.
 +
 +Blank lines will be ignored.
 +Comments can be added by starting the line with a '#'​ in the first column, or adding the comment after field 5.
 +
 +Here are some examples to illustrate this:
 +* Readme.txt
 +* Readme.txt # 0644
 +* nc-helpers.tar
 +* wifi/​interfaces /​etc/​network 0644 root root
 +* wifi/​wpa_supplicant.conf /​etc/​wpa_supplicant 0600 root root
 +
 +(The last 2 examples above show how using this direct copy technique, it is possible to specify the '/​etc/​network/​interfaces'​ and '/​etc/​wpa_supplicant/​wpa_supplicant.conf'​ files for easy wifi setup from Windows, whilst specifying the correct attributes and avoiding the problem of creating Tar files from Windows.)
 +
 +#### Filename
 +This is the name of the file you want to copy from the recovery partition.
 +It can be stored in the /os/distro folder, or any subfolder. If you put it in a subfolder then this must be specified.
 +e.g. 
 +To copy the file `/​os/​Raspbian/​readme.txt`,​ use `readme.txt`
 +To copy the file `/​os/​Raspbian/​folder/​readme.txt`,​ use `folder/​readme.txt`
 +The folder name is only used to locate the source file. It is not used as part of the destination folder.
 +This field is mandatory.
 +
 +If you need to include a filename that has embedded spaces in it, then you must enclose it in double quotation marks:
 +e.g.
 +* "my wifi/​interfaces"​ /​etc/​network 0644 root root
 +
 +#### Destination
 +This is the name of the destination folder where the file is to be stored on the target partition, relative to the root. E.g. `/home/pi`. It must begin with a slash, but have no trailing slash.
 +This field is optional. If not specified, then the root directory is used.
 +If you need to include a destination pathname that includes embedded spaces,then enclose this in double quotations.
 +
 +#### Attributes
 +This specifies the attributes to be applied to the new file using the chmod command. e.g. `0644`. I guess options such as `+x` would also work but I've not tried.
 +
 +#### User
 +This specifies the new user of the file e.g. `pi` or `root` etc.
 +
 +#### Group
 +This specifies the new group of the file e.g. `root`
 +
 +### Selecting a Method of customisation
 +It can be confusing to decide which type of customisation to use, so here is a short guide.
 +* TAR files are very convenient when there are many related files to be installed, possibly in different folders, and where file permissions or ownership are important. They capture the contents, ownership and permissions of each file into a single TAR file which is then easily managed. So they are best created directly on an existing distro on the RPi. Not so many compression programs allow you to create a TAR file on Windows (7-zip can), but nevertheless,​ the file permissions and attributes cannot be set. Plain TAR files are not compressed and append 2 blocks of 512 bytes at the end. So the minimum size of a TAR file is 10kB. This can be quite an overhead if you only want to install a couple of small script files.
 +* TAR.XZ files are TAR files that have been compressed using the XZ program. They therefore retain the advantages of the TAR file's manageability,​ but also avoid the TAR file's largish size. It is best to compress them on the RPi, but it can be done on another Linux distro, but not so easily on Windows.
 +* If you want to create your customisation on Windows, referencing files from the TXT file may be the easiest method. This does not provide any compression,​ nor does it collect the separate files into one single file for manageability. However, it does provide control of user permissions and ownership. This is also a convenient method if you only want to install 1 or 2 small files. If you are creating script files on Windows, be careful to choose Linux line endings. Some editing programs, like Notepad++ allow you to visualise the line endings and change them from Windows to Linux and vice versa.
 +
 +## Testing & Retrospective customisation
 +
 +Since noobsconfig executes after NOOBS has installed a distro, it can be a lengthy process to test any customisations as they are developed, because each test potentially means installing a distro and waiting to see the result. Also, if you already have a Raspbian distro installed by noobs, then you probably don't want to have to overwrite it all just to test your scripts. Or maybe you have created a new '​flavour'​ to install your customisations and you want to install them onto your existing distro that was installed as another flavour.
 +
 +There is a script called `retro.sh` that is placed on the root of the recovery partition to aid testing, or to apply a customisation retrospectively,​ i.e. after a distro has already been installed by NOOBS.
 +
 +The purpose of `retro.sh` is to apply a set of customisations from the recovery partition to the currently installed distro, after that distro has been installed and is now executing. It works on a partition at a time, so if your distro has 2 partitions that you want to customise, you need to run it once for each partition. It requires a bit of work to setup the environment first, and a few arguments to tell it what it does, but these are easily captured into a script.
 +
 +The main thing that needs to be done is to mount the recovery partition so that it is accessible. Also note that the installation has to be done by the root user (or using sudo) since it may need to (over)write system files.
 +
 +### retro.sh
 +Usage: sudo ./retro.sh [source folder] [destination folder] [(flavour)_(partitionName)]
 +Example1: sudo ./retro.sh /​mnt/​os/​Raspbian / Raspbian_root
 +Example2: sudo ./retro.sh /​mnt/​os/​Raspbian /boot/ Raspbian_boot
 +
 +### Example use of retro.sh
 +Here is an example script file that automates the retrospective installation or testing of a Raspbian customisation.
 +
 +    #!/bin/sh
 +    # Make sure only root can run our script
 +    if [ "$(id -u)" != "​0"​ ]; then
 +       echo "This script must be run as root" 1>&2
 +       exit 1
 +    fi
 +    ​
 +    #Mount the recovery partition
 +    mount /​dev/​mmcblk0p1 /mnt
 +    cdir=`pwd`
 +    cd /mnt
 +    #Install the customisations
 +    ./retro.sh /​mnt/​os/​Raspbian /boot/ RaspbianMyFlavour_boot
 +    ./retro.sh /​mnt/​os/​Raspbian / RaspbianMyFlavour_root
 +    #​Restore ​
 +    cd $cdir
 +    sync
 +    sleep 1
 +    umount /mnt
 +    echo "​Customisation done."
 +
 +## Further Examples
 +You will find some examples of how to apply some configurations to Raspbian in the Examples/​Raspbian folder.
 +Please see zeroconf_wifi.md for a very quick setup of a WPA/WPA2 wifi network.
 +I welcome other examples, particularly for the other Linux distros.
 +++++
 +
 +Allez dans le répertoire **/os** :
 +  * <​code>​cd /​media/​.../​os</​code>​
 +
 +Créez-y un répertoire Raspbian :
 +  * <​code>​mkdir Raspbian</​code>​
 +
 +Allez dans ce répertoire :
 +  * <​code>​cd Raspbian</​code>​
 +
 +Créez-y un fichier ssh vide :
 +  * <​code>​touch ssh</​code>​
 +
 +Créez enfin dans le répertoire **/​os/​Raspbian** un fichier **Raspbian_boot.txt** contenant :
 +
 +<code - Raspbian_boot.txt>​
 +ssh
 </​code>​ </​code>​
 ==== - Avec un disque WD PiDrive ==== ==== - Avec un disque WD PiDrive ====
Ligne 160: Ligne 720:
   * et que l'​adresse du RPI est de la forme **192.168.0.***.   * et que l'​adresse du RPI est de la forme **192.168.0.***.
  
-Le réseau à scanner est donc **192.168.0.0.***.+Le réseau à scanner est donc **192.168.0.***.
 </​WRAP>​ </​WRAP>​
  
-Pour retrouver l'​adresse ​de la RPI, lancez **nmap** ​ +Pour retrouver l'​adresse ​du RPI, lancez **nmap** ​et repérez les lignes concernant le Raspberry : 
-<​cli>​$ sudo nmap 192.168.0.*</​cli>​+<​cli>​$ sudo nmap -sV -T4 -O -F --version-light ​192.168.0.* 
 +... 
 +Starting Nmap 7.60 ( https://​nmap.org ) at 2019-06-08 11:45 CEST 
 +... 
 +Nmap scan report for framboise.parc (192.168.0.31) 
 +Host is up (0.0039s latency). 
 +Not shown: 93 closed ports 
 +PORT     STATE SERVICE ​    ​VERSION 
 +21/​tcp ​  ​open ​ ftp         ​vsftpd 3.0.2 
 +22/​tcp ​  ​open ​ ssh         ​OpenSSH 6.7p1 Raspbian 5+deb8u8 (protocol 2.0) 
 +53/​tcp ​  ​open ​ domain ​     dnsmasq 2.72 
 +80/​tcp ​  ​open ​ http        nginx 1.6.2 
 +139/​tcp ​ open  netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP) 
 +445/​tcp ​ open  netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP) 
 +5900/tcp open  vnc         ​RealVNC Enterprise 5.3 or later (protocol 5.0) 
 +MAC Address: B8:​27:​EB:​A0:​A1:​A6 (Raspberry Pi Foundation) 
 +Device type: general purpose 
 +Running: Linux 3.X|4.X 
 +OS CPE: cpe:/​o:​linux:​linux_kernel:​3 cpe:/​o:​linux:​linux_kernel:​4 
 +OS details: Linux 3.2 - 4.8 
 +Network Distance: 1 hop 
 +Service Info: Host: FRAMBOISE; OSs: Unix, Linux; CPE: cpe:/​o:​linux:​linux_kernel 
 +... 
 +Nmap done: 256 IP addresses (5 hosts up) scanned in 50.77 seconds 
 +</​cli>​
  
-Repérez les lignes concernant le Raspberry ​: +Le RPI a donc l'​adresse IP **192.168.0.31**
-{{:​materiel:​raspi:​nmap-01.png?600|}}+
  
 <WRAP center round tip 60%> <WRAP center round tip 60%>
Ligne 180: Ligne 763:
   - téléchargez sur le bureau ; c'est un exécutable sans installation   - téléchargez sur le bureau ; c'est un exécutable sans installation
  
-{{:​materiel:​raspi:​vncviewer-01.png?​600|}}+{{ :​materiel:​raspi:​vncviewer-01.png?​600 |}}
  
-Lancez Vnc viewer et connectez-vous en VNC au RPI en remplissant l'​adresse IP du RPI puis <​key>​Entrée</​key>​ : +Lancez Vnc viewer ​(double clic) et connectez-vous en VNC au RPI en remplissant l'​adresse IP du RPI puis <​key>​Entrée</​key>​ : 
- +{{ :​materiel:​raspi:​vncviewer-02.png?​600 |}}
-{{:​materiel:​raspi:​vncviewer-02.png?​600|}}+
  
 L'​écran du RPI apparaît : L'​écran du RPI apparaît :
  
-{{:​materiel:​raspi:​vnc-001.png?​600|}}+{{ :​materiel:​raspi:​vnc-001.png?​600 |}}
  
   - Choisissez la langue et le clavier français   - Choisissez la langue et le clavier français
   - cochez Raspbian   - cochez Raspbian
   - cochez Data Partition   - cochez Data Partition
-  - cliquez sur le bouton <​key>​Réseaux Wi-fi</​key>​ et sélectionnez votre réseau ainsi que son mot de passe\\ {{:​materiel:​raspi:​vnc-002.png?​600|}}+  - cliquez sur le bouton <​key>​Réseaux Wi-fi</​key>​ et sélectionnez votre réseau ainsi que son mot de passe{{ :​materiel:​raspi:​vnc-002.png?​600 |}}
   - cliquez sur le bouton <​key>​Installer</​key>​   - cliquez sur le bouton <​key>​Installer</​key>​
  
Ligne 208: Ligne 790:
 Allez dans le répertoire **boot** de la carte µSD, créez un fichier vide nommé **ssh** Allez dans le répertoire **boot** de la carte µSD, créez un fichier vide nommé **ssh**
 <​cli>​$ cd /​media/​[USER]/​boot\\ <​cli>​$ cd /​media/​[USER]/​boot\\
-touch ssh</​cli>​ +$ sudo touch ssh</​cli>​
- +
-Démontez la carte µSD, installez-la sur votre RPI et rallumez-la.+
  
 +Démontez la carte µSD et installez-la sur votre RPI. Rallumez le RPI. Attendez que les clignotements se calment.
 ===== - Sur un PC du réseau, mise en place de l'​accès SSH à la RPI ===== ===== - Sur un PC du réseau, mise en place de l'​accès SSH à la RPI =====
  
 Retournez sur le PC Retournez sur le PC
 +
 +Lancez **nmap** :
 +<​cli>​$ sudo nmap -O 192.168.0.31
 +...
 +Nmap scan report for framboise.parc (192.168.0.31)
 +Host is up (0.0046s latency).
 +...
 +22/​tcp ​  ​open ​ ssh
 +...
 +MAC Address: B8:​27:​EB:​A0:​A1:​A6 (Raspberry Pi Foundation)
 +Device type: general purpose
 +Running: Linux 3.X|4.X
 +OS CPE: cpe:/​o:​linux:​linux_kernel:​3 cpe:/​o:​linux:​linux_kernel:​4
 +OS details: Linux 3.2 - 4.8
 +Network Distance: 1 hop
 +...
 +</​cli>​
 +
 +La connexion SSH est disponible. Voici comment la lancer.
  
 Lancez une session SSH sur l'​adresse du RPI sous l'​utilisateur **pi** ((l'​adresse réseau de la RPI, retrouvée par nmap, est supposée 192.168.0.31)) : Lancez une session SSH sur l'​adresse du RPI sous l'​utilisateur **pi** ((l'​adresse réseau de la RPI, retrouvée par nmap, est supposée 192.168.0.31)) :
-<​cli>​$ ssh pi@192.168.0.31</​cli>​+<​cli>​$ ssh pi@192.168.0.31 
 +... 
 +pi@192.168.1.101'​s password: 
 + 
 +The programs included with the Debian GNU/Linux system are free software; 
 +the exact distribution terms for each program are described in the 
 +individual files in /​usr/​share/​doc/​*/​copyright. 
 + 
 +Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent 
 +permitted by applicable law. 
 +Last login: Tue Jun  4 07:17:34 2019 
 +pi@framboise:​~ $ </​cli>​
  
 <WRAP center round info 60%> <WRAP center round info 60%>
Ligne 228: Ligne 839:
 </​WRAP>​ </​WRAP>​
  
-Répondez **yes** à la demande de confirmation de clé pour cette première mise en route : +A la première connexion acceptez la demande d’autorisation de clé de cryptage du SSH (Répondez **yes** à la demande de confirmation de clé)
-{{ :​materiel:​raspi:​ssh-01.png?​600 |}}+
  
 A la demande de mot de passe, tapez **raspberry** (réglage d'​usine). A la demande de mot de passe, tapez **raspberry** (réglage d'​usine).
-{{ :​materiel:​raspi:​ssh-02.png |}} 
  
 En dernière ligne, le prompt confirme que vous n'​êtes plus sur la console du pc mais sur celle du RPI. En dernière ligne, le prompt confirme que vous n'​êtes plus sur la console du pc mais sur celle du RPI.
Ligne 276: Ligne 885:
 </​WRAP>​ </​WRAP>​
 <WRAP center round tip 60%> <WRAP center round tip 60%>
-Solution au problème sous Ubuntu 18.04 : 
  
-**__Le problème__** :+??? Problème sous Ubuntu 18.04
 <​cli>​$ ssh pi@192.168.0.31 <​cli>​$ ssh pi@192.168.0.31
 sign_and_send_pubkey:​ signing failed: agent refused operation</​cli>​ sign_and_send_pubkey:​ signing failed: agent refused operation</​cli>​
- +!!! **Solution** 
-**__La solution__** +Les autorisations de fichier sont trop ouvertes (0644). 
- +Les changer ainsi :
-Les autorisations de fichier sont trop ouvertes (0644). Les changer ainsi :+
 <​cli>​$ chmod 600 ~/​.ssh/​id_rsa</​cli>​ <​cli>​$ chmod 600 ~/​.ssh/​id_rsa</​cli>​
 +??? 
 </​WRAP>​ </​WRAP>​
 </​WRAP>​ </​WRAP>​
Ligne 493: Ligne 1101:
   * Utilisation en serveur :​[[https://​framacloud.org/​fr/​auto-hebergement/​services_web.html]]   * Utilisation en serveur :​[[https://​framacloud.org/​fr/​auto-hebergement/​services_web.html]]
  
-===== - Serveur DNS : unbound ​=====+===== - Serveur DNS ===== 
 + 
 +==== - Unbound ​====
  
   * voir la page [[logiciel:​internet:​serveur:​dns:​unbound:​unbound_linux]]   * voir la page [[logiciel:​internet:​serveur:​dns:​unbound:​unbound_linux]]
 +  * [[logiciel:​internet:​serveur:​dns:​unbound:​unbound-new|]]
   * Voir [[tutoriel:​internet:​serveur:​rpi:​unbound]]   * Voir [[tutoriel:​internet:​serveur:​rpi:​unbound]]
  
 +==== - Configuration de Dnsmasq (serveur DNS local) ====
 +
 +Le paquet a été installé sur le RPI. Il reste à le configurer.
 +
 +Se placer sur le RPI, directement,​ via ssh ou vnc.
 +
 +__Objectif__ : schéma du réseau
 +
 +
 +<a2s>
 +           ​.----------.
 +           ​|[0] ​      |
 +           | Internet |
 +           ​| ​         |
 +           ​.----+-----.
 +                ^
 +                |
 +                v
 +        .-------+---------. ​                ​.---------------.
 +        |[1]  Freebox ​    ​| ​                |[2] chateau ​   |
 +        +--=--------------+<​--------------->​+--=------------+
 +        | o 192.168.0.254 |                 | o 192.168.0.1 |
 +        | o DHCP          |                 ​| ​              |
 +        .-------+---------. ​                ​| ​              |
 +                ^                           ​.---------------.
 +                |
 +                : Wi-Fi
 +                |
 +                v
 +      .---------+-------------.
 +      |[3] Framboise (RPI)    |
 +      +-=---------------------+
 +      | o serveur DNS / DHCP  |
 +      | o wlan0:​192.168.0.31 ​ |
 +      | o serveur HTTP        |
 +      |                       |
 +      |                       |
 +      |                       |
 +      .-----------------------.
 +
 +[0]: {"​a2s:​delref":​true,"​a2s:​type":"​cloud"​}
 +[1]: {"​a2s:​delref":​true}
 +[2]: {"​a2s:​delref":​true,"​a2s:​type":"​computer"​}
 +[3]: {"​a2s:​delref":​true,"​a2s:​type":"​computer"​}
 +</​a2s>​
 +
 +Voir la page [[logiciel:​internet:​serveur:​dns:​dnsmasq:​dnsmasq#​Configuration]]
 ===== - Serveur LAMP ===== ===== - Serveur LAMP =====