====== Écran noir - manuel de survie ======
* Objet : Comment se tirer d'affaire en cas de plantage suite à écran noir.
* Niveau requis : FIXME {{tag>débutant avisé}}
* Commentaires : //Contexte d'utilisation du sujet du tuto. // FIXME
* Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-)
===== 1 - Introduction =====
Suite à une installation de Débian qui a mal tourné pour des raisons diverses; au redémarrage de la machine : écran noir.
Pas d’autre possibilité que d’utiliser une console et rien d’autre, pour réparer son OS.\\
La solution consistera souvent à introduire des lignes de commandes bien trop fastidieuses a taper directement dans un terminal. On va utiliser une boucle **while** qui permettra de copier les lignes contenues dans un texte se trouvant dans une clef USB.
===== 2 - Rappel des lignes de commande élémentaires utilisées =====
**__Cd pour se déplacer d'un répertoire à l'autre.__** Exemple : Aller dans /media (on se trouve dans jean)\\
jean$ cd /media
Résultat :
jean/media $
**__Cd .. pour reculer d'un répertoire.__** Exemple : Revenir dans /jean$
On se trouve dans : jean /media$
jean/media$ cd ..
Résultat :
jean /$
**__Pour voir ce qu'il y a dans /media :__**\\
/media$ ls
**__Supprimer un répertoire vide__**. Exemple : mon-repertoire-vide dans : jean$ mon-repertoire-vide
rmdir mon-repertoire-vide
__**Supprimer un répertoire contenant des fichiers :**__
Pour ce qui suit il faut être en root, dans la plupart des cas (on dit aussi super utilisateur) : d’où le signe # que l'on va voir dans la fenêtre de la console après la commande su.\\
**NB :** Les répertoires et fichiers crées en simple utilisateur peuvent être supprimés sans passer en root.
**Pour passer en root :**
jean$ su
\\
On tape le mot de passe root
Exemple : supprimer le répertoire usb dans : /media/usb
Se placer dans /media
/media# rm -r usb
-r pour récursif, (Supprimer un répertoire de manière récursive = supprimer les répertoires + les sous répertoires + les fichiers …etc).
__**Supprimer un fichier :**__
Exemple : /media/usb/toto.txt
Supprimer toto.txt
rm /media/usb/toto.txt
__**Éteindre l’ordinateur**__
shutdown now
===== 3 - Accéder à une console =====
Il faut utiliser les touches suivantes pour aller dans une console dans le cas d'un écran noir.\\
**Ctr+Alt F1 ou Ctr + Alt F2**
===== 4 - Demander de l'aide sur le forum =====
Le but est de pouvoir récupérer les données à partir d’une clef USB (seul moyen possible puisque le gestionnaire de fichier ne fonctionne pas) afin de pouvoir :
* imprimer sur du papier le résultat d'une commande si besoin,
* montrer les résultats d'une commande sur le forum,
__**a) Placer la clef Usb dans une prise Usb**__
On va utiliser la commande suivante pour savoir sur quelle partition on doit monter la clef.
fdisk -l
Ce qui donne :\\
/dev/sdf1 et indique que la clef et en fat32
**__b) Monter la clef usb__**
**Au préalable, créer un répertoire usb dans /media** (En général l’emplacement de la clef se trouve sur /media).
Avec la commande mkdir
mkdir /media/usb
On aura par exemple : /home/jean/media/usb
**Montage de la clef proprement dit.**
(Clef usb formatée en fat 32 d'où vfat, et sur la partition /dev/sdf1)
**Se placer dans /media**
mount -t vfat /dev/sdf1 usb
__**c) copier le fichier du retour de commande, attendu par les ’’barbu(e)s’’ du forum, dans la clef usb**__\\
(exemple pour retour de la commande lspci)
On lui donnera par, exemple, le nom de : r**etour-commande.txt**
lspci > retour-commande.txt
Le résultat est maintenant dans la clef usb et dans le fichier retour-commande.txt.
**d) Démonter la clef usb**
Pour sortir la clef il faut la démonter à l'aide de la commande suivante :
umount usb
Retirer la clef
===== 5 - Introduire les commandes =====
Ces lignes de commande étant assez compliquées et longues à taper (risque d’erreurs) on constituera un fichier texte (commmande.txt) dans lequel on fera un copier/coller de ces lignes et on introduira les commandes avec une boucle **while**.\\
La boucle lit le fichier Commande.txt, ligne par ligne, et exécute la commande dans la console ligne par ligne.
**Exemple des commandes à introduire dans une console :**
__Le fichier Commande.txt sera de la forme suivante :__
# apt-get install linux-image-amd64 linux-headers-amd64\\
apt-get install nvidia-legacy-304xx-kernel-dkms nvidia-settings-legacy-304xx xserver-xorg-video-nvidia-legacy-304xx linux-headers-$(uname -r)
On peut aussi exécuter les commande ligne par ligne en commentant (#), comme ci-dessus, la ligne que l’on ne veut pas exécuter. Pour enlever # il faut éditer le fichier commandes.txt avec l’éditeur de texte Nano.
__**a) Placer la clef Usb dans une prise Usb**__\\
On va utiliser la commande suivante pour savoir sur quelle partition on doit monter la clef.
fdisk -l
ce qui donne :\\
/dev/sdf1 et indique que la clef et en fat32
__**b) Monter la clef usb**__
Au préalable, créer un répertoire usb dans /media (par exemple).
mkdir /media/usb
**Montage de la clef proprement dit.**\\
(Clef usb formatée en fat 32 d'où vfat)\\
se placer dans /media
mount -t vfat /dev/sdf1 usb
__**c) Boucle while**__\\
Se placer dans le répertoire usb\\
Taper la ligne suivante dans un terminal :
while read ligne; do eval $ligne; done
**Explication de la ligne de commande (on fait une boucle) :**
**while** : “tant que” en français\\
**read** : lis un fichier\\
**ligne** : lis la variable ligne qui a pour contenu la ligne du fichier Commandes.txt\\
**do** : faire\\
**eval $ligne** : exécute ce qui est dans la variable ligne\\
**done**NB:** Attention à bien mettre les “; “là où il faut.
__**d) Démonter la clef**__ Pour sortir la clef il faut la démonter à l'aide de la commande suivante
umount usb
Retirer la clef
===== 6 - Redémarrage =====
On redémarre en faisant :
reboot
===== 7 Pour aller plus loin =====
https://debian-facile.org/doc:systeme:console\\
https://debian-facile.org/doc:systeme:commandes:creer