Exploration GNU/Linux
Transcription
Exploration GNU/Linux
Exploration GNU/Linux Philippe Latu IUT ’A’ Paul Sabatier - Groupe Systèmes & Réseaux IUP STRI Séance 1 http://www.linux-france.org philippe.latu(at)linux-france.org $Id: explore.mgp,v 1.8 2003/12/18 17:33:50 latu Exp $ Présentation Fonctions et Responsabilités Enseignant et Chargé de mission à l’IUT ’A’ Paul Sabatier Responsable d’exploitation systèmes & réseaux depuis 1992 Expérience GNU/Linux 1995 - débuts sur GNU/Linux kernel 2.0.21 1996 - premiers serveurs GNU/Linux à l’IUT Services Internet : dns, smtp, http 1997 - documentation RNIS/ISDN Linux France http://www.linux-france.org/article/connex/RNIS/ 2000 - projet inetdoc.LINUX http://www.linux-france.org/prj/inetdoc/ (2/38) Environnement du programme 6 séances de 3 Heures Ressources en ligne Support en ligne http://www.linux-france.org/prj/inetdoc/cours/explore.gnulinux/ Guide pédagogique http://www.linux-france.org/prj/inetdoc/formations/explore.gnulinux/ Formation Debian GNU/Linux http://www.via.ecp.fr/~alexis/formation-linux/ Prérequis Commandes Unix Questions Ce programme ne traite que de l’initiation au système GNU/Linux (3/38) Objectifs du programme A l’issue de ce programme vous serez capable : (4/38) d’installer et d’utiliser le système d’exploitation GNU/Linux en mode console et en mode graphique d’utiliser la documentation GNU/Linux en ligne d’effectuer des recherches et de choisir des applications de Logiciel Libre de consulter les messages systèmes et de maintenir une configuration de paquetages Planning du programme (5/38) Séance 1 Présentation du programme Concepts Unix, GNU/Linux, projets Open-Source Les distributions Méthode de travail Séance 2 Installation du Système GNU/Linux : partitionnement du disque dur installation du système de base choix des paquetages d’applications Planning du programme (suite) (6/38) Séance 3 Configuration du Système GNU/Linux : configuration de l’interface graphique KDE gestion des paquetages introduction des droits sur les fichiers et répertoires Séance 4 Tâches d’administration de premier niveau : ressources du shell BASH compilation des sources d’une application systèmes de fichiers et montages Planning du programme (suite) (7/38) Séance 5 Services du systèmes GNU/Linux : gestion et personnalisation des comptes utilisateurs messages systèmes (syslog) exécution périodique (cron) Séance 6 Initialisation du système GNU/Linux : lancement du système niveaux de démarrage ajout/retrait de pilote de périphérique Evaluation Questionnaire à choix multiple + test d’aptitude pratique Concepts Unix & GNU/Linux Pourquoi étudier le logiciel libre ? C’est le domaine des technologies de l’information qui possède une histoire cohérente et continue Ce sont les systèmes alternatifs qui permettent une analyse comparative critique C’est un moyen d’acquérir des outils et des méthodes originales C’est un moyen de s’approprier les nouvelles technologies de façon autonome et indépendante (8/38) Concepts Unix & GNU/Linux Objectifs. A l’issue de cette partie vous serez capable : (9/38) de reconnaître les étapes majeures du développement des systèmes Unix d’identifier les fonctions communes des systèmes Unix de différencier les fonctions du système GNU/Linux d’argumenter sur le choix des différentes licences Concepts Unix & GNU/Linux Depuis l’origine, les systèmes Unix se définissent à partir des aptitudes suivantes : le fonctionnement multi-tâches le fonctionnement multi-utilisateurs la portabilité les applications : utilitaires, services Internet, etc. les bibliothèques de développement d’applications (10/38) Concepts Unix & GNU/Linux (11/38) Concepts Unix & GNU/Linux (12/38) Kernel Le noyau gère la distribution des tâches, les entrées-sorties et le stockage des informations Shell La console interprète les commandes utilisateur, lance l’exécution des programmes et contrôle leurs relations «pipes» Application Les applications s’ajoutent ou se retirent du système d’exploitation à l’aide de paquetages Les développements ont toujours été modulaires ce qui facilite le partage de fonctions entre applications Concepts Unix & GNU/Linux (13/38) Concepts Unix & GNU/Linux (14/38) 1969 - AT&T = Système V Unix est un système «accidentel» des laboratoires Bell d’AT&T Jusque vers 1980, la réglementation antitrust interdisait à AT&T de vendre du logiciel AT&T a fourni des licences pour le code source et a autorisé l’utilisation du nom Unix Pour se différencier les compagnies ont rendu les versions d’Unix propriétaires et incompatibles Les discontinuités introduites par les systèmes propriétaires ont été nuisible au développement d’Unix Concepts Unix & GNU/Linux (15/38) 1973 - Berkeley University = BSD Lancement de la branche BSD à partir d’une licence AT&T Le libre accès au code source a conduit à de nombreuses améliorations Les services de communication réseau ont été introduits dès les premières étapes de l’ARPANET Le développement au sein des universités a largement dépassé la branche système V d’AT&T AT&T a attaqué l’université de Berkeley en justice et le procès a «trainé» jusqu’en 1994 Sous la pression judiciaire, la branche BSD se scinda en 3 :FreeBSD, NetBSD et OpenBSD Concepts Unix & GNU/Linux (16/38) 1984 - GNU = Not Unix Lancement du projet GNU par Richard Stallman (MIT/Emacs) Ce projet poursuit 2 objectifs Promouvoir le développement coopératif en protégeant les droits des développeurs :licences GPL, LGPL et GFDL Fédérer les dévelopements libres : applications GNU Les fonctions Unix étant déjà opérationnelles, c’est ce système qui a choisi comme modèle En 1990, presque tous les éléments du système étaient prêts (gcc + glibc), excepté le noyau Le projet de noyau Unix libre sur machines Intel lancé par Linus Torvalds a comblé le vide Concepts Unix & GNU/Linux (17/38) 1991 - Linux = kernel Le projet Linux a été lancé par Linus Torvalds suite à l’apparition de besoins particuliers sur le noyau Minix coordonné par A.S. Tanenbaum http://www.li.org/linuxhistory.php On y retrouve les aptitudes de bases d’Unix plus quelques nouveautés : le fonctionnement multi-tâches le fonctionnement multi-utilisateurs la gestion de mémoire virtuelle (utilisation répétitive et étendue de la RAM pour augmenter les performances) le système d’interconnexion réseau le mode protégé (contrôle des accès mémoire pour garantir la stabilité du système) les librairies partagées (code partagé par les applications) Concepts Unix & GNU/Linux (18/38) 1994 - 1996 = Série 1.0 Introduction de nouveaux processeurs : Alpha, Sparc et Mips 1996 - 1999 = Série 2.0 Reproduction des fonctions Unix de base Portabilité et support de nouveaux processeurs Pilotes de périphériques 1ère génération du système d’interconnexion réseau 1999 - 2001 = Série 2.2 Stabilisation des fonctions Unix de base Pilotes de périphériques 2ème génération du système d’interconnexion réseau Début des fonctions propres à Linux Concepts Unix & GNU/Linux 2001 - 2003 = Série 2.4 Nouveautés orientées grands systèmes Support de la répartition de charge entre processeurs (NUMA) ou entre unités centrales configuration dynamique des supports de stockage : Logical Volume Manager Nombre de processus simultanés uniquement limité par la taille de la RAM facteur important pour les serveurs Web et les systèmes de transaction Support mémoire plus important RAM jusqu’à 64 GB et fichiers de taille supérieure au téraoctet Support des systèmes de fichiers journalisés évolution ext2 (ext3), IBM’s Journalling Filesystem (JFS), reiserfs, etc. Système d’interconnexion réseau original modularité et mécanismes génériques de traitements des flux réseaux :QOS et filtrage de trames et de paquets (19/38) Concepts Unix & GNU/Linux 2001 - 2003 = Série 2.4 Nouveautés orientées petits systèmes Memory Technology Devices accès aux mémoires ROM ou FLASH des systèmes embarqués équivalents aux disques durs Systèmes de fichiers CRAMFS accès optimisés sur les systèmes embarqués limités en RAM Bus I2O, USB, FireWire, etc. Multimédia vidéo, audio et systèmes de codage originaux Pour en savoir plus : «Wonderful World of Linux 2.4» http://linuxtoday.com (20/38) Concepts Unix & GNU/Linux 2004 - 200x = Série 2.6 «Wonderful World of Linux 2.6» http://www.kniggit.net/wwol26.html (21/38) Concepts Unix & GNU/Linux (22/38) Licence BSD = restrictions possibles La licence BSD autorise la création de versions propriétaires en restreignant les droits lors de la redistribution d’un nouveau code dans les faits, les restrictions sont rarement appliquées Licence GNU = Copyleft La licence GPL rend impossible l’ajout de restrictions lors de la redistribution du logiciel C’est le principe fondamental de protection du Logiciel libre et des concepteurs/auteurs Concepts Unix & GNU/Linux (23/38) Le logiciel libre fait référence aux libertés des utilisateurs Liberté d’utiliser le logiciel pour n’importe quelle utilisation Liberté d’étudier le fonctionnement du logiciel et de l’adapter à ses besoins Liberté de redistribuer des copies du logiciel Liberté d’améliorer le logiciel et de distribuer publiquement ces amé liorations pour le bénéfice de toute la communauté Concepts Unix & GNU/Linux (24/38) Application du Copyleft 1. Appliquer un copyright sur le logiciel 2. Fixer les conditions de distribution qui donnent à tout utilisateur le droit d’utiliser, de modifier et de redistribuer le programme sans changer les conditions de distribution De cette façon, le code source et les libertés associées deviennent lé galement inséparables http://www.gnu.org/copyleft/copyleft.fr.html Concepts Unix & GNU/Linux - Quizz (25/38) Qui est à l’origine de la branche Système V d’Unix ? Qui est à l’origine de la branche BSD d’Unix ? Quels sont les objectifs du projet GNU ? Qu’est-ce que Linux ? Qu’est-ce qui différencie Linux des systèmes propriétaires ? Qu’est-ce qui différencie les licences GNU et BSD ? Quel est le principe du copyleft ? Projets Open Source Objectifs. A l’issue de cette partie vous serez capable : d’identifier les caractéristiques d’un projet de logiciel libre d’argumenter sur le choix d’une application de logiciel libre (26/38) Projets Open Source (27/38) Les applications et les systèmes Unix ont suivi la même évolution Tous les logiciels des services essentiels de l’Internet sont Open Source Noms de domaines : bind Courrier électronique : sendmail Web: Apache Les parts de marché des logiciels libres sur les services Internet sont é crasantes http://www.netcraft.com/survey/ Projets Open Source (28/38) «Open Source» c’est plus que la simple diffusion du code source Libre redistribution la licence doit toujours être distribuée avec le code pas d’interdiction de vente/don, ni de limite sur le nombre de copies Travaux dérivés les modifications sont distribuées dans les mêmes conditions que le logiciel original Intégrité du code source de l’auteur les restrictions sont possibles sur la redistribution si des «patches» sont diffusés Pas de discrimination sur l’utilisateur ou sur le domaine d’application Pas de contamination d’autres logiciels la licence ne peut inclure de restrictions sur d’autres logiciels associés au code libre Projets Open Source (29/38) Le modèle de développement Les développements de logiciels libres se font sur le même mode depuis plus de 30 ans Les systèmes GNU/Linux disposent de la plus grande population de développeurs Le modèle économique Les grands acteurs «utilisent» GNU/Linux pour servir leurs stratégies marketing Les sociétés orientées vers la vente de matériel ont du mal à soutenir la concurrence des grands constructeurs Les sociétés orientées vers la vente de services butent sur les limites de l’externalisation http://opensource.org/ Projets Open Source (30/38) Les outils de travail coopératif http://www.debian.org/ http://savannah.gnu.org/ http://sourceforge.net/ Les répertoires sur les projets et logiciels Open Source http://freshmeat.net/ http://newsforge.com/ Les sites d’information et de documentation Linux http://linuxtoday.com/ http://tldp.org/ http://linuxfocus.org/ http://debianplanet.org/ Les distributions (31/38) Les distributions GNU/Linux et BSD sont les canaux de diffusion du logiciel libre Elles associent un système Unix libre avec un ensemble d’applications Les applications sont distribuées sous forme de paquetages La gestion de ces paquetages constitue le principal enjeu 2 logiques s’opposent : Vente : publier un maximum de nouveautés en un minimum de temps Qualité : préserver la cohérence et l’évolutivité du système Le niveau «d’expertise» de la mise en paquetage est aussi important que le choix de l’application Le responsable d’un paquetage joue un rôle essentiel Le choix d’une distribution La facilité d’adaptation On ne peut pas maîtriser la totalité des éléments du système On doit se reposer sur les paquetages pour les aspects inconnus On doit pouvoir «sortir» des paquetages pour les aspects que l’on souhaite étudier en détail La continuité et les mises à jour Les mises à jours ou les corrections ne doivent pas entraîner de réinstallation complète En situation de production, ces deux critères sont essentiels (32/38) Le choix d’une distribution Pourquoi Debian GNU/Linux ? file:/cdrom/install/doc/fr/ch-welcome.fr.html#s-debian Le «contrat social Debian» fixe les règles à suivre pour préserver le logiciel libre http://www.debian.org/social_contract.html Les «principes du logiciel libre selon Debian» définissent les caractéristiques des logiciels libres La «charte Debian» spécifie en détail les procédures qualité du projet http://www.debian.org/devel/index.fr.html Le gestionnaire de paquetages APT est l’outil qui synthétise toutes les caractéristiques de la distribution continuité indépendante des versions adaptabilité en séparant la configuration de l’application automatisation de la publication des correctifs de sécurité (33/38) Synthèse sur le logiciel libre Le logiciel libre sera encore présent longtemps (34/38) Aucun modèle de développement supérieur n’a encore vu le jour Opposition entre «la cathédrale» et «le bazar» http://www.linux-france.org/article/these/cathedrale-bazar/cathedrale-bazar.html Les structures commerciales privées ne peuvent pas réunir les forces é quivalentes à celles des projets «Open Source» Les tentatives de discontinuités ont toutes été des echecs http://www.linuks.mine.nu/debian-worldmap/ L’étude de l’évolution des projets «Open Source» est un barômètre fiable des technologies de l’information L’Internet est basé sur le logiciel libre Méthode de travail Préparation des séances de travaux pratiques lire la présentation de la séance à venir http://www.linux-france.org/prj/inetdoc/cours/explore.gnulinux/ lire le manuel "Installer Debian Linux 3.0 sur Intel x86" http://www.debian.org/releases/stable/i386/install.fr.html file:/cdrom/install/doc/fr/install.fr.html consulter le guide pédagogique http://www.linux-france.org/prj/inetdoc/formations/explore.gnulinux/ Reviser les commandes essentielles d’Unix http://www.linux-france.org/article/debutant/debutant-linux.html (35/38) Synthèse par objectif Les étapes du développement des systèmes Unix les systèmes Unix sont les seuls à avoir une hitoire «continue» sur plus de 30 ans l’histoire et la mémoire de ces systèmes constituent une «culture» l’acquisition de cette «culture» n’est pas immédiate il faut être motivé mais l’acquisition de ces connaissances donne une grande autonomie (36/38) Synthèse par objectif Fonctions Unix et noyau Linux avant la série 2.4.x, les fonctions Unix usuelles ont été reproduites avec la série 2.4.x, les innovations sont lancées : mémoire virtuelle interconnexion réseau, filtrage et qualité de services clusters, systèmes multi-processeurs et journalisation système de représentation des périphériques la qualification des architectures 64 bits se fait avec GNU/Linux (37/38) Synthèse par objectif Projet GNU et licences les outils de développement GNU sont omniprésents le copyleft est un copyright qui sert : à préserver les libertés de l’utilisateur à préserver le travail du développeur à fixer les conditions de redistribution tout logiciel utilisant du code sous GPL hérite de la licence GPL (38/38)