Programmation modules sous Linux  (partie 1)

Suivant
Les modules
II . Informations systèmes
1 . Les commandes
2 . Fichier /var/log/messages
3 . Le service syslog
4 . L'interface /proc
5 . La commande sysctl

1 . Les commandes

uname : affiche les informations sur la machine et le système d'exploitation
dmesg : affiche les données du démarrage


2 . Fichier /var/log/messages

Le fichier /var/log/messages contient des informations émises par les sous-systèmes qui utilisent le service syslog.

On y trouve aussi des informations relatives à des services démarrés en même temps que le système Linux.

# more /var/log/messages
Sep 21 09:02:51 thius kde(pam_unix)[2827]: session opened for user tv by (uid=0)
Sep 21 17:18:56 thius kde(pam_unix)[2827]: session closed for user tv
...
Sep 21 20:19:04 thius kernel: parport0: PC-style at 0x378 [PCSPP,TRISTATE]
Sep 21 20:19:04 thius kernel: parport0: Printer, HEWLETT-PACKARD DESKJET 720C


3 . Le service syslog

Le démon syslog reçoit des messages d'erreur émis par le noyau ou les démons de certains services.

Le fichier /etc/syslog.conf permet à l'administrateur de décider de la destination du message pour chaque sous-système et selon le degré de sévérité de l'erreur.


4 . L'interface /proc

Le pseudo sytème de fichiers /proc est une interface aux structures de données du noyau.
Beaucoup de commandes Linux (ps, ifconfig, lsmod, ...), qui affichent ou modifient des paramètres systèmes, utilisent en fait le répertoire /proc.
La description des fichiers situés dans /proc est fournie dans /usr/src/linux/Documentations/proc.txt

La plupart des fichiers contenus dans /proc ont une taille nulle.
Les informations qu'ils contiennent sur le système sont en fait des images de celles définies dans la mémoire du noyau Linux.
On peut cependant visualiser ces fichiers (more, cat, ...)

Les processus

Il existe un sous-répertoire par processus : le nom du sous-répertoire est le PID du processus
Chaque sous-répertoire contient les fichiers suivants :
cmdline : les arguments de la commande
cwd : le répertoire courant
environ : l'environnement du processus
exec : lien sur l'exécutable
fd : les fichiers ouverts par le processus
maps : les régions composant l'espace virtuel du processus
root : le répertoire racine
status : les informations générales sur le processus (PID, GID, UID, état, ...)

Les principaux fichiers

cmdline : les arguments de la commande
cpuinfo : la description du processeur
devices : la liste des pilotes inclus dans le noyau
filesystems : la liste des systèmes de fichiers supportés par le noyau
interrupts : les interruptions utilisées par le noyau
ioports : les ports d'entrée-sorties
loadavg : la charge du noyau
meminfo : l'occupation de la mémoire centrale et de l'espace de swap
modules : les pilotes chargés dans le noyau
mount : les systèmes de fichiers montés
partition : la liste des partitions
pci : la liste des périphériques connectés sur le bus PCI
rtc : l'horloge temps réel
version : la version du système
etc ...

Les périphériques

Le répertoire /proc contient des fichiers qui donnent des informations sur les périphériques.
Il y a un répertoire par type de périphérique. On trouve ainsi :
bus : les bus
fs : les systèmes de fichiers
net : le réseau
parport : les ports parallèles
scsi : les périphériques SCSI
tty : les terminaux, les liaisons séries, ...

Les paramètres du noyau

Le sous-répertoire /proc/sys est la racine de l'arborescence de fichiers représentant les paramètres de gestion du système Linux.
Les principaux sous-répertoires de /proc/sys sont :
dev : les paramètres de périphériques
fs : les paramètres des systèmes de fichiers
kernel : les paramètres du noyau
net : les paramètres réseau
vm : la pagination


5 . La commande sysctl

La commande sysctl permet d'afficher la valeur de ces paramètres et, quand cela est possible, d'en modifier la valeur dynamiquement.

Pour désigner un paramètre, on utilise des variables : type-parametre.nom_variable
fs.file-max : désigne le nombre maximum de fichiers ouverts (correspond au fichier /proc/sys/fs/file-max)

Exemple :
# sysctl fs.file-max
fs.file-max=4096
# sysctl -w fs.file-max=8192
//Changement permanent :
# echo "fs.file-max=8192" >> /etc/sysctl.conf


Précédent
Le noyau
Sommaire
 
Suivant
Les modules
© 2002 for www.tvtsii.net by tv