logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
Prochaine révision Les deux révisions suivantes
doc:systeme:gnu-linux [05/05/2013 19:46]
smolski [Démarrage]
doc:systeme:gnu-linux [06/05/2013 18:33]
smolski [Conclusion]
Ligne 1: Ligne 1:
 ====== GNU/Linux ====== ====== GNU/Linux ======
 +
 +**TUTO EN COURS DE MODIFICATION** smolski - //​05-05-2013//​
  
 (**smolski** 02-05-2013 //fait ce qu'il te plaît !//) Le retour sur le forum est ici : [[http://​debian-facile.org/​viewtopic.php?​id=6780 | Lien vers le forum concernant ce tuto]] (**smolski** 02-05-2013 //fait ce qu'il te plaît !//) Le retour sur le forum est ici : [[http://​debian-facile.org/​viewtopic.php?​id=6780 | Lien vers le forum concernant ce tuto]]
Ligne 12: Ligne 14:
 ===== Le PC ===== ===== Le PC =====
  
-Un est une machine qui écrit des 0 et des 1 dans un disque et une carte graphique pour nous permettre de les lire. \\+Un PC est une machine qui écrit des 0 et des 1 dans un disque et qui utilise ​une carte graphique pour nous permettre de les lire sur un écran. \\
  
 ===== Système d'​exploitation ===== ===== Système d'​exploitation =====
Ligne 22: Ligne 24:
 ===== Interface graphique ===== ===== Interface graphique =====
  
-Bien que fournis avec, l'​interface graphique ​ne fait pas réellement partie ​de l'OS lui-même. \\ +Bien que fournis avec l'OS, l'​interface graphique ​n'​en ​fait pas réellement partie. \\ 
-L'​interface graphique vient se placer ​au-dessus ​de ce dernier et, de plus se divise en plusieurs parties ​encore.+L'​interface graphique vient se placer ​__au-dessus__ ​de ce dernier et plus se divise en plusieurs parties.
  
-  - Tout ce qui est proche du matériel comme les pilotes de la carte graphique et les fonctions essentielles : affichage, manipulation de ce qui apparaît à l'​écran,​ gestion de la 3D... Sous GNU/​Linux ​c'est //X.Org// qui s'en charge.+  - Tout ce qui est proche du matériel comme les pilotes de la carte graphique et les fonctions essentielles : affichage, manipulation de ce qui apparaît à l'​écran,​ gestion de la 3D... c'est //X.Org// qui s'en charge.
   - [[manuel:​gestionnaires | Les gestionnaire de fenêtres]].   - [[manuel:​gestionnaires | Les gestionnaire de fenêtres]].
   - [[manuel:​gui | Les gestionnaire de bureau]].   - [[manuel:​gui | Les gestionnaire de bureau]].
Ligne 31: Ligne 33:
 ===== La mémoire ===== ===== La mémoire =====
  
-La mémorisation permet de conserver et de distinguer ​la donnée individuelle propre ​à chacune des applications actives ​sur la machine. +C'est l'OS qui gère la mémoire. \\ 
-<note tip>​C'​est l'OS qui gère la mémoire !</​note>​ +La mémorisation permet de conserver et de distinguer ​les données propres ​à chacune des applications actives ​dans la machine. ​\\ 
- +La mémoire c'est d'​abord la **RAM** installée((la mémoire vive)) mais pas seulement[[manuel:​partition?&#​la_swap | la partition ​ swap]] créée sur le disque dur est aussi utilisée par l'OS en cas de besoin.
-La mémoire c'est d'​abord la RAM installée((la mémoire vive)) mais pas seulement. \\ +
-[[manuel:​partition?&#​la_swap | La partition ​ swap]] créée sur le disque dur est aussi utilisée par l'OS en cas de besoin.+
  
 ==== Détail ==== ==== Détail ====
  
 En effet, une application en cours a besoin de conserver en mémoire des données à sauvegarder le temps de son exécution. \\ En effet, une application en cours a besoin de conserver en mémoire des données à sauvegarder le temps de son exécution. \\
-Plusieurs applications((ou **programmes**)) peuvent ​même s'​exécuter en même temps et doivent //chacune// conserver en //​mémoire//​ __des données temporaires__ différentes ​accessibles. \\ +Plusieurs applications((ou **programmes**)) peuvent ​demander à s'​exécuter en même temps et doivent ​donc //chacune// conserver en //​mémoire//​ __des données temporaires__ différentes. \\ 
-Par exemple l'​application [[logiciel:​gimp]] conservera une couleur particulière à reproduire ​et en même temps qu'une application de traitement de texte active ​conservera une police de texte en cours et qu'un navigateur visitera une page sur la //Toile//.+Par exemple l'​application [[logiciel:​gimp]] conservera une couleur particulière à reproduire ​pendant ​qu'une application de traitement de texte conservera une police de texte en cours et qu'un navigateur visitera une page sur la //Toile//...
  
-==== Conclusion ==== 
  
   - L'OS se charge d'​écrire ces mémorisation //​directement//​ dans des zones séparées de la mémoire.   - L'OS se charge d'​écrire ces mémorisation //​directement//​ dans des zones séparées de la mémoire.
Ligne 95: Ligne 94:
 ==== firmware ==== ==== firmware ====
  
-Les **Firmware** sont des micro-programmes souvent fournis par le constructeur et que le pilote noyau doit charger dans la RAM incluse dans le matériel devant celle du PC gérée par l'OS. \\+[[manuel:​wifi:​detecter-le-materiel | Les Firmware]] sont des //micro-programmes// souvent fournis par le constructeur et que le pilote noyau doit charger dans la RAM incluse dans le matériel devant celle du PC gérée par l'OS. \\
 Ce matériel peut posséder aussi son propre processeur, également devant celui qui est géré par l'OS installée. Ce matériel peut posséder aussi son propre processeur, également devant celui qui est géré par l'OS installée.
  
Ligne 101: Ligne 100:
 ===== Démarrage ===== ===== Démarrage =====
  
-Pour qu'un système ​GNU/​Linux ​soit utilisable, il doit d'​abord ​passer par plusieurs ​étapes d'​initialisation ​et de lancement de divers programmes\\ +Au démarrage, **GNU/Linux** doit passer par plusieurs ​//​initialisations// ​et divers programmes ​pour devenir utilisable ​\\ 
-Dans cet article sera décrit ce qu'il se passe depuis la mise sous tension ​de la machine jusqu'​au moment où l'​utilisateur pourra s'en servir. +Chacune ​de ces étapes peut être configurée ​afin d'​obtenir ​par exemple ​des fonctions ​supplémentaires, gagner du temps au démarrage, etc...
- +
-Pour la plupart, ​ces étapes ​dépendent fortement de la distribution GNU/Linux utilisée. \\ +
-Selon les choix fait par les créateurs des distributions,​ quelques détails peuvent changer, mais les principes restent les mêmes. +
- +
-Chacune des étapes décrites ci-dessous ​peut être adaptée selon les besoins ​afin d'​obtenir des fonctionnalités ​supplémentaires ​ou de réduire le temps de démarrage ​par exemple.+
  
 ===== Le chargeur de noyau ===== ===== Le chargeur de noyau =====
  
-Le tout premier programme à être lancé est en réalité ​[[manuel:​bios | le BIOS]].+Le tout premier programme à être lancé est [[manuel:​bios | le BIOS]]
 +Celui-ci va chercher dans les paramètres du BIOS un chargeur, c'est à dire un petit programme destiné à lancer l'OS.
  
-Celui-ci va chercher au début du 1er disque dur afin d'y trouver un chargeur ​(en réalité ​l'endroit où rechercher est configuré ​dans les paramètres du BIOS).\\ +Un chargeur ​permet aussi à l'utilisateur de lancer un des OS installé ​dans le même PC. \\ 
-Il s'agit d'un petit programme dont le but sera de lancer le système d'​exploitation complet. +C'est ce qu'on nomme le **multiboot**.
-<​note>​Les chargeurs récents sont capables de laisser à l'​utilisateur le choix du système à lancer (on appelle cela un multiboot). Plusieurs peuvent alors cohabiter sur une même machine.</​note>​+
  
-Les plus utilisés pour lancer un noyau Linux sont LILO et GRUB. \\ +Les chargeurs les plus utilisés pour lancer un noyau Linux sont //LILO// et //GRUB// et sont capables tous deux de passer des options au noyau.
-Ils partagent de nombreux points communs comme le fait de pouvoir ​passer des options au noyau.+
  
 La configuration pour GRUB : La configuration pour GRUB :
Ligne 125: Ligne 118:
 ===== Le noyau ===== ===== Le noyau =====
  
-Son rôle lors du démarrage ​est principalement d'initialiser ​les différents composants matériels présents en utilisant notamment les pilotes de périphérique présents dans le noyau+Au démarrage, le noyau va initialiser le matériel présent à l'aide des drivers des périphériques qu'il contient
-<​note>​Ceux qui ont été compilés sous forme de modules ne sont pas pris en compte ​à ce moment.</​note>​+<​note ​warning>Par contre, les drivers ​compilés sous forme de modules ne sont pas encore ​pris en compte.</​note>​
  
-Ces initialisations concernent surtout ​les composants centraux de la machine ​comme le processeur ​ou les contrôleurs de périphériques\\ +Sont d'​abord initialisés ​les éléments principaux du PC, comme le processeurles contrôleurs de périphérique... Les périphériques externes ​viennent ensuite. \\ 
-Les périphériques externes ​ne seront eux initialisés généralement qu'au moment de leur utilisation. \\ +À ce stade, ​le noyau configure ​rapidement ​la carte graphique dans un mode standart pour permettre la lisibilité des opérations ​par l'​utilisateur\\ 
-L'​écran est toutefois utilisé rapidement après ​le lancement du noyau afin de donner des informations à l'​utilisateur. Le noyau configure ​donc la carte graphique dans un mode standard pouvant être reconnu ​par une majorité de cartesIl est de plus possible de changer cette valeur ​par une option du noyau (vga=XXX).+<note tip>On peut même configurer cela par une option du noyau.</​note>​
  
 Il y a deux manières d'​influer sur ce que va faire le noyau. Il y a deux manières d'​influer sur ce que va faire le noyau.
Ligne 136: Ligne 129:
   - lui passer des options.   - lui passer des options.
  
-L'​avantage des options ​est que cela peut être changé ​d'un démarrage ​sur un autre. Et les chargeurs de noyau vus précédemment permettent de faire cela très facilement, y compris ​de façon temporaire. \\ +Les options ​peuvent ​être modifiées ​d'un démarrage ​à l'autre de façon temporaire ​ou définitive//Cool, non ?// 8-) \\ 
-Mais on rencontrera certains ​cas (comme par exemple rajouter le support ​d'un matériel particulier) où une recompilation du noyau sera indispensable.+La recompilation n'est nécessaire que pour des cas particuliers ​d'ajout de matériels spécifiques par exemple... 
 + 
 + 
 +==== Tableau des options ====
  
-Voici quelques exemples d'​options fréquentes et utiles. Leur liste complète est en réalité plus longue mais ne sera pas détaillée ici. \\ 
-**Options courantes** 
 ^Option ^Description ^ ^Option ^Description ^
-|vga=XXX |Sert à changer ​la résolution d'​écran utilisée pendant le démarrage. Utile si celle par défaut n'est pas reconnue par la carte graphique.| +|vga=XXX |Modifier ​la résolution d'​écran utilisée pendant le démarrage.| 
-|no-scroll |Permet de désactiver ​le défilement du texte sur l'​écran. A utiliser notamment avec des terminaux braille pour lesquels le défilement peut poser problème.| +|no-scroll |Désactive ​le défilement du texte sur l'​écran.| 
-|noapic |L'​APIC permet à plusieurs périphériques de partager des ressources communes (les IRQ). Avec cette option, on peut désactiver ​ce mécanisme ​qui peut engendrer des problèmes ​avec certains matériels.| +|noapic |L'​APIC permet à plusieurs périphériques de partager des ressources communes (les IRQ). Avec cette option, on désactive ​ce mécanisme ​en cas de problème ​avec certains matériels.| 
-|mem=XXX |Permet d'​indiquer ​la valeur de mémoire vive présente sur la machine ​pour le cas ou l'​auto-detection échouerait. On peut utiliser des lettres pour cette taille. Par exemple 512M désignera 512 Méga-octets de mémoire.| +|mem=XXX |Indique ​la valeur de la mémoire vive présente sur la machine. Par exemple 512M désignera 512 Méga-octets de mémoire.| 
-|init=XXX |Permet d'​indiquer de manière explicite quel programme ​doit être lancé après l'​initialisation du noyau (plus de détails dans la section suivante).|+|init=XXX |Indique le programme lancé après l'​initialisation du noyau.|
  
 +//Et d'​autres encore...//
 ===== Le processus init ===== ===== Le processus init =====
  
-Une fois que le noyau a fini tout son travail d'​initialisation,​ il lance alors un programme qui va devenir le père de tous les autres processus et portera l'​identifiant ​de processus ​(le PID) 1.+Une fois que le noyau a fini l'​initialisation,​ il lance le programme ​''​init'' ​qui va devenir le père de tous les autres processus et portera l'​identifiant((le PID)) 1. \\ 
 +Pour trouver //init//, le //noyau// va lancer sa recherche dans ces répertoires : 
 +  * /​sbin/​init 
 +  * /etc/init 
 +  * /bin/init 
 +  * /bin/sh
  
-Ce programme s'appelle généralement ​init. Le noyau va en fait essayer ​de lancer ​successivement les programmes suivants ​:+Dès qu'il trouve //init//, le //noyau// lui passe immédiatement le contrôle de la suite des évènements\\ 
 +  - S'il ne le trouve pas, le noyau tentera ​de lancer ​[[manuel:shell | un shell]] pour permettre un accès au système. 
 +  - Si le shell ne fonctionne pas, le noyau indique l'​erreur et s'​arrête.
  
-    /sbin/init +Pour modifier la recherche on utilise l'​option du noyau **init=** en lui indiquant le chemin complet((Voir : [[manuel:​repertoire | Les chemins absolus et relatifs en détail.]])) de l'​exécutable à lancer.
-    /etc/init +
-    /bin/init +
-    /bin/sh+
  
-Dès qu'un de ceux-là est lancé avec succès, les autres ne sont même pas testés car le contrôle est passé au programme.+==== Configuration d'init ====
  
-On voit que le programme ​init est cherché dans différents répertoires (/sbin, /etc et finalement /bin). \\ +Le fichier //init// se configure ​dans le répertoire : ''/​etc/​inittab''​. ​\\ 
-  * S'il ne se trouve ​dans aucun de ceux-là, ​le noyau tente de lancer un shell afin que l'​utilisateur ait accès au système. +Exemple de configurations ​:
-  * Si cela échoue également, le noyau affiche un message d'​erreur et s'​arrête. +
- +
-Pour pouvoir indiquer un autre programme que ceux-là, il faut utiliser l'​option du noyau **init=** vue précédemment. On lui passe en paramètre le chemin complet de l'​exécutable à lancer. +
- +
-Le comportement d'init se configure à l'aide du fichier ​''/​etc/​inittab''​. ​En voici un exemple d'​extrait ​:+
 <​code>​ <​code>​
 id:​5:​initdefault:​ id:​5:​initdefault:​
Ligne 182: Ligne 176:
  
 ca::​ctrlaltdel:/​sbin/​shutdown -t3 -r now</​code>​ ca::​ctrlaltdel:/​sbin/​shutdown -t3 -r now</​code>​
- +Explication en tableau ​:
-Chaque ligne est construite de la même manière avec les champs suivants ​\\ +
-Format dans /​etc/​inittab+
 ^Position ^Nom ^Description ^ ^Position ^Nom ^Description ^
-|1 |Identifiant |Une chaîne de caractère choisie par l'​utilisateur (sauf dans certains cas particuliers) et permettant d'​identifier la ligne.| +|1 |Identifiant |Une chaîne de caractère choisie par l'​utilisateur (sauf dans certains cas particuliers) et permettant d'​identifier la ligne. | 
-|2 |Niveaux d'​exécution |Les niveaux d'​exécution ​(détaillés dans le chapitre suivant) ​pour lesquels cette ligne doit être prise en compte.| +|2 |Niveaux d'​exécution |Les niveaux d'​exécution pour lesquels cette ligne doit être prise en compte. | 
-|3 |Action |Contient une des actions prédéfinies indiquant ce qui doit être fait.Le tableau suivant les liste.| +|3 |Action |Contient une des actions prédéfinies indiquant ce qui doit être fait. | 
-|4 |Programme |Le programme qui doit être exécuté lorsque l'on rentre dans les niveaux indiqués.|+|4 |Programme |Le programme qui doit être exécuté lorsque l'on rentre dans les niveaux indiqués. |
  
-Selon l'​action choisie, le comportement sera différent et certains ​champs peuvent être ignorés. Voici la description des actions le plus souvent utilisées+Certains ​champs peuvent être ignorés ​selon ce qui est choisi
-Actions ​pour /​etc/​inittab+ 
 +==== Configuration d'​inittab ==== 
 + 
 +Tableau de configuration ​pour ''​/​etc/​inittab''​ (//les configurations principales...//​)
 ^Action ^Champs ignorés ^Description ^ ^Action ^Champs ignorés ^Description ^
 |initdefault |Programme |Permet d'​indiquer le niveau d'​exécution à utiliser par défaut. Le champs Niveaux d'​exécution contiendra alors une seule valeur qui sera ce niveau par défaut.| |initdefault |Programme |Permet d'​indiquer le niveau d'​exécution à utiliser par défaut. Le champs Niveaux d'​exécution contiendra alors une seule valeur qui sera ce niveau par défaut.|
Ligne 199: Ligne 194:
 |respawn |Aucun |Semblable à wait si ce n'est qu'à chaque fois que le programme se termine, init le relancera.| |respawn |Aucun |Semblable à wait si ce n'est qu'à chaque fois que le programme se termine, init le relancera.|
 |ctrlaltdel |Niveaux d'​exécution |Permet d'​indiquer une commande devant être exécutée lorsque l'​utilisateur presse la combinaison de touches Ctrl-Alt-Suppr.| |ctrlaltdel |Niveaux d'​exécution |Permet d'​indiquer une commande devant être exécutée lorsque l'​utilisateur presse la combinaison de touches Ctrl-Alt-Suppr.|
-Les niveaux d'​exécution (Haut de page)| 
  
-Sur les systèmes GNU/Linux, on a plusieurs niveaux d'​exécution possibles (appelés aussi modes d'​exécution). Il s'agit en fait de mode de démarrage différents qui diffèrent les uns des autres par les services qui y sont lancés.+===== Les modes d'​exécution ​=====
  
-La convention ​choisie ​est celle appelée ''​System V init'' ​qui définit la manière dont doivent être gérés les différents niveaux. ​\\ +Selon les services qui sont lancés, plusieurs modes d'​exécution sont possibles. \\ 
-Dans le fichier **inittab** ​donné en exemple dans le chapitre précédent,​ on peut voir que c'est le programme ''/​etc/​rc.d/​rc''​ qui gère cela. Il est lancé avec en paramètre le numéro de niveau ​lorsque l'on besoin de basculer dans un certain niveau ​d'​exécution.+La convention ​appliquée ​est appelée ''​System V init''​. Elle définit la gestion des différents niveaux. 
 + 
 +Dans le fichier **inittab** c'est le programme ''/​etc/​rc.d/​rc''​ qui gère cela. Il est lancé avec un numéro ​en paramètre ​qui défini ​le niveau ​d'exécution attribué. 
 + 
 +Il y habituellement 7 niveaux ​d'​exécution ​numérotés de 0 à 6\\ 
 + 
 +==== Tableau des niveaux d'​exécution ====
  
-On trouve en général 7 niveaux d'​exécution numérotés de 0 à 6. \\ 
-Leur utilisation est libre, mais traditionnellement on a l'​utilisation suivante :  \\ 
-Niveaux d'​exécution 
 ^Numéro ^Désignation ^Description ^ ^Numéro ^Désignation ^Description ^
-|0 |Arrêt |Passer dans ce niveau provoque un arrêt de la machine.| +|0 |Arrêt |Ce niveau provoque un arrêt de la machine.| 
-|1 |Maintenance |On a directement accès ​à un shell, mais quasiment ​aucun service ​n'​est ​lancé. ​Utile pour le dépannage ​en cas de problème important.| +|1 |Maintenance |Accès ​à un shell sans aucun service ​de lancé. ​Utilisé ​pour le dépannage.| 
-|2 |Multi-utilisateurs simple |Plusieurs ​utilisateurs ​peuvent se connecter ​en mode texte. Mais les services sont limités (souvent ​pas de réseau par exemple).| +|2 |Multi-utilisateurs simple |Ouverture à plusieurs ​utilisateurs en mode texte. Mais les services sont limités (pas de réseau par exemple).| 
-|3 |Multi-utilisateurs complet |Tous les services nécessaires ​sont démarrés et plusieurs utilisateurs ​peuvent se connecter ​en mode texte.| +|3 |Multi-utilisateurs complet |Ajoute le démarrage de tous les services nécessaires ​pour plusieurs utilisateurs ​connectés ​en mode texte.| 
-|4 |Mode utilisateur |Généralement non utilisé, il peut être librement ​utilisé.| +|4 |Mode utilisateur |Librement ​utilisé.| 
-|5 |Graphique |Identique au mode 3, mais les utilisateurs peuvent se connecter en mode graphique et disposer d'un gestionnaire de fenêtre.| +|5 |Graphique |Identique au mode 3. Lles utilisateurs peuvent se connecter en mode graphique et disposer d'un gestionnaire de fenêtre.| 
-|6 |Redémarrage |Passer dans ce niveau redémarre ​la machine.|+|6 |Redémarrage |Redémarre ​la bécane.|
  
-Après le démarrage, le système se trouve dans le mode indiqué par **initdefault** dans ''/​etc/​inittab''​. ​\\ +==== mode initdefault ==== 
-Pour pouvoir ​changer, il existe un outil appellé //​telinit//​. Il suffit de le lancer en lui passant en paramètre ​le numéro du niveau ​souhait. Par exemple :+ 
 +Après le démarrage, le système se trouve dans le mode indiqué par **initdefault** dans ''/​etc/​inittab''​. 
 + 
 +Pour le changer, il existe un outil appellé //​telinit//​. Il suffit de le lancer en lui passant en paramètre ​un numéro du niveau. ​\\ 
 +Par exemple :
 <code bash> <code bash>
 telinit 6</​code>​ telinit 6</​code>​
  
-Permet de redémarrer ​la machine.+Redémarre ​la machine. 
 + 
 +==== Le programme /​etc/​rc.d/​rc ==== 
  
-Bien qu'il y ait des conventions pour ce qui doit être fait dans chaque mode, cela peut être entièrement changé. Mais pour comprendre comment influer sur ce comportement, il faut d'​abord ​savoir ce que fait le programme ''/​etc/​rc.d/​rc'' ​(ou un autre selon les systèmes et le contenu ​du fichier inittab).+Pour changer ​ce qui doit être fait dans chaque mode, il est nécessaire de savoir ce que fait le programme ''/​etc/​rc.d/​rc''​ contenu ​dans le fichier ​//inittab//.
  
 Le programme gérant les niveaux d'​exécution va consulter le contenu du répertoire ''/​etc/​rc.d/​rcX.d''​ (où X correspond au numéro du niveau devant être changé). \\ Le programme gérant les niveaux d'​exécution va consulter le contenu du répertoire ''/​etc/​rc.d/​rcX.d''​ (où X correspond au numéro du niveau devant être changé). \\
doc/systeme/gnu-linux.txt · Dernière modification: 19/04/2023 18:58 par bendia

Pied de page des forums

Propulsé par FluxBB