Installation de Linux – Master IC2A/DCISS - 2009/2010 – Christian Bulfone Installation de Linux – Master IC2A/DCISS - 2009/2010 – Christian Bulfone Installer Linux Christian Bulfone [email protected] Master IC2A/DCISS Année 2009/2010 Qu’est-ce que Linux ? Linux est un système UNIX 32 bits multi-tâches, multiutilisateurs, sachant gérer le mode multi-processeurs Développé par Linus Torvalds à l’origine pour plateforme Intel x86, il a été porté sur de nombreuses architecture : Alpha, Sparc, PowerPC, … Il est compatible avec le standard POSIX 1003.1 et il inclut un bon nombre des fonctionnalités d'UNIX System V et BSD 4.3 Il est développé selon les termes de la GNU General Public License (GPL) et ses sources sont librement distribuables 1 Installation de Linux – Master IC2A/DCISS - 2009/2010 – Christian Bulfone Installation de Linux – Master IC2A/DCISS - 2009/2010 – Christian Bulfone Les différentes phases d’installation d’un système Linux Pré-installation Vérification de la compatibilité matérielle Détermination de la configuration type (serveur, client) Choix d’une distribution Linux Choix de la méthode d’installation (CDROM, réseau, ...) Installation Partitionnement du disque ; création du swap et des systèmes de fichiers Installation des paquetages Configuration de base du système Installation du « loader » et création d’une disquette d’amorçage Post-installation Configuration poussée du système (intégration de la machine dans son environnement) Montage des systèmes de fichiers Création des comptes utilisateurs Ajout ou suppression des démons systèmes Manipulation d'archives et de paquetages Intégration des périphériques nouveaux ou non reconnus pendant l’installation : configuration du noyau, installation d’une imprimante ... Sauvegarde du système installé Vérifier la compatibilité matérielle Il n’est pas inutile de vérifier à priori la compatibilité matérielle : http://www.linuxhardware.org : informations sur les matériels supportés par Linux si la machine fonctionne déjà avec Windows, on peut récupérer quelques informations intéressantes sur la configuration matérielles depuis le Gestionnaire de périphériques du panneau de configuration 2 Installation de Linux – Master IC2A/DCISS - 2009/2010 – Christian Bulfone Installation de Linux – Master IC2A/DCISS - 2009/2010 – Christian Bulfone Obtenir des informations sur la configuration matérielle Les méthodes d’installation de Linux Pour démarrer l’installation, il faut booter un système Linux à partir : d’une disquette de boot d’un CDROM bootable d’un serveur d’installation sur le réseau Le système chargé en mémoire crée un système de fichiers root en mémoire dans un disque virtuel en RAM (Ramdisk) et démarre l’exécution de la procédure d’installation 3 Installation de Linux – Master IC2A/DCISS - 2009/2010 – Christian Bulfone Installation de Linux – Master IC2A/DCISS - 2009/2010 – Christian Bulfone Les méthodes d’installation de Linux Installation locale : disquette + CDROM, ou CDROM bootable seul + CDROM Linux Distribution Linux Installation réseau Réseau TCP/IP NFS HTTP FTP serveur Installation du système Chargement d’un mini-système Linux Chargement à partir d’une unité bootable ; le programme d’installation propose une installation typique ou personnalisée Préparation des disques Reconnaissance, partitionnement et formatage des disques Le partitionnement est une étape importante qui conditionne le bon fonctionnement du système. Il est impératif d’avoir une idée précise du l’utilisation future de la machine pour évaluer : la taille du système les besoins en zone temporaire l’espace alloué aux utilisateurs Choix des paramètres du système et des programmes Démarrage de l’installation Création du ou des systèmes de fichiers et du swap Installation des fichiers système et des programmes Installation du noyau et du chargeur sur le disque 4 Installation de Linux – Master IC2A/DCISS - 2009/2010 – Christian Bulfone Installation de Linux – Master IC2A/DCISS - 2009/2010 – Christian Bulfone Les distributions de Linux Il n'existe pas une distribution unique de Linux, mais plusieurs La plupart des distributions sont commerciales et disponibles à l’achat sur CDROM (voire DVD), mais restent librement téléchargeables par FTP depuis les sites de leurs développeurs ou des sites miroirs Une documentation et un support technique de 30 jours (en moyenne) sont fournis avec l’achat d’une distribution commerciale Contenu d’une distribution Une distribution de Linux inclut : Une version du noyau Un certains nombre de pilotes Des programmes, regroupés en paquetages (packages), distribués sous les formats suivants : [ tarball ] : ce sont des archives au format tar, le plus souvent compressées (extension .tar.gz ou .tgz) ; elles contiennent rarement des programmes binaires, mais plus souvent les sources qu’il faudra compiler [ rpm ] : système développé par RedHat et adopté par beaucoup d’autres distributions ; chaque paquetage (d’extension .rpm) contient un logiciel ou un groupe de logiciels qui ont été testés, configurés et qui sont prêts à fonctionner [ deb ] : paquetage (extension .deb) de la distribution Debian 5 Installation de Linux – Master IC2A/DCISS - 2009/2010 – Christian Bulfone Installation de Linux – Master IC2A/DCISS - 2009/2010 – Christian Bulfone Caractéristiques d’une distribution Il faut faire la distinction entre le noyau du système d’exploitation et les programmes complémentaires qui l’accompagnent La confusion provient de l’augmentation constante du nombre de logiciels disponibles pour Linux Les distributions se différencient ainsi par leur composition, c’est-à-dire : le choix des groupements logiciels (système de paquetage) l’emplacement des fichiers et des répertoires La totalité des distributions de Linux et certains systèmes Unix se réfèrent à présent au standard FHS (Filesystem Hierarchy Standard) et proposent les mêmes fichiers et répertoires Choisir une distribution Installation Evolution facilité d’utilisation : mode graphique/texte souplesse : configurations prédéfinies (classe d’installation chez RedHat/Fedora) automatisable (outil kickstart de RedHat/Fedora) ajout/suppression de paquetages, problème de cohérence correction des bugs - bug tracking mise à jour de la distribution - nouvelles versions compatibilité Multi-architectures i386 et suivants, Sparc, Alpha, PowerPC, 68000 … 6 Installation de Linux – Master IC2A/DCISS - 2009/2010 – Christian Bulfone Installation de Linux – Master IC2A/DCISS - 2009/2010 – Christian Bulfone La distribution Fedora Fedora est la version open source de la distribution RedHat (RedHat entreprise, la version professionnelle) C’est une distribution Linux fondée sur un système de paquetages L’avantage d'une telle distribution réside dans facilité de la mise à jour Informations pratiques dernière version : page d ’accueil : Core 12 http://fedoraproject.org Autres distributions majeures de Linux Debian dernière version : page d’accueil : Slackware dernière version : page d’accueil : Suse dernière version : page d’accueil : Ubuntu dernière version : page d’accueil : 5.0 (Lenny) http://www.debian.org 13 http://www.slackware.org 11 http://www.suse.com 9.10 http://www.ubuntu-fr.org 7 Installation de Linux – Master IC2A/DCISS - 2009/2010 – Christian Bulfone Installation de Linux – Master IC2A/DCISS - 2009/2010 – Christian Bulfone Sources d’information Les commandes proposent une option longue « --help » pour afficher une aide en ligne synthétique de la commande (rpm -help) Comme tout système UNIX, Linux dispose d’une aide en ligne accessible par la commande man (man ls ou même man man) Le Linux Documentation Project (LDP) (http://www.tldp.org) regroupe une documentation très complète, parfois traduite en français, et disponible en format texte, PostScript, PDF, et HTML des documents sur un sujet spécifique : les HOWTO des FAQ (Foires Aux Questions) des tutoriaux des véritables guides (http://www.tldp.org/guides.html) Linux+Windows-HOWTO ... The Linux System Administrators' Guide The Linux Network Administrator's Guide, ... Ressources Linux sur Internet Généralité Documentation http://tldp.org http://www.lea-linux.org Noyau et portage http://www.linux.org http://www.linux-center.org/fr/ http://www.kernel.org Matériel http://www.linuxhardware.org http://www.tuxmobile.org (Linux sur PDA, netbook, portable …) 8 Installation de Linux – Master IC2A/DCISS - 2009/2010 – Christian Bulfone Installation de Linux – Master IC2A/DCISS - 2009/2010 – Christian Bulfone Les périphériques sous Linux Linux reconnaît deux types de dispositifs : Chaque périphérique supporté est représenté par un pilote de périphérique [drivers] les périphériques à accès direct par blocs (disques) les périphériques caractères (bandes, liaisons séries) à accès direct ou séquentiel petits programmes en C ou en assembleur regroupant les instructions nécessaires pour émettre et recevoir des données vers (ou depuis) le périphérique Des fichiers spéciaux, appelés descripteurs de périphériques contiennent des informations sur les droits d’accès au périphérique, le type de périphérique dont il s’agit, et une paire de valeurs qui l’identifie auprès du noyau L’ensemble de ces fichiers descripteurs est regroupé dans le système de fichiers sous /dev En général, tous les descripteurs existent même si le périphérique correspondant n'est pas installé Fichiers descripteurs de périphériques et disques durs Sous Windows, les disques (ou partitions) sont désignés par des lettres (C: D: E: …) Sous Linux, les noms de périphériques des disques suivent la convention suivante : disques IDE : /dev/hd (hd pour « Hard Disk »), avec /dev/hda /dev/hdb /dev/hdc /dev/hdd Maître du contrôleur IDE primaire Esclave du contrôleur IDE primaire Maître du contrôleur IDE secondaire Esclave du contrôleur IDE secondaire disques SCSI : /dev/sd (sd pour « SCSI Disk »), avec /dev/sda, /dev/sdb, … dans l’ordre des identificateurs SCSI 9 Installation de Linux – Master IC2A/DCISS - 2009/2010 – Christian Bulfone Installation de Linux – Master IC2A/DCISS - 2009/2010 – Christian Bulfone Les autres fichiers descripteurs de périphériques Lecteur de CD-ROM : les lecteurs IDE (ATAPI) et SCSI sont désignés comme les disques durs Souvent, un lien /dev/cdrom au fichier de périphérique correspondant au lecteur, est automatiquement créé à l’installation Lecteur de disquette : les deux lecteurs de disquettes sont désignés par /dev/fd0 et /dev/fd1 D’autres fichiers de périphérique de la forme /dev/fd0H1440, /dev/fd0H720 servent à préciser la capacité de la disquette Lecteurs ZIP : ils sont désignés comme les disques durs Le partitionnement Consiste à « cloisonner » le disque Avantages : permet la cohabitation de plusieurs systèmes d’exploitation sur le même disque permet d’isoler certaines parties du système L’information sur le partitionnement d’un disque est stocké dans son premier secteur, le MBR [Master Boot Record] Le schéma de partitionnement n’est pas intégré au matériel ; c’est une convention que suivent beaucoup de systèmes d’exploitation 10 Installation de Linux – Master IC2A/DCISS - 2009/2010 – Christian Bulfone Installation de Linux – Master IC2A/DCISS - 2009/2010 – Christian Bulfone Les différents types de partitions Deux types de partition : primaire étendue, pouvant contenir une ou plusieurs partitions logiques On peut créer jusqu’à 4 partitions primaires sur un même disque La partition étendue est un moyen de diviser une partition primaire en sous-partitions, les partitions logiques Les partitions logiques se comportent comme les partitions primaires, mais sont créées différemment Il vaut mieux créer les partitions avec l’outil spécifique à chaque système d’exploitation (fdisk DOS ≠ fdisk Linux) Fichier pilote de périphériques et partitions Toute partition primaire ou étendue possède son fichier pilote Sous Linux, le numéro de la partition est ajouté à la suite du nom du disque : les numéros 1 à 4 désignent les quatre partitions primaires possibles (quel qu’en soit le nombre réel) les numéros au delà de 5 désignent les partitions logiques 11 Installation de Linux – Master IC2A/DCISS - 2009/2010 – Christian Bulfone Installation de Linux – Master IC2A/DCISS - 2009/2010 – Christian Bulfone Exemple de partitions Device Boot /dev/hda1 /dev/hda2 /dev/hda3 /dev/hda4 /dev/hda5 /dev/hda6 /dev/hda7 /dev/hda8 /dev/hda9 /dev/hda10 NTFS Start * End Blocks Id System 1 542 4097488+ 7 HPFS/NTFS 543 1084 4097520 5 Extended 1085 3188 15906240 c Win95 FAT32 (LBA) 3189 5293 15913800 c Win95 FAT32 (LBA) 543 576 257008+ 83 Linux 577 630 408208+ 83 Linux 631 665 264568+ 82 Linux swap 666 685 151168+ 83 Linux 686 824 1050808+ 83 Linux 825 1084 1965568+ 83 Linux partitions primaires partitions logiques EXT2 ou EXT3 swap FAT32 FAT32 partition étendue Le formatage Consiste à écrire des marques sur le support magnétique qui sont utilisées pour délimiter les pistes et les secteurs Un support ne peut être utilisé tant qu'il n'a pas été formaté La terminologie est confuse ; on distingue en fait : formatage de bas niveau (niveau physique) formatage du haut niveau (création du système de fichiers) Pendant le formatage, on peut rencontrer des blocs ou secteurs défectueux sur le disque 12 Installation de Linux – Master IC2A/DCISS - 2009/2010 – Christian Bulfone Installation de Linux – Master IC2A/DCISS - 2009/2010 – Christian Bulfone Le système de fichiers Regroupe les méthodes et les structures de données qu’un système d’exploitation utilise pour gérer les fichiers sur un disque ou une partition. Il ne faut pas confondre système d'exploitation et système de fichiers Les systèmes de fichiers sont généralement associés à un système d’exploitation (Windows 9x avec la FAT, Linux avec ext2) mais le système d’exploitation peut être capable de reconnaître plusieurs systèmes de fichiers Le principe des liens Se trouvent sur les systèmes UNIX Permettent de relier des fichiers, sans en créer des copies (principe du raccourci sous Windows) Sont créés avec la commande ln (man ln pour plus de précisions) Deux types de liens possibles : liens durs [hard links] liens symboliques [soft Link] 13 Installation de Linux – Master IC2A/DCISS - 2009/2010 – Christian Bulfone Installation de Linux – Master IC2A/DCISS - 2009/2010 – Christian Bulfone Les principaux systèmes de fichiers reconnus par Linux minix : le plus ancien, mais limité dans ses caractéristiques xia : une version modifiée de minix. Très répandu, fonctionne très bien ext2/ext3 : le plus riche des systèmes de fichiers Linux et le plus répandu (système de fichiers par défaut) ; ext3 est la version journalisée msdos/vfat : compatibilité avec les systèmes de fichiers FAT de MS-DOS (d'OS/2 et de Windows NT) umsdos : étend le pilote du système de fichiers msdos sous Linux afin de disposer des noms longs de fichiers, du concept d'appartenance, de permissions, de liens et de fichiers pilotes iso9660 : système de fichiers standard pour les CD-ROM nfs : système de fichiers permettant le partage des données entre plusieurs ordinateurs en réseau hpfs : système de fichiers d'OS/2 sysv: système de fichiers de SystemV/386, Coherent, et Xenix Montage et démontage Un système de fichiers doit être monté pour pouvoir être utilisé Le montage : consiste à « raccrocher » à l ’arborescence sur un point de montage (un répertoire) un système de fichiers La commande mount prend au moins deux arguments le fichier spécial correspondant au disque (/dev/hda3) le nom du répertoire de montage (/usr) Le répertoire de montage n’a pas besoin d’être vide, mais il doit exister Un système de fichiers peut être monté en lecture seule ou lectureécriture La commande umount réalise le démontage Le montage et le démontage requiert les privilèges du superutilisateur 14 Installation de Linux – Master IC2A/DCISS - 2009/2010 – Christian Bulfone Installation de Linux – Master IC2A/DCISS - 2009/2010 – Christian Bulfone L’arborescence du système de fichiers Linux L’arborescence Linux est un ensemble de systèmes de fichiers raccordés les uns aux autres La racine (unique) est le « / » et se dénomme root On peut distinguer plusieurs catégories de fichiers : partageables : pouvant être partagé entre plusieurs machines différentes (répertoires des utilisateurs) non partageables : spécifiques à une machine particulière (fichiers de blocage de périphérique, les locks) variables : tout ce qui change sans l'intervention de l'administrateur système statiques : tout ce qui ne change pas sans l'intervention de l'administrateur système (les binaires, les bibliothèques, la documentation …) Vue schématique de l’arborescence / boot dev bin lib etc include man proc root share doc ... usr bin sbin src local X11R6 ... ... ... lock lib tmp log mail var spool lpd home mail ... ... 15 Installation de Linux – Master IC2A/DCISS - 2009/2010 – Christian Bulfone Installation de Linux – Master IC2A/DCISS - 2009/2010 – Christian Bulfone Les répertoires principaux de Linux (1) Répertoire racine / : contient l’ensemble des répertoires /boot : contient les fichiers nécessaires au démarrage du système, notamment le noyau vmlinux ou vmlinuz /bin : contient les commandes majeures souvent utilisées (ls, mkdir, …). Les autres commandes sont dans /usr/bin /dev : regroupe les fichiers de périphérique ; ce sont des fichiers spéciaux qui constituent des interfaces avec les pilotes de périphérique (ils n’ont pas de contenu) /etc : contient les fichiers de configuration du système Les répertoires principaux de Linux (2) /home : est destiné à recevoir les répertoires personnel des utilisateurs /lib : regroupent les bibliothèques partagées (notamment la libc6 sur laquelle reposent la majorité des programmes) /proc : c’est un pseudo-système de fichiers ; les fichiers qui se trouvent sous /proc pointent vers des programmes en mémoire vive qui lisent des informations système centrales ; ils n’occupent pas de place sur le disque /root : contient le répertoire personnel de l’administrateur (/root figure dans le système de fichier racine) 16 Installation de Linux – Master IC2A/DCISS - 2009/2010 – Christian Bulfone Installation de Linux – Master IC2A/DCISS - 2009/2010 – Christian Bulfone Les répertoires principaux de Linux (3) /sbin : contient les commandes d’administration /tmp : regroupent les fichiers temporaires (créés pendant l’utilisation de certains programme, comme les éditeurs) /var : est l’emplacement des données variables (travaux d’impressions en attente, courrier électronique reçu …) /usr : contient le reste des données et programmes du système, le tout regroupé dans une sous-arborescence /usr/include : /usr/doc : /usr/src : /usr/X11R6 : ... fichiers d’entête C ou C++ fichiers de documentation de Linux source du noyau répertoire racine de toutes les données de l’environnement graphique X Window Stratégie de partitionnement Il n’existe pas UN schéma de partitionnement unique Il est indispensable de créer au moins les partitions suivantes : une partition de swap une partition root (/) utilisée pour la mémoire virtuelle, de taille 2x la taille de la mémoire vive destinée dans ce cas à contenir l’ensemble du système au minimum 500 Mo (installation minimale) jusqu’à 3,7 Go (dans le cas d’une installation complète) plus éventuellement une partition /boot elle contient le noyau et quelques autres fichiers utilisés lors de la phase de lancement du système avec les BIOS un peu vieux, elle doit obligatoirement résider endeçà du cylindre 1024 du disque 17 Installation de Linux – Master IC2A/DCISS - 2009/2010 – Christian Bulfone Installation de Linux – Master IC2A/DCISS - 2009/2010 – Christian Bulfone Stratégie de partitionnement Pour plus de souplesse certaines parties du système de fichiers Linux peuvent résider dans des partitions séparées Dans ce cas, la partition root nécessite moins d’espace disque (400 à 500 Mo environ) /usr /var elle est importante pour un serveur (les journaux sur toute l’activité du système sont conservés dans /var/log) on peut l’estimer à 300 Mo si la machine n’est pas serveur de messagerie (les boîtes aux lettres des utilisateurs sont stockées dans /var/mail) /tmp c’est la partie la plus volumineuse du système elle peut occuper 500 Mo au minimum, jusqu’à plusieurs Go une taille courante de 2 ou 3 Go est tout à fait raisonnable sa taille dépend du nombre de services installés on peut l’estimer à 100 Mo /home sa taille dépend du nombre d’utilisateurs et de leur consommation d’espace disque (la mise en place de quotas disques est fortement recommandée sur ce type de partition) Cohabitation Linux / autres systèmes Si l’on souhaite faire cohabiter plusieurs systèmes d’exploitation sur la même machine, l’idéal est de disposer d’un disque dur dédié pour chacun des systèmes Les systèmes cohabitent sans problème sur le même disque à condition de se trouver dans des partitions séparées En général, il convient d’installer d'abord le ou les autre(s) système(s) d'exploitation (surtout avec Windows) et ensuite Linux Le programme d'installation détecte les autres OS et configure automatiquement le chargeur (loader) pour qu’il puisse lancer n’importe lequel au démarrage de la machine Un seul système est actif, celui qui est chargé en mémoire au démarrage de l’ordinateur Le premier secteur du disque, le MBR, qui décrit le partitionnement du disque, est à l’origine du chargement ou amorce (boot) du système actif quel qu’il soit 18 Installation de Linux – Master IC2A/DCISS - 2009/2010 – Christian Bulfone Installation de Linux – Master IC2A/DCISS - 2009/2010 – Christian Bulfone Le chargement du système secteur de boot DOS/Win 9x secteur de boot NT partition FAT secteur de boot Linux partition NT partition Linux secteur du MBR programme loader 446 octets table des partitions magic number 64 octets 2 octets les 446 premiers octets contiennent un programme de chargement (loader), qui va démarrer l’exécution du programme de chargement propre au système d’exploitation actif Les 64 octets suivants décrivent les partitions : taille, localisation, type et statut Les deux derniers octets du MBR constituent le « magic number », une valeur utilisée par certains systèmes pour vérifier la signature du secteur Le chargement du système Le programme de démarrage d’un PC commence par l’exécution automatique d’un programme de chargement situé dans le BIOS Ce programme charge le programme de chargement du MBR qui prend la relève Plusieurs programmes de chargement peuvent être installés dans le MBR. Dans le cas le plus simple, le chargeur choisit le système d’exploitation de la partition active ou sinon, offre la possibilité de choisir le système d’exploitation à démarrer Le programme de chargement charge à son tour le secteur d’amorçage ou secteur de boot, du système d’exploitation choisi Le secteur de boot procède au chargement effectif du système d’exploitation en mémoire vive partition active programme de chargement du BIOS programme de chargement du MBR secteur de boot du système offre le choix de la partition chargement du système en mémoire vive 19 Installation de Linux – Master IC2A/DCISS - 2009/2010 – Christian Bulfone Installation de Linux – Master IC2A/DCISS - 2009/2010 – Christian Bulfone LInux LOader LILO est la méthode la plus utilisée pour lancer Linux Il permet un démarrage automatique ou interactif ; en interactif, il offre le choix du noyau Linux que l’on veut charger (il est possible ainsi d’avoir plusieurs noyaux différents) la définition de valeurs de paramètres de démarrage différentes de celles par défaut il propose une interface texte (prompt LILO:) ou graphique (menu) Il peut aussi être utilisé pour charger d’autres systèmes d’exploitation Il utilise le BIOS des machines Intel et compatibles (les architectures PPC, Alpha ou Sparc n’utilisent pas LILO) Certains (vieux) BIOS ne permettent pas à LILO d’accéder aux données situées après le cylindre 1024 du disque ; les BIOS récents ne posent plus ce genre de problème LInux LOader LILO peut être installé soit dans le premier secteur d’une disquette dans le MBR du disque dur dans le secteur d’amorçage de la partition Linux root Dans les deux premiers cas, LILO est autonome pour démarrer Linux, alors que dans le troisième cas il doit être activé par un tiers (NT Loader par exemple) Si l’installation détecte une carte mère SMP (i.e. supportant plusieurs processeurs), un noyau SMP et un noyau standard seront installés sur la machine, et deux entrées seront créées dans le fichier de configuration de LILO pour charger le noyau SMP par défaut, ou l’autre noyau en cas de problème 20 Installation de Linux – Master IC2A/DCISS - 2009/2010 – Christian Bulfone Installation de Linux – Master IC2A/DCISS - 2009/2010 – Christian Bulfone Configuration de LILO Les paramètres de LILO sont définis dans le fichier etc/lilo.conf # fichier de configuration LILO # pour Linux et DOS # Début de la section globale DOS boot = /dev/hda /dev/hda1 prompt timeout = 50 vga = normal # Fin de la section globale # Partition amorçable Linux image=/boot/vmlinuz root=/dev/hda3 MBR label=linux read-only # Partition amorçable DOS other=/dev/hda1 label=dos table=/dev/hda SWAP /dev/hda2 LINUX /dev/hda3 Disque dur IDE /dev/hda Autres méthodes de démarrage GRUB LOADLIN GRUB est un chargeur dont le fonctionnement est similaire à celui de LILO Il est proposé dans les dernières distributions de Linux en remplacement de LILO Il offre une interface graphique au démarrage Utilitaire notamment fourni avec la distribution RedHat Il permet de démarrer le système depuis DOS, Windows 9x On peut utiliser le menu de DOS/Windows 9x (fichiers autoexec.bat et config.sys) en mode texte, pour choisir le système d’exploitation à charger Il existe d’autres méthodes décrites dans les documents HOWTO 21 Installation de Linux – Master IC2A/DCISS - 2009/2010 – Christian Bulfone Installation de Linux – Master IC2A/DCISS - 2009/2010 – Christian Bulfone Le lancement du système Linux RedHat/Fedora Le chargeur primaire LILO (ou GRUB) : il charge le noyau par défaut (ou un autre OS) Le chargeur secondaire - le noyau le fichier vmlinuz : il est compressé et se trouve sous / ou /boot (souvent un lien vmlinuz vers la version courante du noyau vmlinuz-2.6.21) Le chargement du noyau - init c’est le premier processus (PID = 1) ; il est le père de tous les autres processus, et a pour fonction de gérer les processus systèmes il détermine dans quel état [run level] le système va être lancé : mode single-user, multi-user ... le fichier /etc/inittab contient la configuration de init Les scripts de démarrage permettent le lancement des démons système ils sont contenus dans le répertoire /etc/rc.d/init.d Le noyau Linux, comme tout système UNIX, est architecturé autour d’un noyau [kernel] Ensemble de fonctions et de structures de données intercalées entre les processus (utilisateurs ou systèmes) et le matériel Il est paramétrable par l’Administrateur Système Certaines valeurs peuvent être modifiées et des fonctions peuvent être ajoutées ou retirées suivant les besoins suivant les systèmes, la modification du noyau est statique (compilation) dynamique (mise à jour d’un fichier de configuration) 22 Installation de Linux – Master IC2A/DCISS - 2009/2010 – Christian Bulfone Installation de Linux – Master IC2A/DCISS - 2009/2010 – Christian Bulfone Le noyau Le système peut être basé soit sur : un noyau monolithique comprend en lui-même tous les éléments permettant l’accès aux structure de données internes et aux routines mais l’ajout de nouveaux composants au noyau est rendue complexe (création d’un nouveau noyau) un noyau minimal ne comporte que les éléments strictement indispensables les autres fonctions sont réalisées par des processus système complémentaires, chargé en fonction des besoins l’intégration de nouvelles fonctions au système est simplifiée Le noyau Les services offerts par le noyau La gestion des processus création terminaison suspension communication L’accès aux périphériques Le partage de temps UC entre les processus (scheduling) processus 1 processus 2 système temps 23 Installation de Linux – Master IC2A/DCISS - 2009/2010 – Christian Bulfone Installation de Linux – Master IC2A/DCISS - 2009/2010 – Christian Bulfone Le noyau de Linux Linux est basé sur un noyau monolithique, mais exploite les modules : Avantages de la modularité : sections de programme (le plus souvent des pilotes) chargées de manière dynamique (pendant l’exécution du noyau) et pouvant également être supprimées de la mémoire se lance plus vite, la plupart des pilotes n’étant chargés qu’en cas de besoin facilité d’utilisation sur des machines équipées matériellement différemment simplifie le test de nouveaux pilotes Inconvénients : une consommation plus grande de mémoire la vitesse Le noyau de Linux Linux supporte les exécutables partagés : si l’on charge plus d’une copie d’une certaine application (par exemple en lançant plusieurs tâches semblables, ou lorsque plusieurs utilisateurs lancent la même tâche), toutes les copies utilisent la même mémoire Linux utilise de façon intensive les bibliothèques partagées (équivalent des DLL Windows) cela autorise la présence (sur disque et en mémoire) d’une version unique d’une même bibliothèque pour toutes les applications réduction de la taille des programmes les bibliothèques normales, aussi appelées bibliothèques statiques, peuvent également être utilisées à des fins de portabilité vers des machines sans bibliothèques partagées 24 Installation de Linux – Master IC2A/DCISS - 2009/2010 – Christian Bulfone Installation de Linux – Master IC2A/DCISS - 2009/2010 – Christian Bulfone La gestion de la mémoire Assurée par un ensemble de fonctions du noyau Résidence des processus Gestion des espaces réels et virtuels Gestion de l’unité de swap Les mécanismes : le swapping : premier mécanisme mis en place historiquement consiste à utiliser une partie de l’espace disque pour augmenter virtuellement la mémoire la pagination : l’espace virtuel est découpé en pages et l’espace réel en cases. A chaque case est associée la page qui s’y trouve chargée à un instant donné permet de ne charger qu’une partie de processus Mise en place d’un nouveau noyau Recompiler ou changer de noyau pour : Le noyau est en perpétuelle évolution (dernière version 2.6.32) versions stables versions développement Il existe des paquetages avec des noyaux déjà compilés prendre en compte de nouveaux périphériques bénéficier des améliorations globales (PnP …) avoir un noyau adapté à sa machine le noyau est généralement générique, le reste étant fourni sous forme de modules A chaque changement de noyau, LILO (ou le chargeur utilisé) doit être réinstallé 25 Installation de Linux – Master IC2A/DCISS - 2009/2010 – Christian Bulfone Installation de Linux – Master IC2A/DCISS - 2009/2010 – Christian Bulfone Recompilation d’un nouveau noyau (1/2) Récupérer les sources du noyau : fichier archive tar fichier paquetage rpm linux-x.x.x.tar.gz kernel-source-x.x.x.i386.rpm Installer les sources sous /usr/src/linux rpm : rpm -ihv kernel-source-x.x.x.i386.rpm tar : cd /usr/src ; mkdir linux-x.x.x ; ln -s linux-x.x.x linux ; tar zxvf linux-x.x.x.tar.gz Configurer le noyau : en mode console : cd /usr/src/linux; make menuconfig en mode graphique : cd /usr/src/linux ; make xconfig Lancer la compilation : make ; make zImage (bzImage) et make modules ; make modules_install si un ou plusieurs éléments du noyau ont été configurés en tant que module Recompilation d’un nouveau noyau (2/2) Mettre en place le nouveau noyau sous / ou /boot : cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-x.x.x Modifier le fichier de paramètres de LILO : vi /etc/lilo.conf Relancer LILO : lilo -v 26 Installation de Linux – Master IC2A/DCISS - 2009/2010 – Christian Bulfone Installation de Linux – Master IC2A/DCISS - 2009/2010 – Christian Bulfone Arrêt du système Il est important de suivre correctement la procédure d’extinction du système pour éviter des pertes de données La commande shutdown : elle est utilisée pour arrêter proprement ou redémarrer le système. Les paramètres : -r -h +délais message pour redémarrer [reboot] pour arrêter le système [halt] (attendre le message signifiant l’arrêt complet avant de presser sur le bouton d’alimentation) lance la commande une fois le délais en minute écoulé (permet de laisser le temps aux utilisateurs de se déconnecter) envoie un message à tous les utilisateurs connectés La commande shutdown peut aussi être utilisée pour passer en mode single-user (run-level 0) # shutdown -r now # shutdown -h +10 ’installation du nouveau disque. Redemarrage dans 3h’ # shutdown 0 Consoles textes / graphique Linux comprends plusieurs consoles virtuelles, sur lesquelles on peut se connecter (login) Le nombre de consoles virtuelles actives après le démarrage du système est défini dans le fichier /etc/inittab. Par défaut : 6 consoles en mode texte 1 console en mode graphique Des raccourcis clavier permettent le passage entre les différents consoles : texte ⇒ texte texte ⇒ graphique graphique ⇒ texte ALT + F <n°console > ALT + CTRL + F7 ALT + F <n°console > 27 Installation de Linux – Master IC2A/DCISS - 2009/2010 – Christian Bulfone Installation de Linux – Master IC2A/DCISS - 2009/2010 – Christian Bulfone La gestion des paquetages avec RPM RPM (Red Hat Package Manager) est un outil de gestion de paquetages fonctionnant sous RedHat/Fedora Linux, comme sur d’autres Linux (Suse, Mandrake …) et UNIX Il permet notamment l’installation, la suppression, la mise à jour, l’interrogation, et la vérification d’un paquetage Il maintient une base de données des paquetages installés et de leurs fichiers ; durant les mises à jour, les fichiers de configuration personnalisés sont conservés Les paquetages RPM ont généralement des noms composés : kernel-smp-2.6.20-9.i386.rpm nom du paquetage architecture version mise à jour La commande RPM Commande en mode texte (non graphique) Syntaxe de la commande : rpm [options] paquetage Options les plus couramment utilisées (pour le reste consultez le manuel man rpm) : -h -i -e -U -q combiné avec -v affiche une jauge de progression (sous forme de #) installation suppression mise à jour interrogation # rpm -ivh gimp.1.2.1-2.i386.rpm 28 Installation de Linux – Master IC2A/DCISS - 2009/2010 – Christian Bulfone Installation de Linux – Master IC2A/DCISS - 2009/2010 – Christian Bulfone Les archives au format TAR TAR (« tape archiver ») est un programme utilisé pour la création de sauvegardes, en particulier sur des lecteurs de bandes Il permet d’archiver des fichiers ou répertoires sur une bande, une disquette ou dans un simple fichier (d’extension .tar par convention). La structure de l’arborescence est préservée Les fichiers archives peuvent être compressées avec l’utilitaire gzip pour prendre moins de place (extension .tar.gz ou .tgz) C’est un format d’archive encore fortement employé sur Internet La commande TAR Principales options de la commande (pour le reste consultez le manuel man tar) : tar [c|t|x][z][v][f device][fichier(s)|répertoire(s)] -c -t -x -z -v -f (create) crée une nouvelle archive. Toutes les informations déjà présentes dans l’archive sont effacées (list) affiche le contenu de l’archive (extract) extrait le fichier désigné de l’archive et le restaure en local sur le système. S’il s’agit d’un répertoire, son contenu est récursivement extrait et l’arborescence est recréée décompresse l’archive étend l’affichage des informations device force tar à utiliser l’argument suivant comme nom d’archive (fichier archive ou fichier de périphérique) 29 Installation de Linux – Master IC2A/DCISS - 2009/2010 – Christian Bulfone L’éditeur de texte JED JED est un petit éditeur de texte pleine page (dont la plupart des commandes sont compatible avec Emacs) Il crée une copie du fichier original (renommé sous fichier~) Principales combinaisons de touches : CTRL-X CTRL-F CTRL-X S CTRL-X CTRL-W CTRL-X CTRL-C CTRL-A CTRL-E CTRL-K CTRL-D ouvrir enregistrer enregistrer sous quitter aller au début de la ligne aller à la fin de la ligne effacer la fin de la ligne à droite du curseur effacer le caractère courant 30