1. Table des matieres
Processus d'amorçage
Conguration système
Processus
Accès à distance
Compilation d'une application
Linux - Cours d'introduction
Emmanuel Boudreault
Samuel Demers
16 février 2010
Emmanuel Boudreault Samuel Demers Linux - Cours d'introduction
2. Table des matieres
Processus d'amorçage
Conguration système
Processus
Accès à distance
Compilation d'une application
Table des matieres
Processus d'amorçage
Conguration système
Processus
Accès à distance
Compilation d'une application
Emmanuel Boudreault Samuel Demers Linux - Cours d'introduction
3. Table des matieres
Processus d'amorçage
Conguration système
Processus
Accès à distance
Compilation d'une application
L'amorçage, en bref
Lorsqu'on allume l'ordinateur, on fait appel à beaucoup de monde :
1. Bios
2. Boot loader
3. Noyau Linux
4. Initrd
5. Init
6. Gestionnaire d'achage
7. Serveur X
8. Bureau
Remarque : parfois remplacé par un autre type de rmware (EFI,
Coreboot, ...)
Emmanuel Boudreault Samuel Demers Linux - Cours d'introduction
4. Table des matieres
Processus d'amorçage
Conguration système
Processus
Accès à distance
Compilation d'une application
Bios
But : initialiser les composantes du système.
Vient avec la carte mère
S'exécute dès qu'on appuie sur l'interrupteur de l'ordinateur
Exécute le premier programme qu'il voit
En général, ce programme est le boot loader
Emmanuel Boudreault Samuel Demers Linux - Cours d'introduction
5. Table des matieres
Processus d'amorçage
Conguration système
Processus
Accès à distance
Compilation d'une application
Boot loader
But : démarrer le système d'exploitation souhaité avec les bons
paramètres.
Congurable
Peut acher un menu de démarrage
Exécute le noyau Linux
Exemples : Grub, LILO, winload.exe
Emmanuel Boudreault Samuel Demers Linux - Cours d'introduction
6. Table des matieres
Processus d'amorçage
Conguration système
Processus
Accès à distance
Compilation d'une application
Noyau Linux
But : exécuter les applications et abstraire le matériel.
Système d'exploitation à proprement parler
Doit exécuter un premier programme
Le premier programme est dans une archive Initrd
Emmanuel Boudreault Samuel Demers Linux - Cours d'introduction
7. Table des matieres
Processus d'amorçage
Conguration système
Processus
Accès à distance
Compilation d'une application
Initrd
But : préparer le système pour le démarrage des autres
programmes.
Contient un script (/linuxrc)
Charge des modules
Prépare la partition racine (/)
Emmanuel Boudreault Samuel Demers Linux - Cours d'introduction
8. Table des matieres
Processus d'amorçage
Conguration système
Processus
Accès à distance
Compilation d'une application
Init
But : démarrer les programmes de base du système.
Appelé par Linux lorsque le script /linuxrc a terminé
Démarre de nombreux services système
Démarre un gestionnaire d'achage
Emmanuel Boudreault Samuel Demers Linux - Cours d'introduction
9. Table des matieres
Processus d'amorçage
Conguration système
Processus
Accès à distance
Compilation d'une application
Gestionnaire d'achage
But : gérer l'exécution de l'environnement graphique.
Demande à l'usager de s'authentier
Permet de choisir l'environnement de bureau et la langue
Démarre le serveur X
Démarre l'environnement de bureau
Exemples : GDM, KDM, XDM
Emmanuel Boudreault Samuel Demers Linux - Cours d'introduction
10. Table des matieres
Processus d'amorçage
Conguration système
Processus
Accès à distance
Compilation d'une application
Serveur X
But : acher des fenêtres.
Ache des rectangles avec des pixels
D'autres programmes doivent lui dire quoi acher dans ces
rectangles, incluant les bordures de fenêtres
Emmanuel Boudreault Samuel Demers Linux - Cours d'introduction
11. Table des matieres
Processus d'amorçage
Conguration système
Processus
Accès à distance
Compilation d'une application
Bureau
But : fournir un environnement de travail à l'usager.
Inclut un gestionnaire de fenêtre, qui dessine les bordures de
fenêtres
Inclut généralement des barres d'outils, un bureau, des icônes,
etc.
Exemples : Gnome, KDE
Emmanuel Boudreault Samuel Demers Linux - Cours d'introduction
12. Table des matieres
Processus d'amorçage
Conguration système
Processus
Accès à distance
Compilation d'une application
Que faire lorsque les choses se compliquent ?
Problèmes courants :
Changer les entrées du boot loader
Modier son noyau
Congurer X manuellement
Utiliser un autre environnement de bureau
Emmanuel Boudreault Samuel Demers Linux - Cours d'introduction
13. Table des matieres
Processus d'amorçage
Conguration système
Processus
Accès à distance
Compilation d'une application
Changer les entrées du boot loader
Grub : /boot/grub/menu.lst
Grub2 : /boot/grub/grub.conf
Entrée typique :
title Ubuntu 9.10, kernel 2.6.31-19-generic
root (hd0,2)
kernel /boot/vmlinuz-2.6.31-19-generic root=[...]
initrd /boot/initrd.img-2.6.31-19-generic
quiet
Emmanuel Boudreault Samuel Demers Linux - Cours d'introduction
14. Table des matieres
Processus d'amorçage
Conguration système
Processus
Accès à distance
Compilation d'une application
Modier son noyau
Comment obtenir le code source du noyau Linux :
Ubuntu : apt-get install linux-source
http ://kernel.org/
Emmanuel Boudreault Samuel Demers Linux - Cours d'introduction
15. Table des matieres
Processus d'amorçage
Conguration système
Processus
Accès à distance
Compilation d'une application
Modier son noyau
Beaucoup d'options
Instructif
Pas obligatoire avec la plupart des distributions
Exemple :
cd /usr/src
tar xvjf linux-source-2.6.31.tar.bz2
cd linux-source-2.6.31
make menuconfig
make
Emmanuel Boudreault Samuel Demers Linux - Cours d'introduction
16. Table des matieres
Processus d'amorçage
Conguration système
Processus
Accès à distance
Compilation d'une application
Modules du noyau
Permettent d'ajouter des fonctionnalités au noyau sans le
recompiler
Peuvent venir avec le noyau
Peuvent être déjà compilés (.deb, .rpm, etc.)
Peuvent devoir être compilés
Emmanuel Boudreault Samuel Demers Linux - Cours d'introduction
17. Table des matieres
Processus d'amorçage
Conguration système
Processus
Accès à distance
Compilation d'une application
Modules du noyau
Liste des modules actifs : lsmod
Activer un module : modprobe, insmod
Désactiver un module : modprobe -r, rmmod
Emmanuel Boudreault Samuel Demers Linux - Cours d'introduction
18. Table des matieres
Processus d'amorçage
Conguration système
Processus
Accès à distance
Compilation d'une application
Congurer X manuellement
/etc/X11/xorg.conf
Clavier, souris, carte vidéo, écran, etc.
man xorg.conf
Emmanuel Boudreault Samuel Demers Linux - Cours d'introduction
19. Table des matieres
Processus d'amorçage
Conguration système
Processus
Accès à distance
Compilation d'une application
Utiliser un autre environnement de bureau
Gnome, KDE, WindowMaker, XFCE, ...
Beaucoup sont inclus avec les distributions
Le gestionnaire d'achage permet de choisir parmi ceux
installés
Emmanuel Boudreault Samuel Demers Linux - Cours d'introduction
20. Table des matieres
Processus d'amorçage
Conguration système
Processus
Accès à distance
Compilation d'une application
Les processus sous Linux
Identiés par le PID (process ID)
Priorité entre -20 (plus prioritaire) et 19 (moins prioritaire)
Achés par les commandes top et ps
Contrôlés par la commande kill
Priorité choisie avec la commande nice
Emmanuel Boudreault Samuel Demers Linux - Cours d'introduction
21. Table des matieres
Processus d'amorçage
Conguration système
Processus
Accès à distance
Compilation d'une application
SSH (secure shell)
Exemple :
ssh sadem@l4714-01.info.polymtl.ca
Permet d'accéder à une machine distante en ligne de
commande
Est sécurisé
Nécessite un client et un serveur (sshd)
La façon la plus courant d'accéder à une machine à distance
Emmanuel Boudreault Samuel Demers Linux - Cours d'introduction
22. Table des matieres
Processus d'amorçage
Conguration système
Processus
Accès à distance
Compilation d'une application
Achage à distance avec X11
Exemple :
ssh -X sadem@l4714-01.info.polymtl.ca
Architecture client/serveur
Possibilité d'acher des clients distants sur un serveur local
Variable d'environnement : $DISPLAY
Emmanuel Boudreault Samuel Demers Linux - Cours d'introduction
23. Table des matieres
Processus d'amorçage
Conguration système
Processus
Accès à distance
Compilation d'une application
Quand compiler soi-même une application ?
Il n'existe pas encore de paquetages pré-compilés (.deb, .rpm,
etc.)
On veut la toute dernière version
On veut contribuer à l'application
Emmanuel Boudreault Samuel Demers Linux - Cours d'introduction
24. Table des matieres
Processus d'amorçage
Conguration système
Processus
Accès à distance
Compilation d'une application
Comment compiler une application ?
Procédure générique :
tar xvzf [programme].tar.gz
cd [repertoire]
./configure
make
make install
Emmanuel Boudreault Samuel Demers Linux - Cours d'introduction