Table des matières

,

Diagnostic outil

Bien souvent, pour régler les problèmes liés à une incompatibilité de votre matériel ou un mauvais réglage, il faut utiliser un Terminal

Quelle horreur pour le novice qui se retrouve devant un curseur qui clignote ! Mais rassurez-vous, si vous lisez cette documentation, vous aurez tous les outils nécessaires pour débuter une excellente expérience.

Le Terminal sera votre outil principal de diagnostic.

Cette documentation est le prolongement logique de la documentation diagnostic.

Toutes ces informations sont présentes avec un man ( syntaxe : man <nom de la commande> ) dans un terminal. Le man vous donnera aussi toutes les options disponibles. Avec un peu de chance, elles seront en français.

Environnement de diagnostic : Le Terminal

Une ligne de commande est un texte, que l'on tape, ou copie-colle dans un Terminal (Applications→Accessoires→Terminal) et que l'on exécute en tapant sur la touche Entrée du clavier.

La ligne de commande est souvent utilisée dans le wiki de la documentation, non pas parce qu'il est impossible de faire sans, mais simplement car il est plus simple de copier-coller des lignes dans un terminal que de décrire un à un tous les boutons sur lesquels on doit cliquer sur une interface graphique…

Le seul problème c'est que le débutant ne sait pas vraiment à quoi servent les différentes lignes de commandes qu'il copie-colle.

Pour apprendre à quoi servent les différentes commandes, commande basique

Pour encore plus de commandes cette page est disponible.

Exécuter le programme dans un terminal va le rendre plus loquace que d'habitude. En général les erreurs s'affichent mais il arrive que certains demandent une options débogage ( -d ). Pour cela faites:

Pour voir les options disponibles :

man <nom du programme>

L'option s'appelle en général debug : <nom_du_programme> --debug ou -d

Par exemple :

Lancer rhythmbox avec un terminal va vous exécuter rhythmbox mais sans la fonction debug ( afficher les messages d'erreurs ), il faut donc ajouter -d pour avoir la fonctionnalité "debug".

rhythmbox -d

Clavier, dis-moi quelles sont tes possibilités !

Et oui, vous novice, vous ne connaissez pas toutes les fonctionnalités d'un clavier. C'est l'outil principal, l'interface ultime. Elle était présente dans les tout premiers ordinateurs, et elle sera là jusqu'à la fin ! Un des soucis des novices, c'est de ne pas savoir comment reproduire certaines commandes ou raccourcis présents dans les documentations et citées par des utilisateurs du forum.

Raccourcis

Voir sur la page dédiée.

Commandes

Alors voyons un peu :

ls | echo 

Comment s'appelle la barre verticale au milieu de "ls" et de "echo" ?
Comment vous dites, un L minuscule ? Perdu !! c'est un "pipe" c'est-à-dire une commande qui permet de diriger la sortie de la commande ls dans l'entrée de la commande echo.

Pour le reproduire AltGr + <la touche 6 du pavé alphanumérique> (pour les claviers français) ou AltGr + <la touche 1 du pavé alphanumérique> (pour les claviers belges).

Sur les claviers français ce serait plutôt AltGr + -.
echo `ls ~/`

Comment reproduirez-vous ces espèces de guillemets ?

Comme ca ? ' '

Eh ben non touche spéciale !!

Elles servent à exécuter par un ordre préférentiel, des morceaux de codes avant d'autres.

Pour reproduire : AltGr + <la touche 7 du pavé alphanumérique> (pour les claviers français) ou AltGr + <la touche µ> (pour les claviers belges). Cette manipulation est à faire 2 fois pour que le caractère apparaisse.

Sur les claviers français ce serait plutôt AltGr + è.

Enfin pour avoir un minimum de connaissances sur les commandes les plus basiques et les plus faciles à connaître et à utiliser, je vous encourage vivement à lire cette documentation : console_ligne_de_commande

Commençons par vous prévenir d'un danger

Les outils dont je dispose

Tous ces outils sont des clefs que vous devriez connaître si vous voulez comprendre votre système et résoudre (plus) facilement les problèmes de votre PC sous GNU/Linux. Ces outils peuvent être combinés entre eux dans des scripts, ou utilisés par des programmes.

L'utilisation de la ligne de commande sous GNU/Linux est une méthode qui est très facile d'accès mais très peu connue. Chaque service étant accessible par une commande bien précise avec énormément d'options ce qui permet d'affiner un diagnostic. Malheureusement ces commandes n'ont pas d'interface donc elles ne sont pas disponibles par des clics. Il vous faudra donc vous renseigner sur cette page , avec la commande man ou sur des moteurs de recherche.

Les commandes étant particulièrement riches en informations, il vous sera souvent demandé de les utiliser si vous demandez de l'aide sur le forum, pour connaître les caractéristiques votre configuration.

Voici une première liste qui permet d'avoir toutes les informations nécessaires sur votre matériel et sur votre système :

lspci
lsusb
lscpu
lsmod
sudo lshw 
inxi -Fxz # specs de la machine
ip
iwconfig
iwlist scan
cat  /etc/network/interfaces
lsb_release -a ; echo $DESKTOP_SESSION
uname -r -m
cat /etc/X11/xorg.conf
lsblk -o name,fstype,size,fsused,fsuse%,fsavail,label,mountpoint | grep -Ev "loop" # liste des partitions
cat /etc/fstab
cat /etc/apt/sources.list | egrep -v "(^#.*|^$)" # pour voir les commentaires enlever le egrep
apt-cache policy | grep http | awk '{print $2 $3}' | sort -u # sources avec PPA actifs
find /etc/apt -name '*.list' -exec bash -c 'echo -e "\n$1\n"; nl -ba "$1"' _ '{}' \;
cat /boot/grub/grub.cfg 
awk -F'[/:]' '{if ($3 >= 1000 && $3 != 65534) print $1}' /etc/passwd # liste les utilisateurs
grep -oP '},"name":"\K[^"]+' ~/.mozilla/firefox/*.*default*/addons.json # liste des modules Firefox
sudo smartctl -s on -a /dev/sda # pour vérifier l'état du 1er disque interne
tail -n 10 /var/log/syslog # Derniers Log du système
sudo dmesg | tail -n 10 # Derniers Log du noyau
sudo apt update && sudo dpkg --configure -a && sudo apt-get install -fy && sudo apt-get autoclean && sudo apt-get autoremove --purge -y && sudo apt full-upgrade -y
sudo dpkg -l | grep ^..R # liste des paquets à problème
sudo dpkg --purge --force-all NomDuPaquet # suppression des paquets à problème
Attention toutefois : La commande sudo permet d'obtenir des informations en mode administrateur. Utilisées seules, vous ne risquez absolument rien. En revanche, si elles sont liées à d'autres commandes, elle peuvent altérer votre système. À titre d'exemple inoffensif, la suite de commande arrête votre connexion Wifi :
sudo modprobe -r ndiswrapper
Plus d'informations sur les versions des logiciels et du matériel directement accessibles via votre navigateur :
sudo lshw -html >MyGNULinuxBox.html

Noyau Linux

Avec les commandes

Les fichiers dont je dispose

Matériel et Périphérique

Avec les commandes

Avec une interface

sysinfo

Installez le paquet sysinfo.

device manager

Il y a également gnome-device-manager qui est beaucoup plus complet que sysinfo.

Pour l'installer : gnome-device-manager
gnome-device-manager

Avec une interface et benchmark

hardinfo

Pour l'installer : hardinfo
hardinfo

Pour plus d'information, consultez la page dédiée à hardinfo.

Réseaux

Avec les commandes

Informations recueillies : Questions à se poser :
Nom du réseau: Neuf Wifi est-ce que je capte bien mon réseau ? est-ce que la diffusion du nom du réseau est activée ?
Protocole : 802.11gest-ce que ma carte Wifi est compatible 802.11g ??
Qualité du signal reçu -93dbmest-ce que je suis trop loin de la source ? (au delà de 85 dbm il ne faut pas réver !
Encryption key = Cryptage configuré (aucun, wep, wpa …)est-ce que ma carte est configurée correctement ? cryptage ? Clé identique entre le routeur et la carte ?

Les fichiers dont je dispose

Avec une interface

Les fichier de Log

Ce sont des fichiers situés dans le répertoire /var/log

Avec une commande

Avec une interface

ou (avec interface Gnome)

Durée du démarrage

Mesurer le démarrage du système :

Processus

Avec les commandes

Avec une interface

Les touches magiques

Voir la documentation

Que faire lorsque le systeme gèle

Voir la documentation dédiée

Récupérer des données effacées ou endommagées (partition, CDROM, Clé USB : Flash )

Voir la documentation dédiée.

Le diagnostic qui peut vous être demandé de poster dans le forum

Vérifier l'espace occupé par la partition de boot

Faites un copier des commandes suivantes:

echo;echo;echo '[code]uname -a'; uname -a;\
echo '[/code][code]df -Th | grep -Ev "evpts|none|proc|sys|tmpfs|udev|loop" && echo && df -Ti | "devpts|none|proc|sys|tmpfs|udev|loop" ' ;\
df -Th | grep -Ev "devpts|none|proc|sys|tmpfs|udev|loop" && echo && df -Ti | grep -Ev "devpts|none|proc|sys|tmpfs|udev|loop" ;\
echo  '[/code][code]dpkg -l | grep -Ei "linux-(g|h|i|lo|si|t)" | sort -k3 | tr -s " " | cut -d" " -s -f1,2,3 | column -s" " -t ' ;\
dpkg -l | grep -Ei "linux-(g|h|i|lo|si|t)" | sort -k3 | tr -s " " | cut -d" " -s -f1,2,3 | column -s" " -t ;\
echo  '[/code][code]ls -AsS1 /boot' ; ls -AsS1 /boot ; echo '[/code]' 

Collez-les dans le terminal, exécutez-les, faites un "copier" de résultat et collez-le dans la discussion en cours.

Vérifier l'espace disque

Faites un copier des commandes suivantes:

echo;echo;echo "[code]df -lh --type ext4"; df -lh --type ext4;\
echo "[/​code][code]df -li --type ext4" ; df -li --type ext4 ;\
echo "[/​code][code]du -xm /boot | sort -nr | head -5"; du -xm /boot | sort -nr | head -5 ;\
echo "[/​code][code]sudo du -xm /var/log | sort -nr  | head -5" ​; sudo du -xm /var/log| sort -nr  | head -5 ;\
echo "[/​code][code]ls -AsS1 /var/log | head -15" ;ls -AsS1 /var/log | head -15 ;\
echo "[/​code][code]sudo du /home/$USER -xam --max-depth=1 2>/dev/null | sort -n | tail";sudo du /home/$USER -xam --max-depth=1 2>/dev/null | sort -n | tail ;\
echo "[/​code][code]sudo du / -xam --max-depth=1 2>/dev/null | sort -n | tail";sudo du / -xam --max-depth=1 2>/dev/null | sort -n | tail ;\
echo "[/code]"

Collez-les dans le terminal, exécutez-les, faites un "copier" de résultat et collez-le dans la discussion en cours.

Lister les dépôts présents.

Faites un copier des commandes suivantes:

echo;echo;echo '[code]cat /etc/apt/sources.list | grep "^[^#]" '; cat /etc/apt/sources.list | grep "^[^#]";\
echo "[/code][code]ls -l /etc/apt/sources.list.d " ; ls -l /etc/apt/sources.list.d;\
echo "[/code]" 

Collez-les dans le terminal, exécutez-les, faites un "copier" de résultat et collez-le dans la discussion en cours.

Ubuntu met beaucoup de temps à s'arrêter.

Au démarrage d'après, faites un copier des commandes suivantes:

echo;echo;echo "[code]grep -E 'Stopping D-Bus|Started Availability' /var/log/syslog "; grep -E 'Stopping D-Bus|Started Availability' /var/log/syslog;\
echo "[/code][code]sed -n '/Stopping D-Bus/,/Started Availability/p' /var/log/syslog " ; sed -n '/Stopping D-Bus/,/Started Availability/p' /var/log/syslog;\
echo "[/code][code]grep -E 'Stopping D-Bus|Started Availability' /var/log/syslog.1 "; grep -E 'Stopping D-Bus|Started Availability' /var/log/syslog.1;\
echo "[/code][code]sed -n '/Stopping D-Bus/,/Started Availability/p' /var/log/syslog.1 " ; sed -n '/Stopping D-Bus/,/Started Availability/p' /var/log/syslog.1;\
echo "[/code]" 

Collez-les dans le terminal, exécutez-les, faites un "copier" de résultat et collez-le dans la discussion en cours.

Liste des applications ajoutées

Toutes les applications ajoutées par l'utilisateur, issues des dépôts (officiels et non officiels) ou non :

grep -vxf <(gzip -dc /var/log/installer/initial-status.gz | sed -n 's/^Package: //p') <(apt-mark showmanual)

Uniquement les applications ajoutées par l'utilisateur hors dépôts :

apt-show-versions | awk -F':' '/No available version in archive/{print $1}'

Uniquement les applications ajoutées par l'utilisateur depuis les dépôts :

grep -vxf <(gzip -dc /var/log/installer/initial-status.gz | sed -n 's/^Package: //p') -f <(apt-show-versions | awk -F':' '/No available version in archive/{print $1}') <(apt-mark showmanual)

Voir aussi


Contributeurs : yurek. forum : https://forum.ubuntu-fr.org/viewtopic.php?pid=1315183