Par jonesy.
Avec les remarques et conseils de Marck, Piem et Erwann. Et Anne pour le couteau suisse.
Ou lorsque le pingouin répond à toutes vos questions sur votre système.
(v.4s)
Ce document va essayer de répondre le mieux possible à ces deux questions :
Ce document peut être, d'une certaine façon, considéré comme une suite de Trucs & Astuces, car il vous fournit seulement une liste de commandes vous permettant de répondre aux deux questions ci-dessus. Par ailleurs, notez que la liste des commandes fournies n'est pas exhaustive.
Cet article est écrit de façon à vous montrer ce dont vous pourriez avoir besoin, mais il est valable sur toutes les distributions, en dehors de quelques spécificités, mais qui ne sont pas insurmontables.
Il vous est vivement recommandé, de faire un man
sur les commandes avant de les lancer, ceci afin de connaitre leurs fonctions et leurs options.
Absolument rien ne garantit que vous ayez installé tous les packages nécessaires pour avoir toutes les commandes utilisées dans ce document. Toutes les commandes citées ici sont des commandes en ligne, à exécuter en init 3
ou dans un terminal. Il existe aussi de nombreux outils graphiques pour décortiquer le système mais je ne les aborderais pas. Enfin, la plus part des commandes suivantes peuvent être lancées avec un utilisateur normal, dans le cas contraire utilisez le root
. Les commandes devant être lancées en root
sont précédées d'un #
.
Ce document aborde un sujet plutôt technique, il n'est pas forcément à la portée de tout le monde. Les commandes ne sont pas compliquées mais l'interprétation de leur résultats peuvent l'être.
Pour savoir avec quelles options noyau votre système a démarré, faire :
$ cat /proc/cmdline
Ce qui retourne par exemple :
BOOT_IMAGE=Slackware ro root=305 hdc=ide-scsi hdd=ide-scsi max_scsi_luns=4 devfs=mount
Cela pourra être utile pour comprendre pourquoi le système fait ou supporte ceci ou cela alors que nous ne lui avons dit nulle part. Normalement vous devriez retrouver ces options dans la configuration de votre loader.
Pour avoir une vue générale du matériel installé :
$ lsdev
Ce qui retourne quelque chose comme ça:
Device DMA IRQ I/O Ports ------------------------------------------------ 3Com a400-a47f 8139too 9400-94ff cascade 4 2 Creative 9800-9807 a000-a01f dma 0080-008f dma1 0000-001f dma2 00c0-00df EMU10K1 5 a000-a01f eth0 10 fpu 00f0-00ff ide0 14 01f0-01f7 03f6-03f6 d800-d807 ide1 15 0170-0177 0376-0376 d808-d80f keyboard 1 0060-006f Mouse 12 parport0 0378-037a PCI 0cf8-0cff 9400-94ff pic1 0020-003f pic2 00a0-00bf rtc 8 0070-007f serial 02f8-02ff 03f8-03ff timer 0 0040-005f usb-uhci 11 d000-d01f d400-d41f vesafb 03c0-03df VIA d000-d01f d400-d41f d800-d80f e400-e4ff e800-e80f
La commande lsdev
se base sur le fichier /proc/devices
, essayez :
$ more /proc/devices
et les autres commandes de cet article.
Afin de connaître les caractéristiques de votre processeur :
$ more /proc/cpuinfo
Par exemple cela renvoie :
processor : 0 vendor_id : AuthenticAMD cpu family : 6 model : 4 model name : AMD Athlon(tm) Processor stepping : 2 cpu MHz : 900.044 cache size : 256 KB fdiv_bug : no hlt_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception: yes cpuid level : 1 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 sep mtrr pge mca cmov pat pse36 mmx fxsr syscall mmxext 3dnowext 3dnow bogomips : 1795.68
Pour connaître le pourcentage d'utilisation du processeur :
$ top
Et enfin depuis combien de temps la machine n'a pas redémarré :
$ uptime
Quels sont les IRQs utilisés :
$ procinfo
Voici la partie du résultat qui nous intéresse :
[ ... ] irq 0: 387420 timer irq 10: 0 eth0 irq 1: 9396 keyboard irq 11: 9366 usb-uhci, usb-uhci irq 2: 0 cascade [4] irq 12: 113603 PS/2 Mouse irq 6: 2 irq 14: 6555 ide0 irq 8: 1 rtc irq 15: 2 ide1
Ou pour tous les IRQs possibles :
$ procinfo -i
Par exemple, cela affiche, en plus, les IRQs
3 et 4, les ports série, qui ne sont pas utilisés ici.
La commande procinfo
peut servir pour la mémoire, l'occupation du processeur... Bref, faîtes man procinfo
pour en savoir plus.
Voir la correspondance avec le fichier :
$ more /proc/interrupts
Pour afficher la RAM
et la SWAP
disponibles en Mo
:
$ free -mt
Ce qui donne :
total used free shared buffers cached Mem: 501 118 382 0 2 76 -/+ buffers/cache: 38 462 Swap: 509 0 509 Total: 1011 118 892
GNU/Linux fournit pleins d'informations sur la mémoire (RAM
et SWAP
).
Si ce sujet en particulier vous intéresse, je vous invite à lire Gestion de la mémoire.
Avoir une première idée des cartes PCI et AGP installées :
# scanpci
Personnellement, je préfère :
$ /sbin/lspci
Ce qui retourne :
00:00.0 Host bridge: VIA Technologies, Inc.: Unknown device 0305 (rev 02) 00:01.0 PCI bridge: VIA Technologies, Inc.: Unknown device 8305 00:04.0 ISA bridge: VIA Technologies, Inc. VT82C686 [Apollo Super] (rev 22) 00:04.1 IDE interface: VIA Technologies, Inc. VT82C586 IDE [Apollo] (rev 10) 00:04.2 USB Controller: VIA Technologies, Inc. VT82C586B USB (rev 10) 00:04.3 USB Controller: VIA Technologies, Inc. VT82C586B USB (rev 10) 00:04.4 Host bridge: VIA Technologies, Inc. VT82C686 [Apollo Super ACPI] (rev 30) 00:09.0 Multimedia video controller: Brooktree Corporation Bt878 (rev 11) 00:09.1 Multimedia controller: Brooktree Corporation Bt878 (rev 11) 00:0a.0 Multimedia audio controller: Creative Labs SB Live! EMU10000 (rev 07) 00:0a.1 Input device controller: Creative Labs SB Live! (rev 07) 00:0b.0 Ethernet controller: Unknown device 0001:8139 (rev 10) 01:00.0 VGA compatible controller: nVidia Corporation NV11 (rev a1)
Malgré le nom de la commande, nous pouvons voir que la dernière ligne est ma carte vidéo AGP.
Interrogation : est-ce dépendant de la carte mère et de sa façon de gérer les IRQ ?
Pour avoir plus d'informations sur les cartes :
$ /sbin/lspci -v
Encore plus d'informations sur les cartes ?
$ /sbin/lspci -vv
Pour savoir quelles cartes sont Plug and Play :
$ lspnp
NDR : Cette commande fait partie du paquet pcmcia-cs qui contient aussi d'autres commandes pour le matériel pcmcia. N'ayant pas de tel matériel, je ne les ai pas testées
La première chose, combien de partitions avez-vous sur chaque disque dur, de quel type sont-elles et comment s'appellent-t-elles ?
# /sbin/fdisk -l
Ce qui affiche, par exemple :
Disque /dev/ide/host0/bus0/target1/lun0/disc : 255 têtes, 63 secteurs, 4865 cylindres Unités = cylindres sur 16065 * 512 octets Périphérique Amorce Début Fin Blocs Id Système /dev/ide/host0/bus0/target1/lun0/part1 * 1 62 497983+ 82 Echange Linux /dev/ide/host0/bus0/target1/lun0/part2 63 548 3903795 83 Linux natif /dev/ide/host0/bus0/target1/lun0/part3 549 1156 4883760 83 Linux natif /dev/ide/host0/bus0/target1/lun0/part4 1157 4865 29792542+ 5 Etendue /dev/ide/host0/bus0/target1/lun0/part5 1157 1764 4883728+ 83 Linux natif /dev/ide/host0/bus0/target1/lun0/part6 1765 2250 3903763+ 83 Linux natif /dev/ide/host0/bus0/target1/lun0/part7 2251 2736 3903763+ 83 Linux natif /dev/ide/host0/bus0/target1/lun0/part8 2737 3222 3903763+ 83 Linux natif /dev/ide/host0/bus0/target1/lun0/part9 3223 4865 13197366 83 Linux natif
C'est le retour que l'on obtient avec un système GNU/Linux utilisant Devfs. La vieille norme de nommage est conservée par des liens symboliques, faîtes donc :
$ ls -l /dev/hda* /dev/hdb* /dev/sda* /dev/sdb*
afin de voir la correspondance entre /dev/ide/host0/bus0/target1/lun0/part9
et /dev/hdb9
, par exemple.
Pour vérifier si le DMA est activé pour votre disque dur :
# /usr/sbin/hdparm -d /dev/hda
Ce qui retourne :
/dev/hda: using_dma = 1 (on)
Pour tester les performances de votre cache et de votre disque dur :
# /usr/sbin/hdparm -Tt /dev/hda
Ce qui retourne :
/dev/hda: Timing buffer-cache reads: 128 MB in 0.74 seconds =172.97 MB/sec Timing buffered disk reads: 64 MB in 2.27 seconds = 28.19 MB/sec
Modifiez /dev/hda
en fonction de votre disque dur.
NDR : Pour information, le fichier correspondant aux partitions est /proc/partitions
.
Pour connaître la liste des systèmes de fichiers supportés par votre noyau, faîtes :
$ more /proc/filesystems
Ce qui renvoie :
nodev rootfs nodev bdev nodev proc nodev sockfs nodev tmpfs nodev shm nodev pipefs ext3 ext2 nodev ramfs umsdos msdos vfat iso9660 nodev nfs reiserfs nodev devpts nodev usbdevfs nodev usbfs
NDR : Ce n'est pas vraiment du matériel, car cela dépend de la compilation de votre noyau, mais bon... :-)
Il y a des chances pour qu'à l'installation la Slackware détermine vos lecteurs de CDROMs, DVDs et graveurs. Mais si ce n'est pas le cas, ou si vous souhaitez en savoir plus, voici comment nous pouvons déterminer quel dev il faut monter pour pouvoir utiliser ces lecteurs et graveurs.
Sous /proc/ide
pour les IDE, sinon ce sera /proc/scsi
, vous trouverez un ide1
et un ide2
. Sous ces répertoires vous retrouverez hda, hdb, hdc et/ou hdd
. Et enfin, là, vous trouverez :
media
qui indique si c'est un cdrom, un disque dur ou autreRésultat de la commande cat media
: cdrom
model
qui donne le modèle du média installéRésultat de la commande cat model
: SONY CD-RW CRX140E
/proc/ide/-+-ide1/-+-hda/ | | | `-hdb/ | `-ide2/-+-hdc/-+-media | `-model `-hdd/
Pour voir en une seule fois vos périphériques IDE, faîtes :
$ find /proc/ide -type d -print
Ce qui renvoie :
/proc/ide /proc/ide/ide1 /proc/ide/ide1/hdd /proc/ide/ide1/hdc /proc/ide/ide0 /proc/ide/ide0/hdb /proc/ide/ide0/hda
Ou
$ find /proc/ide -iname "media" -type f -print
Pour savoir si votre graveur est reconnu en tant que graveur, faîtes (obligatoirement en root
) :
Spécifique au noyau 2.4.x :
# cdrecord -scanbus
NDR : Pensez à l'émulation SCSI pour un graveur IDE.
Spécifique au noyau 2.6.x :
# cdrecord dev=ATA -scanbus
NDR : L'émulation SCSI n'est pas nécessaire avec un noyau 2.6.x.
Afin de connaitre vos périphériques USB, vous avez la commande lsusb
:
$ /sbin/lsusb
Retourne :
Bus 002 Device 001: ID 0000:0000 Bus 002 Device 002: ID 04e1:0201 Iiyama North America, Inc. Monitor Hub Bus 002 Device 003: ID 05dc:a400 Lexar Media, Inc. Bus 001 Device 001: ID 0000:0000 Bus 001 Device 002: ID 058f:9360 Alcor Micro Corp.
Pour avoir plus de détail, vous pouvez faire :
$ /sbin/lsusb -v
Hormis cela, vous pouvez consulter le répertoire /proc/bus/usb
.
Enfin, pour tout ce que l'on vient de voir et plus encore, il y a :
$ dmesg | more
Cette commande retourne trop d'informations pour les restituer ici. Mais par exemple, pour savoir comment monter une clé USB, cela aide lorsque vous tombez sur ce genre d'informations :
Spécifique au noyau 2.4.x :
[...] scsi2 : SCSI emulation for USB Mass Storage devices Vendor: LEXAR Model: JUMPDRIVE ELITE Rev: 1000 Type: Direct-Access ANSI SCSI revision: 02 Attached scsi removable disk sde at scsi2, channel 0, id 0, lun 0 SCSI device sde: 502880 512-byte hdwr sectors (257 MB) sde: Write Protect is off sde: sde1 [...]
Comme vous pouvez le deviner, la clé USB en question ici est une Lexar JumpDrive Elite de 256 Mo.
Spécifique au noyau 2.6.x :
Ici avec udev
.
usb 2-1.2: new full speed USB device using uhci_hcd and address 3 ubb: device 3 capacity nsec 502880 bsize 512 ubb: device 3 capacity nsec 502880 bsize 512 ubb: ubb1
J'ai mis ici en gras le block special device (/dev/sde1 ou ubb1
) à utiliser pour la commande mount
.
Toutes ces commandes peuvent vous aider à mieux connaître votre système, mais surtout à le configurer et à l'optimiser.
Comme vous l'avez sûrement remarqué, le répertoire /proc
est très utile ! Sachez que, généralement, les outils s'appuient sur ce répertoire pour vous retourner les informations. Vous ne risquez rien à le parcourir et à faire des less
des fichiers que vous y rencontrerez. En plus, c'est la seule méthode qui marchera sur toutes les distributions.
lshw
est un outil à tout faire pour explorer votre configuration matérielle, il n'est pas fournit en standart sur la Slackware. Vous pourrez le trouver sur LinuxPackages.
Cet outil va vous permettre de synthétiser des informations concernant la mémoire, la version du firmware, la configuration de la carte mère, la version du CPU et sa vitesse, la configuration du cache, la vitesse du bus...
lshw va en fait lire dans tous les fichiers nécessaires (fichiers listés dans le man de l'outil) pour en récupérer les informations nécessaires. Le résultat peut être extrait au format texte, XML ou HTML.
Une des sorties écran le plus simple reprend le modèle de la commande ioscan
qu'on retrouve sur les systèmes HP-UX.
# lshw -short H/W path Device Class Description system MS-6590 /0 bus MS-6590 /0/0 memory BIOS /0/4 processor AMD Athlon(tm) XP 2000+ /0/4/5 memory L1 cache /0/4/6 memory L2 cache /0/1 memory System memory /0/e0000000 bridge VT8377 [KT400/KT600 AGP] Host Bridge /0/e0000000/1 bridge VT8235 PCI Bridge /0/e0000000/1/0 /dev/fb0 display NV17 [GeForce4 MX 440] /0/e0000000/6 eth1 network VT6102 [Rhine-II] /0/e0000000/8 eth0 network RTL-8029(AS)
où
Vous avez également la possibilité d'obtenir une description complète de votre configuration matérielle. Par défaut, le résultat est affiché sur la sortie standard. Pour la conserver il suffit donc de faire une redirection dans un fichier
# lshw > lshw.txt # cat lshw.txt pingu description: Desktop Computer product: MS-6590 vendor: MSI version: 1.0 serial: 00000000 capabilities: smbios-2.3 dmi-2.3 configuration: chassis=desktop *-core description: Motherboard product: MS-6590 vendor: MSI physical id: 0 version: 1.0 serial: 00000000 slot: PCI2 *-firmware description: BIOS vendor: American Megatrends Inc. physical id: 0 version: 07.00T (04/02/01) size: 64KB capacity: 192KB [...]
Enfin lshw propose une option permettant une récupération des informations au format XML et/ou HTML. La commande est simple :
# lshw -html > lshw.html
Il vous suffit alors d'un navigateur pour en visualiser le contenu.
Afin de connaître la version, de votre distribution, sachez qu'il existe souvent un fichier :
/etc/nom-distribution
Il suffit donc de faire un cat
de ce fichier.
Pour la Slackware c'est /etc/slackware-version
Pour connaître le nom de votre machine :
$ hostname
Le nom de la machine, ou hostname, fait partie du paramétrage réseau d'une machine.
La version de votre noyau actuel est obtenue ainsi :
$ uname -r
Pour connaître la configuration actuelle du noyau :
.config
de votre noyau# cd /usr/src/linux && make oldconfig
pour récupérer votre configuration actuelle. (c.f. Trucs et Astuces d'Anne sur Léa-linux)Maintenant, vous avez deux solutions pour lire la configuration de votre noyau :
# make xconfig
ou alors avec : # make menuconfig
, le tout en étant sous /usr/src/linux
.
Attention à ne pas sauver !
Tout d'abord, tous les modules se trouvent sous :
/lib/modules/version-du-noyau
Pour avoir une idée des modules à charger, vous pouvez utiliser les commandes sur les périphériques expliquées dans ce document. Sinon allez dans le répertoire :
/usr/src/linux/Documentation
et cherchez sans oublier les sous-répertoires. En particulier, lisez le fichier modules.txt
.
Pour avoir de plus amples informations sur un module particulier, et donc sur un driver, faîtes :
$ /sbin/modinfo nom-module
Pour savoir quels sont les modules chargés en mémoire :
$ /sbin/lsmod
Exemple concret, pour savoir si le module d'émulation SCSI du graveur est chargé :
$ /sbin/lsmod | grep ide-scsi
Pour savoir si vous avez besoin de recompiler les modules du noyau afin d'avoir l'émulation :
$ find /lib/modules/`uname -r` -iname "ide-scsi*" -print
Cet exemple concret concerne les noyaux 2.4.x, mais la méthode est bien entendue toujours valide avec un noyau 2.6.x.
Il existe de nombreux outils pour gérer les services sur un système GNU/Linux. Mais ces outils dépendent beaucoup de la distribution, si elle est SysV
ou BSD
-like et si elle utilise inetd
ou xinetd
. Aujourd'hui les principales distributions sont SysV
et utilisent xinetd
sauf la Slackware.
Le système d'initialisation de la Slackware est assez simple à comprendre. C'est un mixte entre le système V et le système BSD. Pour activer ou désactiver un service il suffit d'aller sous le répertoire /etc/rc.d
et de changer les droits d'éxécutions du ficher rc.<votre-service>
.
Pour savoir quel processus est le processus père de quel(s) autre(s) :
$ pstree -ph
Ce qui affiche cet arbre :
init(1)-+-agetty(96) |-devfsd(14) |-eth0(73) |-gvim(319) |-inetd(85) |-kapmd(3) |-kdm(97)-+-X(99) | `-kdm(100)--icewm(111)-+-rxvt.bin(125)--bash(127)--pstree(349) | `-sylpheed(205) |-keventd(2) |-khubd(52) |-klogd(83) |-mdrecoveryd(9) |-modem_run(158) |-pppd(160)---pppoa2(162)---pppoa2(165) `-syslogd(80)
Nous avons donc sous les yeux tous les processus du système avec leur PID
( Process IDentifier ) sous une forme nous permettant de comprendre qui est dépendant de qui. En conséquence, cela permet aussi de mieux comprendre le système et de voir ce qui tourne.
Spécifique à XFree86 :
Pour connaître la version :
$ /usr/X11R6/bin/XFree86 -version
Afin de mieux connaître votre configuration graphique, éditez en lecture le fichier :
/etc/X11/XF86Config-4
Si vous ne possédez pas ce fichier, ou pour une version de XFree86 antérieure aux versions 4 :
/etc/X11/XF86Config
Spécifique à Xorg :
Pour connaître la version :
$ /usr/X11R6/bin/Xorg -version
Afin de mieux connaître votre configuration graphique, éditez en lecture le fichier :
/etc/X11/xorg.conf
Pour connaitre la résolution actuelle :
$ /usr/X11R6/bin/xvidtune -show
Ce qui retourne :
"1152x864" 85.00 1152 1216 1344 1600 864 865 868 900 -hsync -vsync
Cette commande, sans arguments, vous permettra aussi d'affiner votre résolution.
Pour en savoir plus sur la configuration du serveur X :
$ /usr/X11R6/bin/xdpyinfo
Ce qui retourne :
name of display: :0.0 version number: 11.0 vendor string: The X.Org Foundation vendor release number: 60801000 X.Org version: 6.8.1 maximum request size: 16777212 bytes motion buffer size: 256 bitmap unit, bit order, padding: 32, LSBFirst, 32 image byte order: LSBFirst number of supported pixmap formats: 7 [...]
J'ai coupé car cela renvoie trop d'informations pour être affichées ici.
Pour avoir la liste des bibliothèques installées figurant dans les répertoires :
/usr/lib
/lib
/etc/ld.so.conf
Faîtes :
$ /sbin/ldconfig -p
Mais pour savoir si la bibliothèque libc.so
est installée, faîtes plutôt :
$ /sbin/ldconfig -p | grep -i libc.so
Ce qui a pour résultat :
libc.so.6 (libc6, OS ABI: Linux 2.0.0) => /lib/libc.so.6
Pour déterminer la version d'une bibliothèque installée, cela peut se révéler compliqué...
Voici quelques méthodes que je connais :
$ cd / && find . -iname "*config*" -type f -print | grep -i bin
, vous retournera une liste d'exécutables de configuration. Il ne reste plus qu'à trouver celui qui semble correspondre, faire un man
et à essayer : exécutable --version
.so
(cherchez le véritable .so
, pas le lien symbolique).$ ls -l /var/log/packages
.release-note
de la version.$ ldd -v nom-exécutable ou nom-bibliothèque
donne des informations de version mais je ne suis pas sûr de les comprendre...NDR : Le terme library est souvent abusivement traduit par "librairie" au lieu de "bibliothèque". Je lui préfère ce dernier, sachez simplement qu'il s'agit de la même chose.
Pour savoir si un logiciel est installé, il y a les outils en relation les packages, tel que # pkgtool
. Mais si vous prenez l'habitude d'installer à partir des sources, ces outils ne marchent plus. Donc les solutions universelles sont :
$ cd / && find . -iname "*nom-du-logiciel*" -type f -print
Ou
$ locate nom-du-logiciel
En général, pour connaître la version d'un logiciel, il suffit de faire :
$ exécutable-du-logiciel --version
Ou
$ exécutable-du-logiciel -v
Pour savoir, quelles bibliothèques un exécutable utilise ou dont il a besoin :
$ ldd exécutable
Par exemple :
$ ldd `which sylpheed`
Retourne :
libgmodule-1.2.so.0 => /opt/gnome/lib/libgmodule-1.2.so.0 (0x40017000) libglib-1.2.so.0 => /opt/gnome/lib/libglib-1.2.so.0 (0x4001a000) libdl.so.2 => /lib/libdl.so.2 (0x40046000) libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x4004a000) libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x40058000) libm.so.6 => /lib/libm.so.6 (0x40131000) libgdk_pixbuf.so.2 => /opt/gnome/lib/libgdk_pixbuf.so.2 (0x40154000) libgtk-1.2.so.0 => /opt/gnome/lib/libgtk-1.2.so.0 (0x40168000) libgdk-1.2.so.0 => /opt/gnome/lib/libgdk-1.2.so.0 (0x4028d000) libgpgme.so.6 => /usr/local/lib/libgpgme.so.6 (0x402bf000) libssl.so.0 => /usr/lib/libssl.so.0 (0x402d5000) libcrypto.so.0 => /usr/lib/libcrypto.so.0 (0x4038b000) libc.so.6 => /lib/libc.so.6 (0x4044b000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
NDR : J'ai utilisé la commande ldd `which sylpheed`
car ldd
n'utilise pas le PATH
, donc il faut lui donner le chemin d'accès de l'exécutable. Ce que fait which sylpheed
pour l'exemple.
uname -r
gcc --version
XFree86 -version
Xorg -version
kde-config --version
gnome-config --version
, glib-config --version
, gtk-config --version
,gtkmm-config --version
wmaker --version
fluxbox -version
enlightenment --version
/lib/libc.so.6
openssl version
gpg --version
vi --version
A compléter vous-même... ;-)
Comme pour le matériel, ce qui précède peut vous aider... Mais pour les logiciels la tâche est plus compliquée car beaucoup d'éléments entrent en considération comme : la distribution, le système de paquetage, la hiérarchie du système de fichiers...
J'espère que vous avez appris quelque chose et que cela vous sera utile.
N'hésitez pas à m'envoyer vos remarques.
Thèmes : #administration #articles #jonesy #logiciels #materiel #noyau #xfree86 #xwindow
Sauf indication contraire, ce document est placé sous licence CC-BY-SA 3.0.