Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
diagnostic_outil [Le 28/12/2017, 13:58]
LukePerp [Les outils dont je dispose]
diagnostic_outil [Le 12/11/2023, 15:59] (Version actuelle)
Amiralgaby [obsolescence de la commande ifconfig] passage de "ifconfig" à "ip"
Ligne 7: Ligne 7:
 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]]… 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 ! +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. Mais rassurez-vous,​ si vous lisez cette documentation,​ vous aurez tous les outils nécessaires pour débuter une excellente expérience.
  
Ligne 14: Ligne 14:
 <note tip>​Cette documentation est le prolongement logique de la documentation [[diagnostic]].</​note>​ <note tip>​Cette documentation est le prolongement logique de la documentation [[diagnostic]].</​note>​
  
-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.+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 ===== ===== Environnement de diagnostic : Le Terminal =====
Ligne 20: Ligne 20:
 Une ligne de commande est un texte, que l'on tape, ou copie-colle dans un [[:​terminal|Terminal]] (**Applications->​Accessoires->​Terminal**) et que l'on exécute en tapant sur la touche **Entrée** du clavier. Une ligne de commande est un texte, que l'on tape, ou copie-colle dans un [[:​terminal|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/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...+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. 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.
Ligne 33: Ligne 33:
 <​code>​man <nom du programme></​code>​ <​code>​man <nom du programme></​code>​
  
-L'​option s'​appelle en général debug : +L'​option s'​appelle en général debug :
 <​nom_du_programme>​ %%--%%debug ou -d <​nom_du_programme>​ %%--%%debug ou -d
  
Ligne 54: Ligne 54:
 === Commandes === === Commandes ===
  
-Alors voyons un peu : +Alors voyons un peu :
  
 <​code>​ls | echo </​code>​ <​code>​ls | echo </​code>​
Ligne 98: Ligne 98:
 lscpu lscpu
 lsmod lsmod
-sudo lshw +sudo lshw  
-ifconfig+inxi -Fxz # specs de la machine 
 +ip
 iwconfig iwconfig
 iwlist scan iwlist scan
 cat  /​etc/​network/​interfaces cat  /​etc/​network/​interfaces
-cat /etc/lsb-release +lsb_release ​-a ; echo $DESKTOP_SESSION
-echo $DESKTOP_SESSION+
 uname -r -m uname -r -m
 cat /​etc/​X11/​xorg.conf cat /​etc/​X11/​xorg.conf
-sudo lsblk -o name,​fstype,​size,​label,​mountpoint+lsblk -o name,​fstype,​size,​fsused,​fsuse%,​fsavail,​label,​mountpoint ​| grep -Ev "​loop"​ # liste des partitions
 cat /etc/fstab cat /etc/fstab
-cat /​etc/​apt/​sources.list ​# sans les commentaires ajouter: ​| egrep -v "​(^#​.*|^$)"​+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 ​ 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
 </​code>​ </​code>​
  
Ligne 142: Ligne 152:
 === Avec les commandes === === Avec les commandes ===
  
 +  * **inxi -Fz** résultats humainement lisible de toutes les caractéristiques de la machine.
   * **lsusb** liste tous les périphériques USB branchés sur votre ordinateur.   * **lsusb** liste tous les périphériques USB branchés sur votre ordinateur.
   * **lspci** est un utilitaire qui permet d'​afficher des informations sur tous les bus PCI et le système et tous les périphériques qui y sont connectés.   * **lspci** est un utilitaire qui permet d'​afficher des informations sur tous les bus PCI et le système et tous les périphériques qui y sont connectés.
Ligne 175: Ligne 186:
 === Avec les commandes === === Avec les commandes ===
  
-  * **ifconfig** permet de configurer une interface réseau (EthernetWifi) les actions les plus courantes étant de configurer l'IP, activer ou désactiver l'​interface. +  * **ip** permet de consulter/​manipuler les routesinterfacesréseaux et tunnels du système.
-  * **route** ( add -net default gw <​IPpasserelle>​ ) permet d'​ajouter une route/​passerelle par défaut+
   * **dhclient** permet de lancer une requête dhcp afin de récupérer des paramètres IP auprès du serveur dhcp.   * **dhclient** permet de lancer une requête dhcp afin de récupérer des paramètres IP auprès du serveur dhcp.
   * **iwconfig** permet de configurer (en dehors des paramètres IP) les caractéristiques d'une connexion Wifi (nom de la borne associée, puissance du signal émis, clé WEP / WPA...). Cette commande permet aussi de voir si son matériel est reconnu par le système d'​exploitation.   * **iwconfig** permet de configurer (en dehors des paramètres IP) les caractéristiques d'une connexion Wifi (nom de la borne associée, puissance du signal émis, clé WEP / WPA...). Cette commande permet aussi de voir si son matériel est reconnu par le système d'​exploitation.
Ligne 205: Ligne 215:
  
   * **/​etc/​network/​interfaces** : Ce fichier permet de configurer automatiquement une connexion (réseau internet, local, intranet). C'est LE fichier à consulter en cas de problèmes de connexion. En général il ne contient que les deux lignes de l'​interface loopback (lo).   * **/​etc/​network/​interfaces** : Ce fichier permet de configurer automatiquement une connexion (réseau internet, local, intranet). C'est LE fichier à consulter en cas de problèmes de connexion. En général il ne contient que les deux lignes de l'​interface loopback (lo).
-  * **/​etc/​resolv.conf** : Ce fichier contient l'IP et le domaine du DNS du réseau connecté. ​+  * **/​etc/​resolv.conf** : Ce fichier contient l'IP et le domaine du DNS du réseau connecté.
  
 === Avec une interface === === Avec une interface ===
Ligne 216: Ligne 226:
 Ce sont des fichiers situés dans le répertoire /var/log Ce sont des fichiers situés dans le répertoire /var/log
  
-=== Avec les commandes ​=== +=== Avec une commande ​=== 
- +  * **sudo dmesg** affiche les logs du système sur le matériel et périphérique,​ leur état de fonctionnement...
-  * **dmesg** affiche les logs du système sur le matériel et périphérique,​ leur état de fonctionnement... +
-  * **sudo systemd-analyze critical-chain** affiche la durée du démarrage en arborescence ​+
  
 === Avec une interface === === Avec une interface ===
Ligne 226: Ligne 234:
   * //Outils Système → Journaux Système//   * //Outils Système → Journaux Système//
  
 +==== Durée du démarrage ====
 +
 +Mesurer le démarrage du système :
 +
 +  * **sudo dmesg** affiche les logs et la dernière ligne affichées donne le temps depuis le démarrage du système.
 +  * **sudo systemd-analyze** affiche la durée de démarrage du système, sans détail.
 +  * **sudo systemd-analyze blame** affiche la durée des processus lors du démarrage.
 +  * **sudo systemd-analyze critical-chain** affiche la durée des processus en arborescence lors du démarrage.
  
 ==== Processus ==== ==== Processus ====
Ligne 231: Ligne 247:
 === Avec les commandes === === Avec les commandes ===
  
-  * **ps** permet de lister tous les processus qui tournent sur le système, ​+  * **ps** permet de lister tous les processus qui tournent sur le système,
   * **kill** permet de tuer un processus dans "les règles de l'​art"​ (avec l'​option -9 suivis du PID du processus), cette commande est très utile si vous n'avez pas d'​interface graphique.   * **kill** permet de tuer un processus dans "les règles de l'​art"​ (avec l'​option -9 suivis du PID du processus), cette commande est très utile si vous n'avez pas d'​interface graphique.
   * **pidof** permet de récupérer directement le pid d'un processus, il est souvent combiné avec kill : kill -9 `pidof nautilus` (tue le processus nautilus grâce à son pid), cependant ​ killall peut remplacer cette commande barbare.   * **pidof** permet de récupérer directement le pid d'un processus, il est souvent combiné avec kill : kill -9 `pidof nautilus` (tue le processus nautilus grâce à son pid), cependant ​ killall peut remplacer cette commande barbare.
Ligne 254: Ligne 270:
 Voir la [[tutoriel/​comment_recuperer_ses_partitions|documentation dédiée]]. Voir la [[tutoriel/​comment_recuperer_ses_partitions|documentation dédiée]].
  
-===== Voir aussi =====+===== 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: <​code>​ 
 +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]'​  
 +</​code>​ Collez-les dans le terminal, exécutez-les,​ faites un "​copier"​ de résultat et collez-le dans la discussion en cours.
  
-depmodksyms+==== Vérifier l'​espace disque ==== 
 +Faites un copier des commandes suivantes:​ 
 +<​code>​ 
 +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]"​ 
 +</​code>​ 
 +Collez-les dans le terminalexé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:​ 
 +<​code>​ 
 +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]"​  
 +</​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:​ 
 +<​code>​ 
 +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]"​  
 +</​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 : 
 +<​code>​grep -vxf <(gzip -dc /​var/​log/​installer/​initial-status.gz | sed -n '​s/​^Package:​ //p') <​(apt-mark showmanual)</​code>​ 
 +Uniquement les applications ajoutées par l'​utilisateur hors dépôts : 
 +<​code>​apt-show-versions | awk -F':'​ '/No available version in archive/​{print $1}'</​code>​ 
 +Uniquement les applications ajoutées par l'​utilisateur depuis les dépôts : 
 +<​code>​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)</​code>​ 
 +===== Voir aussi =====
  
 ---- ----
 //​Contributeurs : yurek.// //​Contributeurs : yurek.//
-//forum : http://​forum.ubuntu-fr.org/​viewtopic.php?​pid=1315183 //+//forum : https://​forum.ubuntu-fr.org/​viewtopic.php?​pid=1315183 //
  • diagnostic_outil.1514465902.txt.gz
  • Dernière modification: Le 28/12/2017, 13:58
  • par LukePerp