Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
diagnostic_outil [Le 10/04/2016, 20:17] 90.31.60.132 [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 |
uname -r -m | uname -r -m | ||
cat /etc/X11/xorg.conf | 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/fstab | ||
- | cat /etc/apt/sources.list | + | 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 138: | Ligne 150: | ||
==== Matériel et Périphérique ==== | ==== Matériel et Périphérique ==== | ||
- | |||
=== 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 148: | Ligne 160: | ||
== sysinfo == | == sysinfo == | ||
+ | [[:tutoriel:comment_installer_un_paquet|Installez le paquet]] **[[apt>sysinfo|sysinfo]]**. | ||
- | * //Système → Préférence → Information sur le matériel// | + | {{sysinfo.png?450|}} |
- | + | ||
- | <note> | + | |
- | Ce raccourci n'existe plus sous Hardy, mais après avoir [[:tutoriel:comment_installer_un_paquet|installé le paquet]] **[[apt>sysinfo|sysinfo]]** on obtient quand même quelques informations en cliquant sur //Applications → Outils système → Sysinfo//, ou en tapant **sysinfo** dans un terminal… | + | |
- | </note> | + | |
- | + | ||
- | {{sysinfo.png|}} | + | |
== device manager == | == device manager == | ||
- | |||
- | * //Application → Outils système → Device Manager// | ||
Il y a également gnome-device-manager qui est beaucoup plus complet que sysinfo. | Il y a également gnome-device-manager qui est beaucoup plus complet que sysinfo. | ||
Pour l'installer : **[[apt>gnome-device-manager|gnome-device-manager]]** | Pour l'installer : **[[apt>gnome-device-manager|gnome-device-manager]]** | ||
- | |||
- | ou en mode console : | ||
- | <code>sudo apt-get install gnome-device-manager</code> | ||
- | |||
\\ | \\ | ||
- | {{:gnome-device-manager.png|gnome-device-manager}} | + | {{:gnome-device-manager.png?450|gnome-device-manager}} |
=== Avec une interface et benchmark=== | === Avec une interface et benchmark=== | ||
== hardinfo == | == hardinfo == | ||
- | |||
- | * //Programmes → Outils Système → System Profiler and Benchmark// | ||
Pour l'installer : **[[apt>hardinfo|hardinfo]]** | Pour l'installer : **[[apt>hardinfo|hardinfo]]** | ||
- | |||
- | ou en mode console : | ||
- | <code> | ||
- | sudo apt-get install hardinfo | ||
- | </code> | ||
- | |||
\\ | \\ | ||
- | {{:hardinfo.png|hardinfo}} | + | {{:hardinfo.png?450|hardinfo}} |
- | Pour plus d'information, consultez la page dédiée à **[[:hardinfo|hardinfo]]**. | + | Pour plus d'information, consultez la page dédiée à **[[:hardinfo]]**. |
==== Réseaux ==== | ==== Réseaux ==== | ||
Ligne 193: | Ligne 186: | ||
=== Avec les commandes === | === Avec les commandes === | ||
- | * **ifconfig** permet de configurer une interface réseau (Ethernet, Wifi) , les actions les plus courantes étant de configurer l'IP, activer ou désactiver l'interface. | + | * **ip** permet de consulter/manipuler les routes, interfaces, ré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 223: | 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 234: | 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... | + | |
=== Avec une interface === | === Avec une interface === | ||
Ligne 243: | 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 248: | 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 271: | 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. | ||
- | depmod, ksyms | + | ==== 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 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: | ||
+ | <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 // |