Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
logiciels:linux:init:accueil [2015/03/08 00:07] resonance créée |
— (Version actuelle) | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | <code txt> | ||
- | ********************* | ||
- | * Système GNU/Linux * | ||
- | ********************* | ||
- | Sommaire : noyau, espace utilisateur, | ||
- | |||
- | Source : " | ||
- | |||
- | Linux = noyau | ||
- | Distributions = Debian, Ubuntu (dérivée de Debian), Suse, Mandriva, etc. | ||
- | Distributions spécialisées : PureDyne, Ubuntu Studio, Apodio, Edubuntu, etc. | ||
- | |||
- | Construction en couches, des couches basses, proches du matériel, aux couches hautes, proches de l' | ||
- | |||
- | Tout est fichier dans Linux. | ||
- | Tout est modulaire, grâce au système de paquet, chaque fonction peut-être partagée entre plusieurs processus en même temps. | ||
- | |||
- | ********* | ||
- | * Noyau * | ||
- | ********* | ||
- | - pilotage du matériel | ||
- | - gestion du système de fichiers | ||
- | - fonctions partagées | ||
- | - gestion des processus (programmes en cours d' | ||
- | - gestion des permissions > multi-utilisateurs. | ||
- | |||
- | ********************** | ||
- | * Espace utilisateur * | ||
- | ********************** | ||
- | - processus : init, et les autres | ||
- | - démons (daemon, .d) : processus en tâche de fond sans interface graphique | ||
- | - communication inter-processus (IPC) : si les processus ne pouvaient renvoyer d' | ||
- | - fichier | ||
- | - pipe (tube) : nommé (PID, identifiant) ou signaux | ||
- | - ouvrir zone mémoire | ||
- | - réseau | ||
- | - bibliothèques de fonctions : collection de fragments de programmes. Les fonctions sont partagées entre plusieurs processus. De nombreuses applications font appel aux mêmes fonctions. | ||
- | | ||
- | |||
- | ********************** | ||
- | * Démarrage de Linux * | ||
- | ********************** | ||
- | Voir l' | ||
- | |||
- | -- 1 - BIOS (Basic Input/ | ||
- | -- 2 - GRUB : chargeur de démarrage, trouve et charge le noyau sur le disque et l' | ||
- | -- 3 - Noyau Linux : bases communes aux programmes du système. Le noyau monte la partition contenant la racine de l' | ||
- | -- 4 - Espace utilisateur | ||
- | - 4.1: premier processus " | ||
- | - 4.2: processus fils de " | ||
- | - / | ||
- | |||
- | (~) % ls /etc/rcS.d | ||
- | README | ||
- | |||
- | Le " | ||
- | |||
- | - 4.3: " | ||
- | |||
- | (~) % ls /etc/rc2.d/ | ||
- | README S20cinestart@ S20liquidsoap@ S50cups@ S99acpi-support@ S99laptop-mode@ S99rtirq@ S16ssh@ S20das-watchdog@ S20lpd@ S50rsync@ S99grub-common@ S99ondemand@ S20akiradrelease@ S20icecast2@ S20sysfsutils@ S70pppd-dns@ S99jackd@ S99rc.local@ | ||
- | |||
- | |||
- | ***************************** | ||
- | * Arborescence des fichiers * | ||
- | ***************************** | ||
- | Source : http:// | ||
- | Debian GNU/Linux adhère à la norme sur l' | ||
- | |||
- | Répertoire Contenu | ||
- | ---------- -------------------------------------------------------------------- | ||
- | / Répertoire racine du système de fichiers. | ||
- | bin Binaires (exécutables) des commandes essentielles | ||
- | boot Fichiers statiques pour le programme d' | ||
- | dev Fichiers des pilotes de périphériques | ||
- | etc Configuration système propre à la machine | ||
- | home Répertoires personnels des utilisateurs | ||
- | lib Bibliothèques partagées et modules noyaux essentiels | ||
- | media Points de montage pour les supports amovibles | ||
- | mnt Point de montage pour les montages temporaires | ||
- | proc Répertoire virtuel pour les informations système (noyaux 2.4 et 2.6) | ||
- | root Répertoire personnel de l' | ||
- | sbin Exécutables système essentiels | ||
- | sys Répertoire virtuel pour les informations système (noyaux 2.6) | ||
- | tmp Fichiers temporaires | ||
- | usr Hiérarchie secondaire | ||
- | var Données variables | ||
- | srv Données pour les services fournis par le système | ||
- | opt Répertoire pour d' | ||
- | |||
- | |||
- | *************************************** | ||
- | * Montage des partitions : /etc/fstab * | ||
- | *************************************** | ||
- | Source : http:// | ||
- | |||
- | L' | ||
- | |||
- | Un point de montage est un répertoire où peuvent être greffés des systèmes de fichiers supplémentaires au système de fichiers parent (en général le système de fichiers racine). Les points de montage standards incluent /mnt et /media. Ces répertoires sont en général référencés par des entrées dans le fichier /etc/fstab. /etc/fstab est une table des divers systèmes de fichiers et de leur point de montage utilisé comme référence par le système. La plupart des systèmes de fichiers présents dans /etc/fstab sont montés automatiquement au moment du démarrage par la procédure rc(8) à moins que l' | ||
- | |||
- | >> Voir aussi : http:// | ||
- | |||
- | ****************************** | ||
- | * Multi-boot avec /etc/fstab * | ||
- | ****************************** | ||
- | J'ai un multi-boot avec trois systèmes d' | ||
- | Pour monter automatiquement au démarrage toutes ces partitions : | ||
- | - 1. Créer des répertoires pour accueillir ces nouveaux points de montage de façon permanente. En pratique, il s'agit juste de créer des répertoires pour chaque partition dans le répertoire "/ | ||
- | - 2. Pour éditer correctement le fichier "/ | ||
- | - 3. Ensuite il faut éditer le fichier, l' | ||
- | |||
- | --------------------------------- | ||
- | Exemple de mon fichier /etc/fstab | ||
- | --------------------------------- | ||
- | (~) % cat /etc/fstab | ||
- | # /etc/fstab: static file system information. | ||
- | # | ||
- | # Use 'blkid -o value -s UUID' to print the universally unique identifier | ||
- | # for a device; this may be used with UUID= as a more robust way to name | ||
- | # devices that works even if disks are added and removed. See fstab(5). | ||
- | # | ||
- | # <file system> <mount point> | ||
- | proc /proc | ||
- | # / was on /dev/sda7 during installation | ||
- | UUID=00592502-cf62-43c9-bccf-cf7c4f2eee31 / | ||
- | # swap was on /dev/sda6 during installation | ||
- | UUID=5124b3e4-75fd-451c-a6a9-3af480f7d052 none swap sw 0 0 | ||
- | / | ||
- | / | ||
- | / | ||
- | / | ||
- | / | ||
- | |||
- | ----------------------- | ||
- | 1-Créer les répertoires | ||
- | ----------------------- | ||
- | (~) % mkdir / | ||
- | |||
- | ------------------------------- | ||
- | 2-Connaître l' | ||
- | ------------------------------- | ||
- | (~) % fdisk -l | ||
- | Disque /dev/sda: 250.1 Go, 250059350016 octets | ||
- | 255 têtes, 63 secteurs/ | ||
- | Unités = cylindres de 16065 * 512 = 8225280 octets | ||
- | Identifiant de disque : 0x39a0399f | ||
- | |||
- | Périphérique Amorce | ||
- | / | ||
- | / | ||
- | / | ||
- | / | ||
- | / | ||
- | / | ||
- | / | ||
- | |||
- | Pour savoir à quel numéro est attribué un /dev/sda?, faites un montage temporaire dans /mnt. | ||
- | Créer un répertoire /mnt/tmp par exemple. | ||
- | (~) % mkdir /mnt/tmp | ||
- | Monter les partition inconnues, et visualiser les fichiers. | ||
- | (~) % mount /dev/sda1 /mnt/tmp | ||
- | (~) % ls /mnt/tmp | ||
- | Affiche les répertoires de cette partition. Donc on sait quel est cette partition. | ||
- | (~) % unmount /mnt/tmp | ||
- | Pour démonter la partition. | ||
- | Faire pareil avec /dev/sda3, /dev/sda5 et /dev/sda2 (dans mon cas) | ||
- | |||
- | Si le système ne permet pas de monter les partitions ntfs, alors il faut installer le paquet le permetatnt : | ||
- | $ sudo aptitude install ntfs-3g | ||
- | |||
- | Une solution plus simple est envisageable, | ||
- | $ sudo gparted | ||
- | |||
- | --------------------- | ||
- | 3-Editer "/ | ||
- | --------------------- | ||
- | (~) % nano /etc/fstab | ||
- | Ajouter ces lignes : | ||
- | / | ||
- | / | ||
- | / | ||
- | / | ||
- | |||
- | |||
- | |||
- | |||
- | ************************************ | ||
- | * Les différents types de fichiers * | ||
- | ************************************ | ||
- | Linux reprend le principe général des systèmes Unix suivant lequel "tout est fichier" | ||
- | |||
- | Les différentes types de fichiers sont visualisables avec la commande "ls -l". La première lettre nous donne le type de fichiers : | ||
- | - " | ||
- | - " | ||
- | - " | ||
- | - " | ||
- | - " | ||
- | - " | ||
- | |||
- | ********************************* | ||
- | * Les pilotes en mode caractère * | ||
- | ********************************* | ||
- | Ces pilotes sont accessibles à travers des fichiers spéciaux appelés égalements noeuds (nodes). Ces fichiers sont localisés sur le répertoire /dev et sont caractérisés par deux valeurs numériques: | ||
- | * Le MAJEUR (MAJOR) qui identifie le pilote | ||
- | * Le MINEUR (MINOR) qui représente une sous-adresse en cas de présence de plusieurs périphériques identiques, controlés par un même pilote. | ||
- | |||
- | L' | ||
- | $ ls -l /dev/ttyS* | ||
- | crw------- | ||
- | crw------- | ||
- | crw------- | ||
- | crw------- | ||
- | |||
- | Dans ce cas la, le majeur vaut 4 et les mineurs vont de 64 à 67. | ||
- | Pour créer une nouvelle entrée dans le répertoire /dev, on utilisera la commande mknod: | ||
- | $ mknod / | ||
- | |||
- | Le c indique que l'on crée un noeud pour un pilote en mode caractère. Si l'on désirait créer une entrée pour un pilote en mode bloc, on utiliserait la même commande avec un b à la place du c. La liste des majeurs utilisés par le noyau LINUX est disponible dans le fichier Documentation/ | ||
- | |||
- | A partir du moment ou le noeud est créé et le pilote installé, on peut accèder au périphérique en utilisant les commandes standards de LINUX comme: | ||
- | $ echo "une commande" | ||
- | pour écrire sur le périphérique. | ||
- | |||
- | $dd bs=1 count=10 < / | ||
- | pour lire 10 caractères du péripéhrique. | ||
- | |||
- | On peut bien entendu accèder au périphérique en utilisant des langages évolués comme le C, exemple: | ||
- | int fd = open ("/ | ||
- | pour ouvrir un descripteur de fichier associé au périphérique. | ||
- | |||
- | char *s = "une commande"; | ||
- | write (fd, s, strlen(s)); | ||
- | pour écrire une chaîne sur le périphérique. | ||
- | |||
- | char buf[256]; | ||
- | read (fd, buf, n); | ||
- | pour lire n caractères du périphérique. | ||
- | |||
- | close (fd); | ||
- | pour terminer l' | ||
- | |||
- | |||
- | ****************************************** | ||
- | * Les propriétés des fichiers sous Linux * | ||
- | ****************************************** | ||
- | Source : Thierry COLAS, auteur original du document « Lignes de commandes - le pense bête de COAGUL » | ||
- | |||
- | Dans le monde UNIX, tout est fichier. Par exemple, la communication avec les périphériques physiques de l’ordinateur se fait au moyen de fichiers d’un type particulier. Les caractéristiques des fichiers peuvent être visualisées à l’aide de la commande : | ||
- | |||
- | [user@localhost]$ ls -la | ||
- | drwx------ | ||
- | drwxr-xr-x | ||
- | -rw------- | ||
- | -rw------- | ||
- | lrwxrwxrwx | ||
- | |||
- | Voyons la signification de chaque colonne : | ||
- | |||
- | - Colonne 1 : Attributs des fichiers | ||
- | ------------------------------------ | ||
- | Le premier caractère donne le type de fichier | ||
- | |||
- | Caractère Description | ||
- | --------- ----------- | ||
- | - pour un fichier ordinaire | ||
- | d pour un répertoire | ||
- | l pour un lien symbolique | ||
- | s pour une socket | ||
- | p pour un pipe nommé | ||
- | b fichier spécial (de périphérique) en mode bloc | ||
- | c fichier spécial (de périphérique) en mode caractère | ||
- | |||
- | Les 9 caractères suivants (en fait 3 groupes de 3) donnent les modes (droits) d’accès du fichier : | ||
- | |||
- | Tout fichier dans le monde Unix possède un certain nombre de droits qui vont caractériser les opérations possibles sur ce fichier. Ces droits sont : | ||
- | |||
- | Caractère Description | ||
- | --------- ----------- | ||
- | r droit en lecture (read). - Tout fichier qui possède cette caractéristique peut être lu. | ||
- | w droit en écriture (write). Le fichier pourra être supprimé, renommé ou son contenu modifié. | ||
- | x droit d’exécution (pour un fichier) ou de parcours (pour un répertoire) (execute). Sous unix, il n’y a pas d’extension standard pour les fichiers programmes tels que .exe, .com, .bat ... C’est le droit d’éxécution qui fait d’un fichier qu’il est exécutable, | ||
- | |||
- | s set uid ou set gid. Nous n’en parlerons pas pour l’instant. | ||
- | t sticky bit. Nous n’en parlerons pas pour l’instant. | ||
- | |||
- | Pour résumer : Le premier triplet indique les droits du propriétaire du fichier. Le second indique les droits des membres du groupe du propriétaire du fichier. Le dernier indique les droits pour le reste du monde sur le fichier. | ||
- | r w x r w x r w x | ||
- | |||
- | - Colonne 2 : Liens physiques | ||
- | ----------------------------- | ||
- | On trouve dans cette colonne le nombre de liens physiques sur le fichier. Je passe sur cette notion dans l’immédiat. | ||
- | |||
- | - Colonne 3 : Propriétaire | ||
- | -------------------------- | ||
- | On trouve le nom (user name) du propriétaire du fichier. Si le propriétaire n’est pas connu sur le système (pas d’entrée dans / | ||
- | |||
- | - Colonne 4 : Groupe | ||
- | -------------------- | ||
- | On trouve le nom du groupe (user group) du propriétaire du fichier. Si le groupe n’est pas connu sur le système (pas d’entrée dans / | ||
- | |||
- | - Colonne 5 : Taille | ||
- | -------------------- | ||
- | On trouve ici la taille du fichier. Elle peut être affichée en octets (o), kilo-octets (ko), méga-octets (Mo), ...suivant les cas. | ||
- | |||
- | - Colonne 6, 7 et 8 : Date et heure | ||
- | ----------------------------------- | ||
- | C’est la date et l’heure de la dernière modification du fichier. | ||
- | |||
- | - Colonne 9 : Nom | ||
- | ----------------- | ||
- | La dernière colonne informe sur le nom du fichier et dans le cas de certains shells (bash par exemple) le dernier caractère indique le type de fichier : | ||
- | |||
- | Caractère Description | ||
- | --------- ----------- | ||
- | / pour un répertoire. | ||
- | @ pour un lien symbolique. | ||
- | = pour un socket. | ||
- | |||
- | - Récapitulatif | ||
- | --------------- | ||
- | Type Proprio Groupe Autres Liens Prop. Groupe Taille Date - heure Nom | ||
- | d rwx --- --- 11 root root 1024 nov 5 15:31 ./ | ||
- | d rwx r-x r-x 20 root root 1024 nov 5 15:30 ../ | ||
- | - rw- --- --- 1 root root 9821 nov 4 15: | ||
- | - rw- --- --- 1 root root 11748 nov 5 13: | ||
- | l rwx rwx rwx 1 root root 47 nov 5 13:10 .odbc -> / | ||
- | |||
- | </ |