Introduction aux systèmes GNU/Linux - S19E01 - inetdoc
←
→
Transcription du contenu de la page
Si votre navigateur ne rend pas la page correctement, lisez s'il vous plaît le contenu de la page ci-dessous
Introduction aux systèmes GNU/Linux S19E01 inetdoc.net Philippe Latu / Université Toulouse 3 Document sous licence GNU FDL v1.3 http://www.gnu.org/licenses/fdl.html
Progression en 3 modules 11er er module module L3 L3 Administrer Administrer un un système système app1 app2 app3 app4 app1 app2 app3 app4 Installer Installer la la distribution distribution Debian Debian glibc glibc glibc glibc GNU/Linux GNU/Linux système système app5 app6 app7 app8 Gérer Gérer des paquets des paquets VM VM glibc glibc Gérer Gérer des conteneurs conteneurs lxc des lxc Créer hyperviseur gestion conteneurs Créer et et personnaliser personnaliser des des comptes comptes utilisateurs utilisateurs locaux locaux système système Identifier Identifier les les ressources ressources systèmes systèmes matériel matériel Gérer Gérer les les processus processus S19E01 inetdoc.net - 2/44
Progression en 3 modules 22ème ème module M1 module M1 app1 app2 app3 app4 Administrer Administrer des des glibc glibc app5 app6 app7 app8 systèmes systèmes en en réseau réseau glibc glibc Définir gestion conteneurs Définir les les types types de de stockage stockage système Choisir Choisir et et configurer configurer une une solution solution matériel de de stockage stockage réseau réseau iSCSI iSCSI ou ou NFSv4 NFSv4 Installer Installer et et configurer configurer un un annuaire annuaire infrastructure LDAP LDAP avec avec automontage automontage NFSv4 NFSv4 stockage authentification S19E01 inetdoc.net - 3/44
Progression en 3 modules 33ème ème module M1 module M1 app1 app2 app3 app4 Interconnecter Interconnecter des des glibc glibc app5 app6 app7 app8 réseaux réseaux hétérogènes hétérogènes glibc glibc Configurer Configurer une une liaison liaison WAN WAN PPPoE PPPoE gestion conteneurs Configurer Configurer le le routage routage inter-VLAN inter-VLAN Système Configurer Configurer un un espace espace de de noms noms réseau réseau Matériel Configurer Configurer le le protocole protocole de de routage routage dynamique dynamique OSPF OSPF PPP Session S19E01 inetdoc.net - 4/44
Introduction aux systèmes GNU/Linux Séance Séance 11 Définir Définir les les 55 fonctions fonctions de de base base des des systèmes systèmes Unix Unix Définir Définir les les 33 couches couches de de la la modélisation modélisation d’un d’un système système application d’exploitation d’exploitation Définir Définir les les types types de de virtualisation virtualisation et et de de conteneurs conteneurs shell Définir Définir une une distribution distribution GNU/Linux GNU/Linux Identifier Identifier une une licence licence de de logiciel logiciel noyau/kernel libre libre S19E01 inetdoc.net - 5/44
Introduction aux systèmes GNU/Linux Séance Séance 22 Partitionner Partitionner et et formater formater un un périphérique périphérique de de stockage stockage Installer Installer le le système système de de base base Choisir Choisir un un jeu jeu de de paquets paquets d'applications d'applications Utiliser Utiliser le le gestionnaire gestionnaire d'amorce d'amorce Opération Opération C-3PO C-3PO Installer Installer Open Open vSwitch vSwitch (OvS) (OvS) Installer Installer les les premiers premiers conteneurs conteneurs avec avec LXD LXD https://gist.github.com/platu/ https://gist.github.com/platu/ S19E01 inetdoc.net - 6/44
Introduction aux systèmes GNU/Linux Séance Séance 33 Identifier Identifier les les environnements environnements graphiques graphiques et et les les chaînes chaînes de de développement développement associées associées Gérer Gérer les les mises mises àà jour jour des des paquets paquets de de la la distribution distribution Identifier Identifier les les dépendances dépendances entre entre applications applications et et bibliothèques bibliothèques Utiliser Utiliser les les méta méta données données Scénario Scénario Installer Installer un un conteneur conteneur LXC LXC avec avec les les paquets paquets d’un d’un service service Web Web S19E01 inetdoc.net - 7/44
Introduction aux systèmes GNU/Linux Séance Séance 44 etu@vm0:~$ etu@vm0:~$ total total 20K 20K ls ls -lAh -lAh Utiliser Utiliser les les ressources ressources du du shell shell -rw------- -rw------- 11 etu etu etu etu 131 131 nov. nov. 26 26 21:37 21:37 .bash_history .bash_history -rw-r--r-- -rw-r--r-- 11 etu etu etu etu 220 220 nov. nov. 26 26 17:01 17:01 .bash_logout .bash_logout Bash Bash -rw-r--r-- -rw-r--r-- 11 etu etu etu etu 3,5K 3,5K nov. nov. 26 26 17:01 17:01 .bashrc .bashrc Lire Lire la la syntaxe syntaxe d’un d’un script script drwx------ drwx------ 33 etu etu etu etu 4,0K 4,0K nov. nov. 26 26 17:35 17:35 .gnupg .gnupg -rw-r--r-- -rw-r--r-- 11 etu etu etu etu 807 807 nov. nov. 26 26 17:01 17:01 .profile .profile Identifier Identifier et et gérer gérer les les processus processus Gérer Gérer les les permissions permissions sur sur les les objets objets de de l'arborescence l'arborescence système système permissions owner group size date & time name Scénario Scénario Installer Installer un un blog blog statique statique S19E01 inetdoc.net - 8/44
Introduction aux systèmes GNU/Linux Séance Séance 55 Gérer Gérer les les comptes comptes utilisateurs utilisateurs locaux locaux Personnaliser Personnaliser les les comptes comptes locaux locaux Gérer Gérer les les groupes groupes Changer Changer d’identité d’identité avec avec sudo sudo ou ou su su Exploiter Exploiter les les messages messages systèmes systèmes avec avec rsyslog rsyslog Planifier Planifier les les tâches tâches avec avec cron cron Scénario Scénario Gérer Gérer les les permissions permissions de de groupes groupes pour pour le le développement développement de de site site Web Web S19E01 inetdoc.net - 9/44
Introduction aux systèmes GNU/Linux Séance Séance 66 Basic Basic Input Input Ouput Ouput System BIOS System Présenter Présenter les les étapes étapes de de →→ recherche recherche MBR MBR l’initialisation l’initialisation d’un d’un système système MBR Master Master Boot Boot Record Record Identifier Identifier le le rôle rôle du du gestionnaire gestionnaire →→ recherche recherche GRUB GRUB d'amorce d'amorce Distinguer Distinguer les les espaces espaces mémoire mémoire GRUB Grand Grand Unified Unified Bootloader Bootloader noyau noyau et et utilisateur utilisateur →→ recherche recherche noyau noyau Reconnaître Reconnaître les les services services lancés lancés au au kernel Noyau Noyau Linux Linux démarrage démarrage →→ systemd systemd →→ identification identification des des ressources ressources systemd →→ exécution exécution /sbin/init /sbin/init Scénario Scénario →→ lancement lancement des des services services Appliquer Appliquer des des contraintes contraintes sur sur l’accès l’accès aux aux ressources ressources pour pour un un conteneur conteneur LXD LXD S19E01 inetdoc.net - 10/44
Concepts Unix et GNU/Linux Une Une définition définition de de la la notion notion de de culture culture ... ... système système «« un un ensemble ensemble lié lié de de manières manières de de penser, penser, de de sentir sentir et et d'agir d'agir plus plus ou ou moins moins formalisées formalisées qui, qui, étant étant apprises apprises et et partagées partagées par par une une pluralité pluralité de de personnes, personnes, servent, servent, d'une d'une manière manière àà la la fois fois objective objective et et symbolique, symbolique, àà constituer constituer ces ces personnes personnes en en une une collectivité collectivité particulière particulière et et distincte. distincte. »» Guy Guy Rocher Rocher –– https://fr.wikipedia.org/wiki/Culture https://fr.wikipedia.org/wiki/Culture S19E01 inetdoc.net - 11/44
Concepts Unix et GNU/Linux Développer une culture système, c’est : Identifier Identifier les les étapes étapes d’une d’une histoire histoire continue continue sur sur 55 décennies décennies Comparer Comparer la la genèse genèse des des systèmes systèmes Unix Unix avec avec celle celle des des services services Internet Internet Identifier Identifier les les processus processus d’assurance d’assurance qualité qualité des des distributions distributions Décrire Décrire les les nouveaux nouveaux processus processus métier métier →→ devops devops !! Comment évaluer ? Maîtriser Maîtriser les les outils outils du du logiciel logiciel libre, libre, c’est c’est démontrer démontrer un un niveau niveau de de culture culture système système S19E01 inetdoc.net - 12/44
Concepts Unix et GNU/Linux 5 fonctions de base des systèmes Unix Multi-tâches Multi-tâches Temps Temps processeur processeur partagé partagé entre entre plusieurs plusieurs programmes programmes Multi-utilisateurs Multi-utilisateurs Ressources Ressources système système partagées partagées entre entre plusieurs plusieurs utilisateurs utilisateurs Portabilité Portabilité Outils Outils système système partagés partagés entre entre cibles cibles matérielles matérielles différentes différentes Bibliothèques Bibliothèques de de développement développement standard standard Optimiser Optimiser la la qualité qualité des des développements développements en en partageant partageant le le code code source source Applications Applications communes communes Services Services système, système, services services Internet, Internet, etc. etc. S19E01 inetdoc.net - 13/44
1969 Unnamed PDP-7 operating system 1969 Open source 1971 to 1973 Unix 1971 to 1973 Version 1 to 4 Mixed/shared source 1974 to 1975 Unix Closed source 1974 to 1975 Version 5 to 6 PWB/Unix 1978 1978 BSD Source 1.0 to 2.0 Unix 1979 Version 7 1979 Unix/32V Wikipedia 1980 1980 BSD 3.0 to 4.1 Xenix 1981 System III 1981 1.0 to 2.3 Unix 1982 1982 Xenix BSD 4.2 3.0 1983 SunOS 1983 1 to 1.1 System V Family R1 to R2 1984 SCO Xenix 1984 Unix 1985 Version 8 SCO Xenix 1985 AIX V/286 System V Tree 1986 Unix-like systems BSD 4.3 1.0 R3 HP-UX 1986 SunOS 1.0 to 1.2 Unix 1.2 to 3.0 SCO Xenix 1987 9 and 10 V/386 1987 (last versions HP-UX 1988 BSD 4.3 System V 2.0 to 3.0 1988 from Tahoe R4 1989 Bell Labs) SCO Xenix 1989 BSD Net/1 V/386 BSD 4.3 1990 Reno 1990 1991 BSD Net/2 1991 Linux 0.0.1 SunOS Minix 4 386BSD 1.x NexTSTEP/ 1992 OPENSTEP HP-UX 1992 1.0 to 4.0 NetBSD 6 to 11 Linux BSD 0.8 to 1.0 1993 SCO UNIX UnixWare 1993 0.95 to 1.2.x 4.4-Lite 3.2.4 1.x to 2.x FreeBSD & (System V 1994 Lite Release 2 1994 1.0 to R4.2) 1995 2.2.x NetBSD OpenBSD 1995 1.1 to 1.2 OpenServer Solaris 1.0 to 2.2 5.0 to 5.04 1996 2.1 to 9 1996 1997 1997 NetBSD 1.3 1998 FreeBSD 1998 3.0 to 3.2 Minix OpenServer 1999 Mac OS X AIX 5.0.5 to 5.0.7 1999 2.x Server 2000 3.0-7.2 2000 2001 to 2004 2001 to 2004 Linux 2005 2.x UnixWare 2005 7.x 2006 to 2007 (System V 2006 to 2007 OpenBSD R5) 2008 2.3-6.1 Solaris 2008 Mac OS X, FreeBSD NetBSD 10 OS X, 3.3-11.x 1.3-7.1 OpenServer HP-UX 2009 macOS 6.x 11i+ 2009 10.0 to 10.12 DragonFly Minix BSD 2010 3.1.0-3.4.0 (Darwin 2010 1.2.1 to 17) 1.0 to 4.8 OpenSolaris 2011 & derivatives 2011 Linux (illumos, etc.) 2012 to 2015 3.x 2012 to 2015 Solaris 2016 Linux 4.x OpenServer 11.0-11.3 S19E01 inetdoc.net 2016 - 14/44 2017 10.x 2017
Concepts Unix et GNU/Linux 1969 1969 –– Unics Unics –– AT&T AT&T –– Système Système VV Unix Unix est est un un système système «accidentel» «accidentel» AT&T AT&T Bell Bell labs labs –– Ken Ken Thompson Thompson -- Dennis Dennis Ritchie Ritchie 1973 1973 réécriture réécriture enen Langage Langage CC Diffusion Diffusion sous sous licence licence AT&T AT&T incluant incluant la la totalité totalité du du code code source source 1975 1975 publication publication RFC681 RFC681 NETWORK NETWORK UNIX UNIX Apparition Apparition des des variantes variantes propriétaires propriétaires Coût Coût de de licence licence prohibitif prohibitif Versions Versions constructeurs constructeurs incompatibles incompatibles entre entre elles elles Segmentation Segmentation en en parts parts de de marché marché captives captives S19E01 inetdoc.net - 15/44
Concepts Unix et GNU/Linux 1977 1977 –– Berkeley Berkeley University University –– BSD BSD Branche Branche Unix Unix lancée lancée àà partir partir d'une d'une licence licence AT&T AT&T Nombreuses Nombreuses améliorations améliorations Gestion Gestion mémoire mémoire Sous-système Sous-système réseau réseau TCP/IP TCP/IP Diffusion Diffusion entre entre universités universités Début Début de de l'Internet l'Internet universitaire universitaire Procès Procès AT&T AT&T BSD BSD est est devenu devenu un un système système complet complet autonome autonome Éclatement Éclatement de de la la branche branche BSD BSD inetdoc.net - 16/44
Concepts Unix et GNU/Linux 1984 1984 –– GNU GNU –– Not Not Unix Unix Projet Projet lancé lancé par par Richard Richard Stallman Stallman 22 objectifs objectifs Promouvoir Promouvoir le le développement développement des des logiciels logiciels libres libres Protection Protection des des travaux travaux des des développeurs développeurs àà l'aide l'aide de de licences licences Fédérer Fédérer les les développements développements libres libres Applications Applications GNU GNU Unix Unix comme comme modèle modèle Fonctions Fonctions de de base base déjà déjà éprouvées éprouvées 1990 1990 –– chaîne chaîne de de développement développement stable stable GNU GNU Compiler Compiler Collection Collection 1991 1991 –– arrivée arrivée du du noyau noyau Linux Linux S19E01 inetdoc.net - 17/44
Concepts Unix et GNU/Linux 1991 1991 –– Débuts Débuts du du noyau noyau Linux Linux Développement Développement initié initié par par Linus Linus Torvalds Torvalds «divergences «divergences de de vues» vues» avec avec A.S. A.S. Tanenbaum Tanenbaum http://www.oreilly.com/catalog/opensources/book/appa.html http://www.oreilly.com/catalog/opensources/book/appa.html Fonctions Fonctions de de base base Unix Unix ++ quelques quelques spécificités spécificités Multi-tâches Multi-tâches Multi-utilisateurs Multi-utilisateurs Gestionnaire Gestionnaire mémoire mémoire Mémoire Mémoire virtuelle virtuelle == utilisation utilisation répétitive répétitive et et étendue étendue Mode Mode protégé protégé (processeurs (processeurs Intel) Intel) Contrôle Contrôle d'accès d'accès ←← Débuts Débuts sur sur l’isolation l’isolation mémoire mémoire entre entre processus processus S19E01 inetdoc.net - 18/44
Système GNU/Linux Modèlisation Modèlisation d’un d’un système système Processus Processus utilisateur GNU/Linux GNU/Linux utilisateur Noyau/kernel Noyau/kernel →→ 33 fonctions fonctions Processus application Processus Temps Temps processeur processeur utilisateur utilisateur Mémoire Mémoire Entrées/Sorties Entrées/Sorties Séquencement shell entre processus Ligne de commande Shell Shell →→ 22 fonctions fonctions Séquencement Séquencement entre entre processus processus noyau/kernel Ligne Ligne de de commande commande Temps processeur Application Application Gestion mémoire Tous Tous les les processus processus utilisateur utilisateur Entrées/Sorties S19E01 inetdoc.net - 19/44
S19E01 inetdoc.net - 20/44
Système GNU/Linux Processus Processus Processus Mémoire Mémoire virtuelle userspace virtuelle utilisateur utilisateur utilisateur userspace userspace Programmes Programmes utilisateurs utilisateurs Bibliothèque standard glibc Bibliothèque Bibliothèque standard standard glibc glibc Sous-systèmes du noyau kernelspace kernelspace bdflush kswapd slab Memory Memory Management Management Unit Unit (MMU) (MMU) allocator kernelspace Zoned Zoned buddy buddy allocator allocator Allocation zoned buddy allocator Allocation pages pages mémoires mémoires Slab Slab allocator allocator MMU Cache Cache dans dans les les pages pages mémoire mémoire Kernel Kernel threads threads Réutilisation Réutilisation de de la la mémoire mémoire S19E01 inetdoc.net - 21/44
Système GNU/Linux Ordonnanceur/Scheduler Ordonnanceur/Scheduler 33 domaines domaines ou ou types types de de tâches tâches Domaine Domaine temps temps réel réel Contraintes Contraintes de de temps temps d'exécution d'exécution Fréquence Fréquence d'exécution d'exécution garantie garantie Domaine Domaine entrées/sorties entrées/sorties Attente Attente de de disponibilité disponibilité des des périphériques périphériques Domaine Domaine CPU CPU Temps Temps consacré consacré aux aux calculs calculs Tranche Tranche de de temps temps CPU CPU // time time slice slice Durée Durée d'exécution d'exécution d'un d'un processus processus sur sur un un cœur cœur Préemption Préemption Interruption Interruption d'un d'un processus processus par par un un second second de de priorité priorité plus plus élevée élevée S19E01 inetdoc.net - 22/44
Système GNU/Linux Machine Machine Virtualisation Virtualisation ou ou para-Virtualisation para-Virtualisation virtuelle virtuelle qemu i/o Sans Sans hyperviseur hyperviseur →→ virtualisation virtualisation qemu i/o Émulation Émulation du du matériel matériel dans dans l’espace l’espace application utilisateur utilisateur Performances Performances limitées limitées Adapté Adapté aux aux cibles cibles matérielles matérielles obsolètes obsolètes shell Avec Avec hyperviseur hyperviseur →→ para-virtualisation para-virtualisation Communication Communication «directe» «directe» entre entre machine machine noyau/kernel virtuelle virtuelle et et matériel matériel du du système système hôte hôte module KVM Performances Performances identiques identiques entre entre système système hôte hôte matériel et et système système virtualisé virtualisé Périphériques Périphériques dédiés dédiés dans dans le le noyau noyau de de la la machine machine virtuelle virtuelle S19E01 inetdoc.net - 23/44
Système GNU/Linux Machine Machine Virtualisation Virtualisation ou ou para-Virtualisation para-Virtualisation virtuelle virtuelle qemu i/o Outil Outil de de l’espace l’espace utilisateur utilisateur →→ qemu qemu qemu i/o qemu qemu seul seul →→ virtualisation virtualisation application 22 fonctions fonctions principales principales Manipulations Manipulations sur sur les les fichiers fichiers image image de de machine machine virtuelle virtuelle shell Description Description du du matériel matériel des des machines machines virtuelles virtuelles noyau/kernel Outil Outil de de l’espace l’espace noyau noyau →→ kvm kvm module KVM qemu qemu ++ kvm kvm →→ para-virtualisation para-virtualisation matériel Utilisation Utilisation des des périphériques périphériques de de la la bibliothèque bibliothèque virtio virtio S19E01 inetdoc.net - 24/44
Système GNU/Linux Conteneurs Conteneurs ou ou micro micro services services app1 app2 app1 Conteneurs Conteneurs →→ LXC/LXD LXC/LXD docker glibc app2 Système Système complet complet «sans «sans noyau» noyau» lxc docker Données Données stockées stockées dans dans le le conteneur conteneur ou ou en en application dehors dehors via via montage montage Pile Pile d’applications d’applications hébergées hébergées Coût Coût d’administration d’administration système système complet complet shell Micro Micro services services →→ Docker Docker noyau/kernel Une Une application application par par conteneur conteneur Docker Docker Données Données stockées stockées en en dehors dehors Pile Pile d’applications d’applications →→ pile pile de de conteneurs conteneurs S19E01 inetdoc.net - 25/44
Système GNU/Linux Opération Opération C-3PO C-3PO :: conteneurs conteneurs && app1 app2 app1 app2 réseaux réseaux sans sans orchestration orchestration glibc glibc Objectifs Objectifs lxc eth0 lxc Aucun Aucun compromis compromis entre entre commutation commutation eth0 application virtuelle virtuelle et et commutation commutation physique physique Pas Pas de de recours recours àà la la traduction traduction d’adresses d’adresses Conteneurs Conteneurs LXC/LXD LXC/LXD shell Configuration Configuration simplifiée simplifiée via via snap snap OvS Raccordement Raccordement réseau réseau automatique automatique noyau/kernel eth0 Open Open vSwitch vSwitch (OvS) (OvS) Table CAM ((Content Table CAM Content Addressable Addressable Memory Memory)) Base Base de de VLANs VLANs S19E01 inetdoc.net - 26/44
Système GNU/Linux S19E01 inetdoc.net - 27/44
Logiciel Libre & Licences Code Code source source →→ code code exécutable exécutable Tout Tout programme programme est est écrit écrit dans dans un un langage langage Exemple Exemple :: le le noyau noyau Linux Linux est est écrit écrit en en Langage Langage CC Le Le code code source source n'est n'est pas pas directement directement utilisable utilisable Compilation Compilation Transformation Transformation du du code code source source en en code code exécutable exécutable Transformation Transformation inverse inverse «impossible» «impossible» Code Code exécutable exécutable == binaire binaire Logiciel Logiciel propriétaire propriétaire Droit Droit d'utilisation d'utilisation limité limité d'un d'un code code exécutable exécutable Logiciel Logiciel libre libre Accès Accès au au code code source source Droit Droit d'utilisation, d'utilisation, d'échange, d'échange, de de modification modification et et de de redistribution redistribution S19E01 inetdoc.net - 28/44
Logiciel Libre & Licences Licences Licences de de Logiciel Logiciel Libre Libre Licence Licence BSD BSD →→ restrictions restrictions possibles possibles Création Création de de versions versions propriétaires propriétaires autorisée autorisée Restrictions Restrictions possibles possibles sur sur les les droits droits de de redistribution redistribution Restrictions Restrictions rarement rarement appliquées appliquées dans dans les les faits faits Licence Licence GNU GNU →→ Copyleft Copyleft Copyright Copyright != != Copyleft Copyleft Principe Principe de de protection protection du du Logiciel Logiciel libre libre et et des des concepteurs concepteurs Restrictions Restrictions interdites interdites sur sur les les conditions conditions de de redistribution redistribution S19E01 inetdoc.net - 29/44
Logiciel Libre & Licences Application Application du du Copyleft Copyleft Appliquer Appliquer un un copyright copyright sur sur le le logiciel logiciel Fixer Fixer les les conditions conditions de de distribution distribution ««Donner Donner àà tout tout utilisateur utilisateur le le droit droit d'utiliser, d'utiliser, de de modifier modifier et et de de redistribuer redistribuer le le programme programme sans sans changer changer les les conditions conditions de de distribution distribution»» Le Le code code source source et et les les libertés libertés associées associées sont sont inséparables inséparables http://www.gnu.org/copyleft/copyleft.fr.html http://www.gnu.org/copyleft/copyleft.fr.html S19E01 inetdoc.net - 30/44
Projets OpenSource Applications Applications OpenSource OpenSource && systèmes systèmes GNU/Linux GNU/Linux Une Une histoire histoire commune commune Évolutions, Évolutions, processus processus et et méthodes méthodes Exemples Exemples de de services services Internet Internet Bind Bind :: noms noms de de domaines domaines Postfix Postfix :: courrier courrier électronique électronique Apache/NGINX Apache/NGINX :: serveurs serveurs web web Terminologie Terminologie OpenSource OpenSource Modifications Modifications distribuées distribuées dans dans les les mêmes mêmes conditions conditions que que l'original l'original Restrictions Restrictions possibles possibles sur sur la la redistribution redistribution des des correctifs correctifs Licence Licence sans sans restrictions restrictions sur sur d'autres d'autres logiciels logiciels associés associés S19E01 inetdoc.net - 31/44
Projets OpenSource Modèle Modèle de de développement développement Fondations Fondations →→ écosystèmes écosystèmes structurés structurés Open Open Source Source Initiative Initiative https://opensource.org/ https://opensource.org/ Linux Linux Foundation Foundation https://www.linuxfoundation.org/ https://www.linuxfoundation.org/ Mozilla Mozilla Foundation Foundation https://foundation.mozilla.org/ https://foundation.mozilla.org/ The The Document Document Foundation Foundation https://www.documentfoundation.org/ https://www.documentfoundation.org/ S19E01 inetdoc.net - 32/44
Projets OpenSource Quelles Quelles sont sont les les évolutions évolutions métier métier en en cours cours ?? Documentation Documentation https://stackoverflow.com/ https://stackoverflow.com/ The The devops devops buzzword buzzword Toujours Toujours plus plus d’automatisation d’automatisation Toujours Toujours plus plus d’applications d’applications intégrées intégrées ou ou dépendantes dépendantes Fusion Fusion des des métiers métiers du du développement développement et et de de l’administration l’administration système système Tout Tout est est programmable programmable «le «le déploiement déploiement d’infrastructure d’infrastructure utilise utilise les les mêmes mêmes processus processus que que le le déploiement déploiement logiciel» logiciel» S19E01 inetdoc.net - 33/44
Projets OpenSource Quelles Quelles sont sont les les évolutions évolutions métier métier en en cours cours ?? Intégration continue –– continuous Intégration continue continuous integration integration Déposer Déposer souvent souvent le le code code dans dans un un système système de de contrôle contrôle de de version. version. Chaque Chaque dépôt dépôt déclenche déclenche une une instance instance automatisée automatisée de de génération génération et et de de test. test. Livraison continue –– continuous Livraison continue continuous delivery delivery Automatiser Automatiser le le processus processus de de publication publication du du logiciel. logiciel. Un Un projet projet amont amont peut peut lancer lancer la la construction construction des des paquets paquets pour pour les les distributions. distributions. Déploiement continu –– continuous Déploiement continu continuous deployment deployment Automatiser Automatiser complètement complètement l’intégration l’intégration et et la la livraison livraison sans sans aucune aucune étape étape manuelle. manuelle. Exemples Exemples Transformation Transformation de de github github ou ou gitlab gitlab en en outils outils de de développement développement intégrés intégrés S19E01 inetdoc.net - 34/44
Distribution Distributions Distributions GNU/Linux GNU/Linux && BSD BSD Canaux Canaux de de diffusion diffusion du du logiciel logiciel libre libre Distribution Distribution →→ association association de de 33 éléments éléments Noyau Noyau Un Un ou ou plusieurs plusieurs Shells Shells Un Un ensemble ensemble d'applications d'applications Composants Composants distribués distribués sous sous forme forme de de paquets paquets Code Code binaire binaire exécutable exécutable Configuration Configuration type type Gestion Gestion de de paquets paquets Principal Principal enjeu enjeu dans dans la la vie vie d'une d'une distribution distribution S19E01 inetdoc.net - 35/44
Distribution 22 logiques logiques s'opposent s'opposent →→ devops devops !? !? Publier Publier très très régulièrement régulièrement →→ utilisateurs/développeurs utilisateurs/développeurs Fournir Fournir les les outils outils les les plus plus récents récents Fournir Fournir l'interface l'interface la la plus plus attrayante attrayante Publier Publier en en fonction fonction de de la la qualité qualité →→ infrastructure/administration infrastructure/administration Fournir Fournir les les outils outils qui qui satisfont satisfont les les critères critères de de qualité qualité Garantir Garantir la la continuité continuité de de service service Choix Choix d'une d'une application application parmi parmi nn Équivalence Équivalence entre entre qualité qualité du du code code et et gestion gestion de de paquet paquet Responsable Responsable de de paquet paquet →→ un un rôle rôle essentiel essentiel Capitalisation Capitalisation des des compétences compétences d'exploitation d'exploitation Qualités Qualités humaines humaines dans dans la la coordination coordination Démarche Démarche qualité qualité lors lors des des évolutions évolutions S19E01 inetdoc.net - 36/44
Distribution Choix Choix d'une d'une distribution distribution 22 critères critères essentiel essentiel pour pour l'exploitation l'exploitation Facilité Facilité d'adaptation d'adaptation Obtenir Obtenir une une configuration configuration type type par par contexte contexte Bénéficier Bénéficier de de l'expérience l'expérience des des responsables responsables de de paquets paquets Continuité Continuité lors lors des des mises mises àà jour jour Cohérence Cohérence des des évolutions évolutions et et corrections corrections Réinstallation Réinstallation impossible impossible Adaptation Adaptation ++ évolution évolution continue continue Continuité Continuité de de service service Haute Haute disponibilité disponibilité S19E01 inetdoc.net - 37/44
Distribution Relations Relations && filiations filiations entre entre distributions distributions Assurance Assurance qualité qualité && coordination coordination Exemple Exemple :: Debian Debian →→ Ubuntu Ubuntu →→ LinuxMint LinuxMint Modèle Modèle «pipeline» «pipeline» S19E01 inetdoc.net - 38/44
Distribution Debian Debian GNU/Linux GNU/Linux Évolution Évolution cohérente cohérente et et continue continue depuis depuis 1993 1993 Contrat Contrat social social ++ Principes Principes du du logiciel logiciel libre libre selon selon Debian Debian Règles Règles àà suivre suivre pour pour garantir garantir qu'un qu'un logiciel logiciel est est bien bien libre libre http://www.debian.org/social_contract.html http://www.debian.org/social_contract.html Charte Charte Debian Debian Procédure Procédure qualité qualité du du projet projet http://www.debian.org/devel/index.fr.html http://www.debian.org/devel/index.fr.html Gestionnaire Gestionnaire de de paquets paquets APT APT Synthèse Synthèse de de toutes toutes les les qualités qualités de de la la distribution distribution Continuité Continuité indépendante indépendante des des versions versions Adaptabilité Adaptabilité en en séparant séparant la la configuration configuration de de l'application l'application Automatisation Automatisation de de la la publication publication des des mises mises àà jour jour inetdoc.net - 39/44
Distribution Debian Debian GNU/Linux GNU/Linux Choix Choix pédagogique pédagogique Mille Mille et et unes unes distributions distributions spécialisées spécialisées Très Très peu peu de de distributions distributions généralistes généralistes Transparence Transparence des des processus processus Qualité Qualité :: https://tracker.debian.org https://tracker.debian.org Sécurité Sécurité :: https://www.debian.org/security/ https://www.debian.org/security/ Processus Processus métiers métiers difficiles difficiles àà illustrer illustrer Coût Coût d'accès d'accès au au support support Diffusion Diffusion restreinte restreinte de de l'information l'information Difficulté Difficulté d'accès d'accès àà l'information l'information Communautés Communautés peu peu ouvertes ouvertes inetdoc.net S19E01 inetdoc.net - -40/44 40/44
Bilan séance 1 Logiciels Logiciels Libres Libres && Projets Projets OpenSource OpenSource Rôle Rôle majeur majeur dans dans le le monde monde des des technologies technologies de de l'information l'information Modèle Modèle de de développement développement original original et et éprouvé éprouvé «La «La Cathédrale» Cathédrale» vs. vs. «Le «Le Bazar» Bazar» Évolutions Évolutions en en écosystèmes écosystèmes Nouvelle Nouvelle répartition répartition des des rôles rôles entre entre entreprises entreprises de de services services et et fondations fondations La La valeur valeur ajoutée ajoutée est est générée générée àà partir partir du du partage partage de de biens biens communs communs «La «La culture culture système système est est devenue devenue une une condition condition importante importante pour pour l’accès l’accès àà l’emploi» l’emploi» S19E01 inetdoc.net - 41/44
Bilan séance 1 Étapes Étapes du du développement développement des des systèmes systèmes Unix Unix Histoire Histoire «continue» «continue» sur sur presque presque de de 50 50 ans ans Histoire Histoire ++ Mémoire Mémoire == culture culture Opposition Opposition entre entre culture culture et et obscurantisme obscurantisme Savoir-faire Savoir-faire != != «recettes «recettes de de cuisine» cuisine» Coût Coût d'apprentissage d'apprentissage important important Investissement Investissement sur sur le le long long terme terme Capitalisation Capitalisation des des savoir-faire savoir-faire == autonomie autonomie Il Il faut faut être être motivé motivé !! S19E01 inetdoc.net - 42/44
S19E01 inetdoc.net - 43/44
Ressources Cahier Cahier de de l’Admin l’Admin Debian Debian https://debian-handbook.info/ https://debian-handbook.info/ Framabook Framabook Unix. Unix. Pour Pour aller aller plus plus loin loin avec avec la la ligne ligne de de commande commande https://framabook.org/unixpou-allerplusloinaveclalignedecommande/ https://framabook.org/unixpou-allerplusloinaveclalignedecommande/ Manuel Manuel d'installation d'installation Debian Debian http://www.debian.org/releases/stable/installmanual http://www.debian.org/releases/stable/installmanual S19E01 inetdoc.net - 44/44
Vous pouvez aussi lire