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)