FAQ LinuxConsultez toutes les FAQ
Nombre d'auteurs : 56, nombre de questions : 260, dernière mise à jour : 27 juin 2022 Ajouter une question
Cette FAQ a été réalisée à partir des contributions des membres du forum Linux de Developpez.com et de l'équipe de rédaction. Merci à eux !
Nous sommes perpétuellement à l'écoute de vos suggestions et corrections, n'hésitez pas à nous en faire part sur le forum.
- Comment installer les drivers Nvidia ?
- Comment configurer mon serveur XFree 4 ?
- Comment configurer ma souris ?
- Comment configurer sa carte réseau ?
- Comment changer le débit de sa carte réseau ?
- Comment activer le numlock automatiquement ?
- Comment configurer un UPS ?
- Comment configurer une imprimante ?
- Comment installer un scanner ?
- Comment voir si l'hyperthreading est actif ?
- Comment installer un driver réseau Windows avec ndiswrapper ?
- Comment remplacer un disque défectueux en RAID-1 ?
- Comment connaître le nombre de cœurs disponibles sur la machine ?
- Comment connaitre la fréquence actuellement utilisée par son CPU ?
1) Télécharger le driver sur le site de Nvidia.
2) Il faut quitter le mode graphique pour l'installation :
Code bash : | Sélectionner tout |
$ init 3
3) Installation du driver :
Code bash : | Sélectionner tout |
$ bash /ou_tu_as_mi_le_fichier/NVIDIA-Linux-x86-xxxxx.run
4) Il faut dire à XFree d'utiliser le nouveau driver :
Code bash : | Sélectionner tout |
$ vi /etc/X11/XF86Config-4
On a quelque chose qui ressemble à ça :
Code : | Sélectionner tout |
1 2 3 4 5 6 7 | Section "Device" Identifier "device1" VendorName "nVidia Corporation" BoardName "RIVA TNT2" Driver "nv" Option "DPMS" EndSection |
5) On relance l'interface graphique et on admire le logo Nvidia au démarrage :
Code bash : | Sélectionner tout |
$ init 5
6) On peut tester l'accélération 3D en jouant à Tuxracer par exemple...
Si ça ne saccade pas énormément, c'est gagné !
Vous avez plusieurs choix possibles :
- utiliser l'outil de configuration XF86Config (répondre aux questions posées) ;
- utiliser une distribution liveCD comme la Knoppix puis récupérer le fichier de configuration du serveur X (copiez-le sur une disquette, le disque dur…) ;
- utiliser la configuration automatique.
Pour la configuration automatisée, exécutez :
Code bash : | Sélectionner tout |
$ X -configure
Cette commande crée un fichier de configuration nommé XF86Config dans le répertoire /root.
Éditez le fichier de configuration :
Code bash : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 | Section "Screen" Identifier "Screen0" Device "Card 0" DefaultDepth 24 # Ligne à rajouter .... SubSection "Display" Depth 24 Modes "1280x1024" "800x600" # Ligne à rajouter EndSubSection EndSection |
Copiez le fichier :
Code bash : | Sélectionner tout |
$ cp /root/XF86Config /etc/X11/
Si votre souris ne fonctionne pas, vous avez plusieurs possibilités :
- refaire la configuration du début avec un utilitaire comme XF86Config ;
- modifier le fichier de configuration du serveur X.
Le problème avec la souris peut provenir d'un mauvais choix de protocole ou de device.
Voici une partie d'un fichier type XF86Config ou XF86Config-4 (/etc/X11) :
Code : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 13 | Section "Server Layout" ... InputDevice "Ma souris" "CorePointer" ... EndSection Section "InputDevice" Identifier "Ma souris" Driver "mouse" Option "Protocol" "ImPS/2" Option "ZAxisMapping" "4 5" # Pour le fonctionnement de la molette Option "Device" "/dev/mouse" EndSection |
En ce qui concerne l'option "Device", l'élément "/dev/mouse" lui a été affecté.
Ce lien dépend du type de la souris :
- PS/2 : /dev/psaux (ln -s /dev/psaux /dev/mouse) ;
- USB : /dev/input/mice (ln -s /dev/input/mice /dev/mouse) ;
- COM : /dev/ttyS0 (si la souris est sur le premier port COM).
P.-S. Il se peut que vous deviez charger des modules du noyau pour son bon fonctionnement (par exemple les modules USB pour une souris USB).
Avec init (anciennes distributions) :
Si vous possédez une carte réseau de type Ethernet (ce qui est probablement le cas), vous devez obligatoirement avoir ethX en plus de lo (interface de loopback) dans la liste des interfaces réseau disponibles (pour la voir tapez ifconfig en root).
Si ce n'est pas le cas, votre carte n'est pas reconnue... ou est démontée : $ ifconfig ethX up pour la remonter.
Si la carte n'est pas reconnue, il faudra charger le module approprié du noyau. Les modules les plus courants actuellement sont 8139too (chipset Realtek) et via-rhine (cartes D-Link par ex.).
Code bash : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | root$ ifconfig eth0 Lien encap:Ethernet HWaddr XX:XX:XX:XX:XX:XX inet adr:192.168.0.32 Bcast:192.168.0.255 Masque:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:1035 errors:0 dropped:0 overruns:0 frame:0 TX packets:1170 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 lg file transmission:100 RX bytes:580187 (566.5 Kb) TX bytes:319752 (312.2 Kb) Interruption:10 Adresse de base:0xf800 lo Lien encap:Boucle locale inet adr:127.0.0.1 Masque:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:74 errors:0 dropped:0 overruns:0 frame:0 TX packets:74 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 lg file transmission:0 RX bytes:4306 (4.2 Kb) TX bytes:4306 (4.2 Kb) |
Pour spécifier une adresse IP, il suffit de taper :
Code bash : | Sélectionner tout |
$ ifconfig ethX X.X.X.X
X.X.X.X correspondant à l'adresse IP et X de ethX correspondant au numéro de votre carte Ethernet.
Si vous désirez retirer une éventuelle adresse IP (dans le but par exemple de négocier une connexion PPPOE), tapez simplement :
Code bash : | Sélectionner tout |
$ ifconfig ethX 0.0.0.0
Pour configurer la passerelle (gateway) de votre réseau, utilisez la commande route comme suit :
Code bash : | Sélectionner tout |
route add -net 0.0.0.0 netmask 0.0.0.0 gw 192.168.0.1 dev eth0
La commande $ route -n affiche la table de routage complète, ce qui nous permet de vérifier la configuration :
Code : | Sélectionner tout |
1 2 3 4 | Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.0.0 * 255.255.0.0 U 0 0 0 eth0 0.0.0.0 0.0.0.0 0.0.0.0 UG 0 0 0 eth0 |
Code : | Sélectionner tout |
1 2 | nameserver x.x.x.x nameserver y.y.y.y |
Ceci est la méthode générique, cependant la configuration réseau est très souvent reprise dans un script ou un fichier de configuration dont la syntaxe est propre à chaque distribution, et qui sera lu/exécuté au démarrage de la machine. De plus les distributions offrent la plupart du temps des assistants de configuration, que ce soit en console ou en mode graphique.
Avec systemd (distributions récentes) :
Sur les distributions récentes, ifconfig est remplacé par ip. Les noms d'interfaces ethX sont remplacés par enspX.
Exemple de configuration avec la commande ip :
Code : | Sélectionner tout |
1 2 3 4 5 | ip addr add 192.168.1.5/24 dev ensp0 ip -4 -o addr show à la place de ifconfig ip link set ensp0 up activer carte réseau ip route add default via 192.168.1.1 #ajout passerelle par défaut |
Vérifiez, si vous avez la commande mii-tool (commande root). Si vous n'avez pas la commande, installez-la (package net-tools).
Exemple pour forcer l'utilisation de sa carte en 100 Mbit, full Duplex :
Code bash : | Sélectionner tout |
$ mii-tool eth0 -F 100baseTx-FD
La modification est immédiate et persistante.
Avec le serveur X : télécharger le programme numlockx et l'installer.
Activez le numlock :
Code bash : | Sélectionner tout |
$ numlockx on
Désactivez le numlock :
Code bash : | Sélectionner tout |
$ numlockx off
Pour que cela soit automatique, il faut ajouter la ligne suivante au fichier .xinitrc ou .xsession avant le lancement du Window Manager :
Code bash : | Sélectionner tout |
$ numlockx &
Sans le X :
Sous Gentoo, il y a un script d'initialisation qui le valide sur toutes les consoles :
Code bash : | Sélectionner tout |
$ /etc/init.d/numlock start
Et pour que cela soit automatique au démarrage :
Code bash : | Sélectionner tout |
$ rc-update add numlock default
Sous Debian pour la console, il y a un fichier de configuration /etc/console-tools/config dans lequel il faut aller décommenter/ajouter la ligne suivante (dernière ligne du fichier) :
Code : | Sélectionner tout |
LEDS=+num
Aujourd'hui, la gestion des imprimantes passe par le programme CUPS. Une fois installé, le démon offre une interface Web sur le port 631, il suffit donc de visiter l’URL http://localhost:631 en mode graphique pour avoir accès à la configuration. Il est assez aisé d'ajouter une imprimante.
Pour savoir si votre imprimante est bien supportée ou pour télécharger le fichier PPD approprié, à indiquer au CUPS pour dialoguer avec votre imprimante, visitez le site linuxprinting.org.
La gestion des scanners sous Linux passe par le programme SANE qui supporte la plupart des scanners modernes. Si votre scanner est USB, veillez à ce que le module approprié soit chargé, ce qui est le cas sur les noyaux fournis par défaut avec les distributions actuelles. Il vous suffira donc d'installer SANE, et son Front-end graphique xsane qui vous permettra de paramétrer le scanner et de numériser directement. Attention, vous devrez veiller à inclure vos utilisateurs dans le groupe système "scanner" (adduser toto scanner) sans quoi l'accès au scanner leur sera refusé. Certaines applications graphiques comme GIMP peuvent faire appel à SANE de manière intrinsèque pour acquérir une image.
Quand l'hyperthreading est actif sous Linux, le noyau voit deux CPU logiques au lieu d'un (visible dans /proc/cpuinfo). Comment distinguer alors les CPU physique et logique ?
Très simplement, en regardant le physical ID du CPU !
Dans votre /proc/cpuinfo, vous observez ceci :
Code : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 | processor 0 physical id : 0 processor 1 physical id : 0 processor 2 physical id : 3 processor 3 physical id : 3 |
Sinon, vous auriez :
Code : | Sélectionner tout |
1 2 3 4 5 | processor 0 physical id : 0 processor 1 physical id : 3 |
Voici une méthode à appliquer, si vous souhaitez faire un driver avec ndiswrapper :
- trouvez la référence exacte du chipset ;
- une fois qu'on est certain qu'il n'existe pas de driver natif pour Linux, allez chercher le driver Windows (un fichier *.inf) ;
- vérifiez que le module ndiswrapper est chargé dans le noyau : lsmod|grep ndiswrapper ;
- si ce n'est pas le cas, chargez-le avec modprobe, et configurez votre système pour le charger au démarrage :
Code bash : Sélectionner tout 1
2modprobe -r ndiswrapper echo ndiswrapper >> /etc/modules
- installez le driver : ndiswrapper -i driver.inf ;
- vérifiez que c'est installé, et qu'il a repéré le matériel :
Code bash : Sélectionner tout 1
2$ ndiswrapper -l driver installed ... hardware detected
- si un mauvais driver était déjà installé, supprimez-le :
Code bash : Sélectionner tout 1
2$ ndiswrapper -e driver $ rm -rf /etc/ndiswrapper/driver
Il faut créer un fichier modprobe :
Code : | Sélectionner tout |
sudo ndiswrapper -m
Code : | Sélectionner tout |
sudo modprobe
Nous partons de l'exemple d'un serveur en production avec un système de RAID-1 logiciel sous Linux géré par mdadm. Il y a donc deux disques durs identiques en mode miroir : tout ce qui est écrit sur un disque est cloné sur le 2e disque. Tout le système a été placé dès l'installation sur une seule partition RAID /dev/md0, et on a un petit swap sur chaque disque (en sda2 et sdb2, ce sont des disques SATA). Donc sda1 = partition raid (formatée en ext3, reiserfs ou autre), sda2 et sdb2 = swap.
- Débrancher le câble réseau (évite l'utilisation du serveur pendant la maintenance). À noter que techniquement tout peut être fait à chaud au niveau logiciel, et même pour (dé)brancher les disques si le hardware est prévu pour (SATA/baies hotswap). Néanmoins, comme certains reboots de tests sont conseillés, il vaut mieux débrancher pour être tranquille.
- Serveur allumé dans l'état actuel, on retire au niveau logiciel le disque défectueux de l'array RAID :
Code bash : Sélectionner tout mdadm /dev/md0 -r /dev/sda1
- Rendre sdb1 bootable avec cfdisk, et installer le MBR Grub sur sdb avec les commandes suivantes dans le prompt de grub (taper grub pour y accéder) :
Code : Sélectionner tout 1
2
3device (hd0) /dev/sdb root (hd0,0) setup (hd0)
- Rebooter, modifier le BIOS pour lui dire de booter sur le disque 2 (sdb), et tester que tout démarre normalement. Sinon Knoppix et chroot pour résoudre le problème.
- Remplacer le disque dur défectueux (si hotswap ou même SATA en théorie, pas besoin d'éteindre la machine).
- Partitionner le disque en deux partitions de tailles exactement identiques à l'installation originale(cfdisk) : Créer la swap : mkswap /dev/sda2
- sda1 : type FD = "Linux raid autodetect"
- sda2 : type 82 = "Linux swap"
- Remonter le raid : mdadm /dev/md0 -a /dev/sda1
- La reconstruction démarre aussitôt automatiquement, on peut surveiller la progression en tapant cat /proc/mdstat périodiquement. Pendant la reconstruction, rebrancher le câble réseau pour que le serveur soit à nouveau utilisable. À la fin, un message l'indique sur la console locale. Vérifier que les deux disques sont bien utilisés avec cat /proc/mdstat le code UU doit apparaître à la fin.
- Réinstaller Grub aussi sur le nouveau disque (+ changer boot BIOS sur disque 1) :
Code : Sélectionner tout 1
2
3device (hd0) /dev/sda root (hd0,0) setup (hd0)
- Une fois que c'est fini, rebooter une dernière fois pour être sûr que tout est OK.
Toute l'opération décrite a été réalisée telle quelle par mes soins lors d'une intervention réelle sur un serveur mail en production dans un réseau d'une quarantaine de personnes.
À l'aide du shell, il est possible de connaître le nombre de cœurs disponibles sur la machine en analysant le nombre de lignes contenant le mot « processor » du fichier cpuinfo :
Code bash : | Sélectionner tout |
grep -c ^processor /proc/cpuinfo
Vous pouvez aussi déterminer le nombre de cœurs à travers un programme C en utilisant :
Code c : | Sélectionner tout |
nb_cores = sysconf(_SC_NPROCESSORS_ONLN);
Les architectures récentes de CPU permettent de changer dynamiquement la fréquence de fonctionnement de ceux-ci afin d'économiser de l'énergie.
Le noyau Linux intègre un module appelé cpufreq pour la gestion des fréquences et les politiques pour déterminer la fréquence optimale.
Pour connaitre la fréquence actuellement appliquée sur votre CPU, vous pouvez lire le fichier
/sys/devices/system/cpu/cpuX/cpufreq/scaling_cur_freq :
Code bash : | Sélectionner tout |
$ cat /sys/devices/system/cpu/cpuX/cpufreq/scaling_cur_freq
(Où X est le numéro du cœur de votre CPU.)
Pour connaitre la fréquence pour tous les cœurs à la fois, vous pouvez utiliser un joker :
Code bash : | Sélectionner tout |
$ cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_cur_freq
La fréquence est en kHz.
Vous pouvez aussi utiliser le programme utilitaire cpufreq.
Proposer une nouvelle réponse sur la FAQ
Ce n'est pas l'endroit pour poser des questions, allez plutôt sur le forum de la rubrique pour çaLes sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2024 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.