Installation d'une distribution () « from scratch »et création d'une iso du système obtenu www.academy-mon-club-elec.fr – X. HINAULT – Tous droits réservés – 2016

Table des matières Installation d'une distribution (Debian) « from scratch »et création d'une iso du système obtenu...... 1 Plan...... 1 Avant tout :...... 2 L'objectif...... 2 Les situations concrètes où ce scénario est utile...... 2 Le choix de la distro de base...... 3 Ce que nous ne voulons pas (=les alternatives possibles) :...... 3 Principe général...... 4 Le point de départ...... 5 Installation du système minimal de base (30' à 1H)...... 5 Installation de l'environnement graphique (30')...... 8 ± Réaliser un snapshot de la distribution « minimale » (30')...... 10 Personnalisation du système de base...... 10 Personnalisation du l'aspect graphique au lancement...... 17 Personnalisation de l'écran d'accueil (splashscreen)...... 17 Personnalisation de l'animation de lancement (bootsplash)...... 18 ± Personnalisation de l'écran de connexion (lightdm)...... 19 Personnalisation du fond d'écran...... 19 Installation de logiciels dédiés utiles à partir des dépôts...... 19 Logiciels « standards »...... 20 Logiciels thématiques...... 21 Installation de logiciels dédiés indépendants...... 22 A partir du paquet *.deb...... 22 A partir d'un exécutable...... 23 Installation d'éléments utilisateur spécifiques...... 24 Personnalisation du navigateur...... 24 Ajout de documents / fichiers d'exemple...... 25 ± Installation / activation de services utiles...... 25 Sur le client = le poste à partir duquel on accède au serveur distant – peut être intéressant aussi sur le poste serveur…...... 27 Lancement d'une appli dédiée au démarrage...... 34 Créer une ISO du système obtenu...... 36 Conclusion...... 37 Bonus : créer un paquet *.deb...... 38 Quelques commandes utiles...... 38 Quelques trucs utiles...... 38

Installation d'une distribution (Debian) « from scratch »et création d'une iso du système obtenu p. 1/38 Avant tout : « I want to say first that this is not the only way of setting up such a system. There are many ways of achieving this goal but this is the way I take. » Lu « on the web »… En clair, il y a probablement plusieurs façons de faire ce que nous allons faire ici et la solution proposée est le fruit des choix que j'ai fait. La solution est « pragmatique » en ce sens qu'elle est relativement simple à mettre en œuvre et est validée par une utilisation concrète en situation réelle (parc de postes dédiés « fablab » )

L'objectif Nous allons créer une distribtion personnalisée et générer une image de celle-ci qui sera ré-installable sur une autre machine. La distribution obtenue devra être légère tout en fournissant les outils spécifiques souhaités dans ou hors dépôts. A noter qu'une distribution légère est intéressante aussi bien pour le reconditionnement que pour l'utilisation d'une machine récente avec des ressources conséquentes.

Les situations concrètes où ce scénario est utile Créer une distribution personnalisée et facilement réinstallable à l'identique pourra être utile dans un certain nombre de scénarios : • besoin d'une distribution allégée ou limitée dans ses possibilités et dédiée à un usage précis : borne internet, muséographie, contexte carcéral, etc. • besoin d'une distribution dédiée à une situation particulière avec une chaîne logicielle dédiée : poste pour un fablab, numérisation 3D, • reconditionnement de machines aux ressources limitées pour un usage dédié : eeePC reconditionnés pour des ateliers Arduino, etc.

D'une manière générale, dans toutes les situations où l'on aura besoin de personnaliser à l'identique un parc de machines, créer une distribution personnalisée et facilement ré-installable est une solution très intéressante. En pratique, on dédiera volontiers un poste « matrice » (ou une partition ) à la personnalisation de la distribution sur lequel/laquelle on limitera les opérations à l'enrichissement de la distribution.

Installation d'une distribution (Debian) « from scratch »et création d'une iso du système obtenu p. 2/38 Le choix de la distro de base Ici, nous construirons une distribution Debian en raison : • du nombre importants de paquets disponibles (40 000)

• de la qualité de l'installateur

• du support matériel satisfaisant

• de la disponibilité de plusieurs versions (stable / testing / unstable)

• de la disponibilité de la plupart des environnements de bureau,

• de son caractère peu gourmand en ressources systèmes

• du « contrat social » Debian clair et de la gouvernance démocratique du projet

• de la qualité de l'organisation du projet (universitaires, nombreux mirroirs, etc.)

Nous opterons de plus pour la version testing, en raison de son caractère « Rolling release », autrement dit, sans version « figée » ce qui permet de disposer des dernières évolutions.

Ce que nous ne voulons pas (=les alternatives possibles) :

Faire un clone du système, ...'est à dire une image iso qui s'installerai à l'identique sans installateur. Pour info ceci est faisable avec : bootcd http://www.linuxpedia.fr/doku.php/debian/debian_fabriquer_un_cd_live Clonezilla l'utilitaire dd

Ré-installer une liste de paquets sur un autre système Ceci est faisable assez simplement via synaptic et peut d'ailleurs être une solution dans certains cas où la personnalisation n'a pas besoin d'être « poussée ».

Installation d'une distribution (Debian) « from scratch »et création d'une iso du système obtenu p. 3/38 Le principe consiste à récupérer sur un premier système A la liste des paquets installés et à utiliser cette liste pour les installer sur un système B. Cette façon de faire se limite aux paquets présents dans les dépôts.

Utiliser un script de post-install Typiquement dans ce scénario, on installe une distribution « classique » (variante d', Debian, etc.) et une fois installée, on exécute un script de post installation qui réalise une série d'opérations type d'adaptation de la distribution. Ceci est jouable si il n'y a pas trop d'opérations à réaliser. Il faudra d'autre part savoir écrire un tel script et cela peut s'avérer nettement moins intuitif que l'adaptation du système lui-même en vue d'en réaliser une ISO.

Adapter une distribution existante Ici, très clairement, nous allons construire une distribution « from scratch », à partir de (presque) rien et l'étoffer progressivement. On ne cherche donc pas à reprendre une distribution existante (Mint, Ubuntu, etc.) et à l'adapter : si c'est ce scénario que l'on souhaite, ce qui sera dit ici pourra cependant servir d'inspiration. Ici, très clairement, nous allons construire « de toute pièce » une distribution personnalisée.

Principe général L'objectif est de créer une distribution dédiée qui sera la somme de : • d'une base de départ : un système minimal opérationnel, en ligne de commande

• l'installation de l'environnement de bureau utilisé, du gestionnaire de session

• les personnalisations spécifiques :

◦ du bureau :

▪ tableau de bord

▪ lanceur

▪ fond écran

◦ des écrans de lancement et d'arrêt du système

• de l'installation des logiciels voulus

◦ à partir dépôt

Installation d'une distribution (Debian) « from scratch »et création d'une iso du système obtenu p. 4/38 ▪ « fondamentaux » = outils à avoir sous le coude

▪ « thématiques » = selon l'orientation souhaitée pour la distribution

◦ hors dépôt

▪ à partir d'exécutable

▪ à partir de paquets deb

• de l'installation d'éléments utilisateur spécifique

• de l'installation de services dédiés

• de l'installation d'appli personnalisée automatique, etc.

• de l'installation des outils utiles et génération de l'ISO

Une fois la distribution prête et à tout moment d'ailleurs, on pourra créer une ISO de la distribution. Note : Les outils de création de l'ISO étant intégrés à la distribution, tout utilisateur pourra à tout moment lui-même créé une ISO de son système modifié pour la rendre utilisable par d'autres.

Le point de départ Le point de départ est le système minimal sur lequel on va construire l'ensemble : • soit une base sans environnement de bureau, sur laquelle on va ajouter un environnement de bureau • soit une base avec environnement de bureau, quitte à l'alléger un peu. Cette solution peut faire gagner du temps… car sinon, on peut vraiment avoir à tout réinstaller.

Installation du système minimal de base (30' à 1H)

Avec partir de Netinst On boote sur la clé : une série d'écrans se succèdent : • Langue

• Pays

• Clavier

Installation d'une distribution (Debian) « from scratch »et création d'une iso du système obtenu p. 5/38 • Config réseau

• mot de passe root / utilisateur

• Partitionnement

• Installation du système de base

• Choix source des paquets

• Choix des applications à installer :

Choisir système standard sans Graphical Desktop (on l'installera après)

Avec Sparky CLI A partir de la version CLI de la distro sparkylinux. Description : http://sparkylinux.org/how-to-sparkylinux-cli/ Voici les identifiants au lancement : login:live mdp:live

Installation d'une distribution (Debian) « from scratch »et création d'une iso du système obtenu p. 6/38 installation avec : sudo sparkylinux-installer

On obtient quelque chose d'équivalent au Debian Installer, en plus efficace, et surtout avec déjà les paquets de drivers installés, etc. • Langue

• Pays

• Clavier

• mot de passe root / utilisateur

• Partitionnement

• Fuseau horaire

• Installation du système de base

Une fois fait, reboot + retirer clé

Ensuite, on peut d'entrée de jeu réaliser une mise à jour des paquets des dépôts : sudo apt-get update puis installer htop, un petit utilitaire permettant d'évaluer l'utilisation des ressources système : sudo apt-get install htop

Bilan de l'étape Une fois relancé, un premier bilan du système installé avec : htop et df -h donne :

Installation d'une distribution (Debian) « from scratch »et création d'une iso du système obtenu p. 7/38 usage disque : 1.8G usage RAM : 47Mo..

Installation de l'environnement graphique (30') On présuppose ici que l'on dispose d'un système bootable en ligne de commande, obtenue par netinst ou bien en distro déjà prête (Sparkylinux CLI)

Installation du serveur X Si ce n'est déjà fait, avant tout : sudo apt-get update puis : sudo apt-get install xorg (80Mo)

Installation de l'environnement de bureau est un environnement de bureau intermédiaire (<200Mo) basé sur GTK sudo apt-get install xfce4 300Mo

± apt-get install xfce4-goodies pour tester, on peut (éventuellement, mais pas obligatoire) faire :

$startx A l'invite, mettre un tableau de bord standard. Puis se déconnecter si ok (pas éteindre)

Pour installer Mate : sudo apt-get install mate-desktop-environment-core voir : http://wiki.mate-desktop.org/download

Pour installer :

Installation d'une distribution (Debian) « from scratch »et création d'une iso du système obtenu p. 8/38 sudo apt-get install lxde

Pour installer enlightment : sudo apt-get enlightment

On écarte à priori ici les environnements de bureau lourds (>200Mo) tels que Gnome, Unity, KDE, etc.

Installation du gestionnaire de session sudo apt-get install lightdm lightdm--greeter sudo dpkg-reconfigure lightdm (30Mo)

Voilà, à ce stade, on peut rebooter : sudo reboot

On obtient l'écran de connexion et une fois loggué, l'écran de base. Noter que lightdm permet de choisir entre plusieurs environnement de bureau

Note : Pour autologin xfce : dans /etc/lightdm/lightdm.conf trouver la 2ème section [seat Defaul] (la première = explication...) décommenter/modifier les lignes : autologin-user = username # mettre le bon autologin-user-timeout = 0

Bilan de l'étape

Un nouveau bilan du système installé avec :

Installation d'une distribution (Debian) « from scratch »et création d'une iso du système obtenu p. 9/38 htop et df -h donne : usage disque : .. G usage RAM : .. Mo..

± Réaliser un snapshot de la distribution « minimale » (30') On peut à ce stade, réaliser un premier « snapshot » de la distribution minimale obtenue (pour ne pas avoir à la refaire si on veut repartir de zéro) - voir la procédure plus loin.

Personnalisation du système de base En pratique, on peut très bien commencer la procédure ici, à partir d'un système minimal graphique que l'on installe à partir d'une iso : on évite toute la partie précédente qui est relativement standard et parfois fastidieuse si on n'est pas habitué (l'installateur est vraiment sobre)

Paramétrages fondamentaux (si besoin) Activer noyau multicoeur : sudo apt-get install -image-686-pae Note : ceci n'est pas utile sur les « vieux ordinateurs » qui ne supportent pas le PAE. Le PAE concerne l'adressage mémoire : https://en.wikipedia.org/wiki/Physical_Address_Extension

Remarquer au passage que la version du noyau utilisée avec testing est la plus récente ou presque… uname -r voir : https://kernel.org/

± Reconfigurer les locales (langue) sudo dpkg-reconfigure locales

Installation d'une distribution (Debian) « from scratch »et création d'une iso du système obtenu p. 10/38 ± Reconfigurer le clavier : sudo apt-get install keyboard-configuration dpkg-reconfigure keyboard-configuration

± Mise à jour générale préalable (çà peut être long… pas indispensable à ce stade) sudo apt-get upgrade

Les logiciels fondamentaux Htop : analyser le système dans le terminal sudo apt-get install htop

Geany : éditeur à coloration syntaxique polyvalent et léger sudo apt-get install

Terminology : un terminal « fun » sudo apt-get install terminology ou bien (plus léger) : sudo apt-get install xfce4-terminal

Navigateur (qui va simplifier la vie ensuite..) sudo apt-get install iceweasel Changer navigateur par défaut => Qwant ou autre.. Toujours demander où enregistrer

Gestionnaire d'archive : sudo apt-get install xarchiver

Installation d'une distribution (Debian) « from scratch »et création d'une iso du système obtenu p. 11/38 Personnalisation du bureau Les manip' présentées ici sont celles sous XFCE4…. Elles seront du même ordre sous Mate.

Moniteur CPU dans le tableau de bord sudo apt-get install xfce4-cpugraph-plugin l'ajouter ensuite par clic droit sur le tableau de bord > Tableau de bord > ajouter nouveau élément > cpugraph > ajouter Puis une fois dans le tableau de bord : clic droit sur le cpugraph > déplacer et positionner Puis : clic droit sur le cpugraph > propriétés > définir

± Ajouter lanceurs voulus dans le tableau de bord : Gestionnaire fichier Terminal

Changer le menu par défaut sous XFCE avec : Menu qui mixe recherche et menu classique sudo apt-get install xfce4-whiskermenu-plugin supprimer le menu précédent l'ajouter ensuite par clic droit sur le tableau de bord > Tableau de bord > ajouter nouveau élément > menuwhisker > ajouter Puis une fois dans le tableau de bord : clic droit sur le menu > déplacer et positionner Puis : clic droit sur le menu > clic droit-propriétés > comportement > changer au survol

Docker avant léger Supprimer le tableau de bord 2 présent par défaut : clic droit > Préférences Tableau de bord > choisir le n°2 et faire « enlever » (bouton - ) sudo apt-get install docky Le lancer graphiquement

Installation d'une distribution (Debian) « from scratch »et création d'une iso du système obtenu p. 12/38 Ensuite déconnexion / reconnexion pour l'activer au lancement Dans les propriétés (clic sur l'ancre Docky) : clic docky dans lanceur > masquage intelligent Ajouter des applis dans le lanceur par simple glisser/déposer.. ou bien lancer l'appi et faire « épingler au dock » Dans peaufinage fenêtre >compositeur > décocher afficher ombre sous les fenêtres dock activer arrière plan 3D.. Pour enlever un élément : clic dessus, garder cliqué et sortir du dock : cela enlève du doc.

Sinon, pour configurer en détail le Docky : sudo apt-get install gconf-editor puis lancer en ligne de commande : gconf-editor

Et là, on peut paramétrer en finesse au besoin : http://wiki.go-docky.com/index.php?title=GConf_Settings Notamment apps > docky-2 > Docky > Interface > Dock Preference > Dock 1 Deconnexion/reconnexion pour validation A noter qu'on peut en créer plusieurs, avec des positions différentes, etc..

une alternative possible : wbar (solution moins intuitive qui se configure par fichiers texte) doc ici : http://lxlinux.com/wbar.html > sudo apt-get install wbar wbar-config > puis geany .wbar et modifier pour aspect.. pour démarrage propre de wbar dans xfce : désactiver autostart wbar créer script :

#bin/sh sleep 5

Installation d'une distribution (Debian) « from scratch »et création d'une iso du système obtenu p. 13/38 wbar et activer au démarrage

Adapter le thème graphique Apps > paramètres > apparence

Pour installer un thème : aller le choisir sur : http://xfce-look.org/ (à ajouter dans les raccourcis speedial?) > theme > xfce Un qui est pas mal : Xaphire Xfwm4 themes Le principe : télécharger l'archive, l'extraire et place les éléments dans la racine user dans ./local/share/themes ./local/share/icons ou dans /usr/share/themes/ exemple : http://xfce-look.org/content/show.php/Greybird-Oxygen?content=169996 Il faut mettre le theme sous la forme themes//xfwm4/ Ensuite, menu app > gestionnaire de fenêtres > style On peut aussi installer le thème par glisser déposer du gestionnaire fichier vers fenêtre thème apparence

On peut également paramétrer de la sorte : > icones un pas mal : Xquisite Pour les icônes, c'est dans apparence à mettre dans ~/.icons// mettre à jour le cache : gtk-update-icon-cache ~/.icons// Note : on peut installer icon en faisant copier coller dans apparence / icons

Installation d'une distribution (Debian) « from scratch »et création d'une iso du système obtenu p. 14/38 > curseurs : X11 mouse theme un pas mal : Obsidian à mettre dans ~/.icons//cursors etc.

Liens utiles : https://wiki.xfce.org/howto/install_new_themes voir aussi : https://wiki.xfce.org/howto/install_new_themes

Truc : il existe même des thèmes « façon unity », mais sans toute la lourdeur d'unity… ou Mac, ou Windows.. On peut même s'amuser à créer un système intégrant un thème Windows, un thème Mac

Ajout d'utilitaires usuels fondamentaux

Activation de l'applet network-manager

sudo apt-get install network-manager sudo apt-get install network-manager- ou bien directement : sudo apt-get install network-manager-gnome le nm-applet se lance avec (pour test) : nm-applet

Faire reboot pour obtenir lancement automatique ou une reconnexion de l'utilisateur sudo reboot

Noter que le wifi est retrouvé d'emblée.

Installation d'une distribution (Debian) « from scratch »et création d'une iso du système obtenu p. 15/38 ± gestionnaire du son sudo apt-get install pavucontrol

± gestionnaire de disques sudo apt-get install gnome-disk-utility lancer avec gnome-disks ou menu graphique

± activation du numlock Activer le pavé numérique au démarrage sous XFCE : sudo apt-get install numlockx sudo geany /etc/lightdm/lightdm.conf ajouter la ligne : greeter-setup-script=/usr/bin/numlockx on dans la rubrique [SeatDefaults]

± ajout de polices Ajouter les polices Microsoft sudo apt-get install ttf-mscorefonts-installer

Bilan de l'étape Un nouveau bilan du système installé avec : htop et df -h donne : usage disque : .. G usage RAM : .. Mo..

Installation d'une distribution (Debian) « from scratch »et création d'une iso du système obtenu p. 16/38 Personnalisation du l'aspect graphique au lancement

Personnalisation de l'écran d'accueil (splashscreen) Le principe est que l'image d'accueil est successivement cherchée dans : 1. GRUB_BACKGROUND line in /etc/default/grub 2. First image found in /boot/grub/ ( more images found, it will be taken alphanumerically ) 3. The image specified in /usr/share/desktop-base/grub_background.sh 4. The file listed in the WALLPAPER line in /etc/grub.d/05_debian_theme voir : http://www.thegeekstuff.com/2012/10/grub-splash-image/ L'image utilisable doit d'autre part être « aménagée », à savoir 600x480. Dans le cas de l'option 3 : l'image utilisée est en /usr/share/images/desktop-base/desktop-grub.png

Procédure : Sur internet, télécharger une image de son choix en 640x480 png Ensuite, extraire et copier coller (sudo ) en /usr/share/images/desktop-base/ Ensuite, sudo geany /usr/share/desktop-base/grub_background.sh Modifier la ligne WALLPAPER=/usr/share/images/desktop-base/ Reboot pour tester Pour avoir la priorité max, il vaut mieux modifier /etc/default/grub sudo geany /etc/default/grub et ajouter :

GRUB_BACKGROUND="/usr/share/images/desktop-base/" ensuite : ne pas oublier ++ sudo update-grub puis reboot sudo reboot

Installation d'une distribution (Debian) « from scratch »et création d'une iso du système obtenu p. 17/38 Au démarrage, la nouvelle image doit être utilisée !

Personnalisation de l'animation de lancement (bootsplash) https://wiki.debian.org/fr/plymouth

Installation : sudo apt-get install plymouth sudo apt-get install plymouth-themes

± sudo apt-get install plymouth-theme-hamara

Si message d'erreur driver : sudo apt-get install firmware-linux-nonfree la liste des thèmes : sudo /usr/sbin/plymouth-set-default-theme --list changement du thème (ne pas oublier le s de sbin ): sudo /usr/sbin/plymouth-set-default-theme THEME spinner est sobre (petite roue tournante) hamara est pas mal… mise à jour du système (ne pas oublier) sudo update-initramfs -u

Idem avant : si message erreur driver : sudo apt-get install firmware-linux-nonfree puis reboot : sudo reboot

Installation d'une distribution (Debian) « from scratch »et création d'une iso du système obtenu p. 18/38 ± Personnalisation de l'écran de connexion (lightdm) Editer en root avec geany : /etc/lightdm/lightdm-gtk-greeter.conf sudo geany /etc/lightdm/lightdm-gtk-greeter.conf

Dans la section [greeter] trouver la ligne : background= cheminImageAUtiliser typiquement en /usr/share/images/desktop-base/

Personnalisation du fond d'écran Le plus simple : clic droit sur le bureau > paramètres > choisir une image adaptée > enregistrer Egalement télécharger image et les placer en /usr/share/images/desktop-base

Bilan de l'étape Un nouveau bilan du système installé avec : htop et df -h donne : usage disque : .. G usage RAM : .. Mo..

Installation de logiciels dédiés utiles à partir des dépôts http://parveenarora.in/Best_Lightweight_Applications_for_Linux https://linuxpanda.wordpress.com/2013/04/01/list-of-all-time-best-top-must-have-apps-for-linux/

Installation d'une distribution (Debian) « from scratch »et création d'une iso du système obtenu p. 19/38 Logiciels « standards »

Navigateur : Sudo apt-get install Iceweasel

Terminal : Sudo apt-get install terminology +/-sudo apt-get install libssl1.0.2

Visionneur d'images: Sudo apt-get install Gpicview

Lecteur vidéo / son : Sudo apt-get install player-gui sudo apt-get install vlc

Outils systèmes utiles Sudo apt-get hardinfo sudo apt-get

Webcam Sudo apt-get Guvcview

Suite bureautique Sudo apt-get Libreoffice

Installation d'une distribution (Debian) « from scratch »et création d'une iso du système obtenu p. 20/38 Dessin : sudo apt-get install

Capture d'écran sudo apt-get install Shutter sudo apt-get install recordmydesktop

Lecteur PDF : sudo apt-get install

Logithèque sudo apt-get install gnome-

installateur de paquet synaptic etc...

Logiciels thématiques

Audio Audacity

montage vidéo

Installation d'une distribution (Debian) « from scratch »et création d'une iso du système obtenu p. 21/38 Traitement d'images sudo apt-get install

Programmation arduino Qt-designer

Conception 3D Blender Freecad Openscad

Bilan de l'étape Un nouveau bilan du système installé avec : htop et df -h donne : usage disque : .. G usage RAM : .. Mo..

Installation de logiciels dédiés indépendants

A partir du paquet *.deb Cf l'exemple de Refracta Tools

Installation de Gdebi

Sudo apt-get install gdebi

Installation d'une distribution (Debian) « from scratch »et création d'une iso du système obtenu p. 22/38 Installation des outils Refracta http://sourceforge.net/projects/refracta/files/tools/

Refracta snapshot Installation de base puis de Gui

Refracta installer Installation de base puis de Gui

Pour info, les scripts sh se trouvent dans /usr/bin On peut configurer avec /etc/refractasnapshot.conf

A partir d'un exécutable

Exemple Arduino Installation initiale : version des dépôts (ceci permet l'installation des dépendances, etc. simplement) : sudo apt-get install arduino Par contre, la version des dépôts n'est pas la plus récente et est placée en /usr ce qui n'est pas pratique en pratique… donc, on va pouvoir utiliser l'archive séparée autonome : Download du site Arduino dans Téléchargements

Mettre image dans /usr/share/images ou /usr/share/icons

Puis ajout du lanceur dock par clic droit sur l'icône une fois lancée. Créer lanceur sur bureau en utilisant image placée en /usr/share/images et glisser/déposer dans le docker

Installation d'une distribution (Debian) « from scratch »et création d'une iso du système obtenu p. 23/38 Exemple unetbootin Unetbootin est un utilitaire de création de clé bootable à partir d'une ISO. Il n'est pas forcément dans les dépôts et il est donc installable sous forme d'un exécutable. A télécharger ici : http://unetbootin.github.io/linux_download.html Une fois le fichier *.bin téléchargé, le rendre exécutable. Ce qui donne en ligne de commande : chmod +x ./unetbootin-linux Ensuite, le lancer avec la commande : sudo ./unetbootin-linux Si une dépendance manquante est signalée, l'installer. Par exemple : sudo apt-get install mtools Puis relancer.

Bilan de l'étape Un nouveau bilan du système installé avec : htop et df -h donne : usage disque : .. G usage RAM : .. Mo..

Installation d'éléments utilisateur spécifiques

Personnalisation du navigateur Par exemple, personnalisation du navigateur avec Qwant Et ajout de speedial Ensuite, ceci sera intégré dans la nouvelle installation !

Installation d'une distribution (Debian) « from scratch »et création d'une iso du système obtenu p. 24/38 Ajout de documents / fichiers d'exemple On pourra créer sur le bureau un dossier de fichiers d'exemples. Par exemple, des fichiers 3D pour impression, etc..

Note : pour une activation pour tous les utilisateurs = placer dans /etc/skel

± Installation / activation de services utiles

Serveur ssh Un serveur SSH est pratique pour pleins de chose : • accès à distance au poste de façon sécurisée en ligne de commande

• possibilité de déport graphique

• partage facilité et sécurisé de fichiers via thunar

Donc, pour des opérations de maintenance, c'est potentiellement très utile.

Installation : Sudo apt-get install openssh-server

Partage de fichiers : Pour pouvoir accéder facilement à des fichiers d'un serveur ssh distant, depuis thunar, il est intéressant d'installer : sudo apt-get install -backends gvfs-fuse Ensuite, on pourra se connecter à un serveur ssh pour partager ses fichiers en saisissant simplement dans le champ de chemin de Thunar : sftp://ip.du.serveur.distant

Serveur HTML Serveur Apache sudo apt-get install apache2

Installation d'une distribution (Debian) « from scratch »et création d'une iso du système obtenu p. 25/38 ± Service d'accès au bureau distant par le réseau : X2go

Descriptif : Solution de client serveur pour accès distant au bureau d'un poste. Quelques point intéressant : > faible bande passante > utilise ssh > utilise Qt4 et Python pour le client.. > dispo sous Raspbian..

Liens utiles : http://wiki.x2go.org/doku.php http://wiki.x2go.org/doku.php/doc:installation:x2goserver https://www.tutos-du-web.fr/installer-une-interface-graphique-xfce4-x2go-et-firefox-sur-ubuntu-5

Sur le serveur = le poste auquel on accède = ici le poste lui-même. http://wiki.x2go.org/doku.php/doc:installation:x2goserver

Ajouter le dépôt : Ajouter la clé sudo apt-key adv --recv-keys --keyserver keys.gnupg.net E1F958385BFE2B6E

Editer/créer le fichier x2go.list sudo nano /etc/apt/sources.list.d/x2go.list

Ajouter les dépôts et enregistrer (exemple pour testing – à adapter à la bonne distro utilisée, notamment sur serveur VPS (wheezy) ) :

Installation d'une distribution (Debian) « from scratch »et création d'une iso du système obtenu p. 26/38 # X2Go Repository (release builds) deb http://packages.x2go.org/debian testing main

# X2Go Repository (sources of release builds) deb-src http://packages.x2go.org/debian testing main

# X2Go Repository (nightly builds)

#deb http://packages.x2go.org/debian testing heuler

# X2Go Repository (sources of nightly builds)

#deb-src http://packages.x2go.org/debian testing heuler

Installer le serveur x2go Mettre à jour la liste des paquets : sudo apt-get update

Puis installer les paquets : sudo apt-get install x2goserver x2goserver-xsession

OK, donc çà doit être bon à ce stade.

NOTE : pour avoir le partage de bureau, il faut installer x2godesktopsharing

Sur le client = le poste à partir duquel on accède au serveur distant – peut être intéressant aussi sur le poste serveur… Installer le paquet qui est dans les dépôts à priori : apt-get install x2goclient

Ensuite, on retrouve le client dans le menu graphique App > Internet :

Installation d'une distribution (Debian) « from scratch »et création d'une iso du système obtenu p. 27/38 Au lancement, on obtient une fenêtre de config : renseigner l'ip du poste distant, l'utilisateur, le bureau utilisé :

Installation d'une distribution (Debian) « from scratch »et création d'une iso du système obtenu p. 28/38 On obtient alors :

Installation d'une distribution (Debian) « from scratch »et création d'une iso du système obtenu p. 29/38 Cliquer sur la fenêtre de session et on a alors une invite à saisir le mot de passe :

Installation d'une distribution (Debian) « from scratch »et création d'une iso du système obtenu p. 30/38 Valider. Et là, magie, on obtient illico le bureau distant.. sécurisé et tout !

Installation d'une distribution (Debian) « from scratch »et création d'une iso du système obtenu p. 31/38 Vous avez accès au poste distant…

Pour quitter la session :

Installation d'une distribution (Debian) « from scratch »et création d'une iso du système obtenu p. 32/38 Bilan de l'étape Un nouveau bilan du système installé avec : htop et df -h donne :

Installation d'une distribution (Debian) « from scratch »et création d'une iso du système obtenu p. 33/38 usage disque : .. G usage RAM : .. Mo..

Lancement d'une appli dédiée au démarrage Il est assez facile de développer une petite application en Python.

Installation des dépendances utiles Pour développer une application graphique en Python, on a simplement besoin de : sudo apt-get install python-qt4 sudo apt-get install qt4-designer sudo apt-get install pyqt4-dev-tools

Pour info, une solution alternative simple pour faire des boîtes de dialogue : YAD

L'application elle-même A titre d'illustration, voici une fenêtre de conditions d'utilisation qui s'ouvrira au lancement de la session et se fermera par un clic sur le bouton d'acceptation :

Installation d'une distribution (Debian) « from scratch »et création d'une iso du système obtenu p. 34/38 Ce scritpt est téléchargeable ici (sous forme d'un zip) : http://cloud-mon-club- elec.fr:8080/ateliers_pyqt/codes_pyqt_bases/tuto_pyqt_bases_button_champ_texte/ Une fois obtenu, le dézipper et rendre exécutable le fichier *Main.py (clic droit > propriétés > permissions)

Lancement au démarrage Ensuite, aller par le menu graphique Applications > Paramètres > session et démarrage > onglet démarrage automatique > Ajouter. Saisir la commande ./Téléchargement/chemin/appMain.py Faire un reboot de test.

Bilan de l'étape Un nouveau bilan du système installé avec :

Installation d'une distribution (Debian) « from scratch »et création d'une iso du système obtenu p. 35/38 htop et df -h donne : usage disque : .. G usage RAM : .. Mo..

Créer une ISO du système obtenu

Installation de Gdebi

Sudo apt-get install gdebi

Installation des outils Refracta http://sourceforge.net/projects/refracta/files/tools/

Refracta snapshot Installation de base et de Gui

Refracta installer Installation de base et de Gui

Création d'un snapshot Nettoyer le système avant avec : sudo apt-get autoremove

Installation d'une distribution (Debian) « from scratch »et création d'une iso du système obtenu p. 36/38 Lancer Refracta snapshot pour générer l'iso du système « minimal »

Création d'une clé USB live Plusieurs possibles, notamment : unetbootin (voir installation précédemment) : http://unetbootin.github.io/ multibootusb (basé sur Python + PyQt ) : http://multibootusb.org/ ou encore sudo apt-get install sparky-live-usb-creator sparky-formater

Utilisation Ensuite, lancer l'installation et appui sur « tab » au lancement et remplacer union=aufs3 par union=overlay ou bien simplement l'effacer. (spécifique à la testing)

Ensuite, une fois le système lancé, on peut lancer l'installateur à partir de : Apps > Systeme > Refracta Installeur

Conclusion

Exemple d'une distribution opérationnelle de ce type utilisée au sein du Créafab : • intègre toute la chaîne logicielle impression 3D + conception 3D

• chaîne logicielle codage Arduino, Python, etc.

• fichiers d'exemple de pièces 3D, etc, intégrés

• tourne sur des PC reconditionnés, installable en 15 minutes voire utilisable en USB live.

Installation d'une distribution (Debian) « from scratch »et création d'une iso du système obtenu p. 37/38 Bonus : créer un paquet *.deb ...

Quelques commandes utiles

Connaître liste des paquets : https://wiki.debian.org/fr/ListInstalledPackages leur nombre : dpkg -l | wc -l

Version du noyau uname -r

Liste des processus pour un utilisateur donné : top -u user

Quelques trucs utiles

Pour créer facilement une boîte de dialogue système : utiliser YAD : https://sourceforge.net/p/yad- dialog/wiki/browse_pages/

Installation d'une distribution (Debian) « from scratch »et création d'une iso du système obtenu p. 38/38