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.
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.
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
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.
Voir sur la page dédiée.
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).
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.
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
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
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
sudo lshw -html >MyGNULinuxBox.html
sudo modprobe -r <nom_du_module>
blacklist <nomdumodule>
Il y a également gnome-device-manager qui est beaucoup plus complet que sysinfo.
Pour l'installer : gnome-device-manager
eth0 no wireless extensions.
C'est que votre matériel n'est pas reconnu !
Cell 01 - Address: xx.xx.xx.xx.xx ESSID:"Neuf WiFi" Protocol:IEEE 802.11g Mode:Managed Frequency:2.462 GHz (Channel 11) Quality:4/100 Signal level:-93 dBm Noise level:-96 dBm Encryption key:off Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 18 Mb/s 24 Mb/s; 36 Mb/s; 54 Mb/s; 6 Mb/s; 9 Mb/s 12 Mb/s; 48 Mb/s Extra:bcn_int=100 Extra:atim=0
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.11g | est-ce que ma carte Wifi est compatible 802.11g ?? |
Qualité du signal reçu -93dbm | est-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 ? |
Ce sont des fichiers situés dans le répertoire /var/log
ou (avec interface Gnome)
Mesurer le démarrage du système :
Voir la documentation dédiée.
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.
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.
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.
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.
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)
Contributeurs : yurek. forum : https://forum.ubuntu-fr.org/viewtopic.php?pid=1315183