Disquette de Boot et de sécurité :
Disquette de Boot:
Pour créer une disquette de démarrage du système, rien de plus facile,
en mode console ou dans un xterm, il suffit d'utiliser le script mkbootdisk .
Après avoir insérez une disquette dans le lecteur ! Tapez :
mkbootdisk --device /dev/fd0 2.2.5-22 -v
--device indique le lecteur de disquette, ici /dev/fd0 , suivi de la version du noyau
et -v (verbose) pour avoir l'affichage du suivi du déroulement .
Cette disquette disposera du mode "Rescue" il suffit, au démarrage (avec la disquette), à l'invite LILO :
de tapez rescue .
pour voir les options possibles, tapez "man mkbootdisk" ou " mkbootdisk " .
ou moins simple ?
pour une Slackware lancer le menu setup et sélectionnez "lilo" puis "make lilo bootdisk"
avec RedHat et les autres distributions, tapez la commande :
cat /usr/src/linux-2.2.10/arch/i386/boot/zImage > /dev/fd0
ou
cat /boot/vmlinuz > /dev/fd0
suivi de
rdev /dev/fd0 /dev/hda2
rdev -R /dev/fd0 1
remplacer hda2 par la partition racine de Linux et /usr/src/linux-2.2.10/arch/i386/boot par le chemin ou se trouve zImage .
A la place de cat /boot/vmlinuz > /dev/fd0, pour etre sur que le noyau tiendra sur la disquette(3.5), tapez:
dd if=/boot/vmlinuz of =/dev/fd0 bs=1440K
cette commande peut etre utilisé a partir du CD d'installation avec :
mount /dev/cdrom
cd /mnt/cdrom/images
dd if=/boot.img of =/dev/fd0 bs=1440K
Disquette de sécurité:
Si vous avez un CD d'installation, il contient certainement l'image rescue.img dans le répertoire images, si non :
La disquette de secours "bite et couteau"(rescue) est récupérable sur : www.clark.net/~toehser ou sur FTP sunsite.unc.edu
Vous pouvez utiliser ou créer une disquette Amorce/racine, utilisant l'option RAMDISK du noyau, pour démmarrer le système afin de monter vos partitions dans un répertoire de montage (/mnt/) pour modifier/restorer les fichiers défecteux :
Consulter les chapitres "Amorce/Racine " et "Scripts pour créer des disquettes " du Boot-Disk-HOWTO
Récupérer son mot de passe :
_ Utilisez la disquette d'installation ou de secours du système pour démarrer la machine.
_ Montez la partition root :
mkdir /mnt
mount -t ext2 /dev/hda2 /mnt
remplacez /dev/hda2 par votre partion racine Linux .
Vous pouvez, si vous ne disposez pas de disquette de boot, démarrer le système en mode Single User
_ à l'apparition de LILO , tapez :
LILO: linux single
remplacez linux par le label de votre noyau déclaré dans lilo.conf
ATTENTION ! votre partition est en lecture seule et votre clavier en qwerty :
pour remonter la partition en lecture/ecriture : mount -w -n -o remount /
pour passer le clavier en azerty : loadkeys /usr/lib/kbd/keytables/fr.map
_ Editez /etc/passwd ou /mnt/etc/passwd et suprimez le mot de passe pour obtenir :
root::0:0:root:/root:/bin/bash
Et si vous utilisez les Shadow-password , vos fichiers doivent ressembler à :
/etc/passwd : root:x:0:0:root:/root:/bin/bash
/etc/shadow : root::10855:0:99999:7:-1:-1:134538444 (version RedHat/Linuxconf)
/etc/shadow : root::10422:0::::: (version Slackware)
_ Une fois ces fichiers modifiés et sauvegardés, il ne reste plus qu'à redémarrer normalement le système .
_ Se loger sous compte root(sans mot de passe) pour créer un nouveau mot de passe avec la commande passwd .
Les RunLevel et la commande init :
Comme le dit la page de manuel man init Init est le père de tous les processus .
Et si vous éditez /etc/inittab vous trouverez cette ligne :
id:3:initdefault:
Qui indique le niveau d'execution (RunLevel) par défaut
RunLevel :
0 - halt arret du système (shutdown -h now)
1 - Mono utilisateur(Single user)
2 - Multi utilisateurs sans NFS (sans le réseau)
3 - Multi utilisateurs + réseau
4 - inutilisé
5 - lance le serveur X11 (xdm)
6 - reboot relance le système (shutdown -r now)
Pour savoir quel niveau d'execution est actuellement utilisé, il suffit de taper la commande runlevel
Sur la Slackware le niveau 4 peut-etre utilisé pour lancer X11 (xdm)
Evidemment le niveau 0 et 6 ne doivent pas etre utilisés, si non vous créez une boucle sans fin :
A chaque démarrage le système s'arreterai ou redemarrerai ?!!
Si la commande init q permet de relire le fichier /etc/inittab , il convient de manier en connaissances de causes
les autres commandes comme : init 5, init 4, init 2
ou init s .
En cas de doute, avant de relancer ou d'arreter votre système, revérifiez que dans le fichier /etc/inittab vous avez toujours :
id:3:initdefault: ou id:5:initdefault:.
Si vous voulez pouvoir choisir entre le démarrage en mode Multi utilisateurs (3) et en mode xdm (5), il suffit de commenter la ligne initdefault :
#id:3:initdefault:
Et le système vous demandera d'indiquer le mode à utiliser .
ATTENTION ! Ce qui suit n'est pas sans risque et ne garantie pas la récupération
intégrale de vos données .
Et comme sur tous les systèmes si depuis l'éffacement accidentel vous avez manipulé des fichiers (écriture) il y a de fortes
chances que vos fichiers soient irrémmédiablement perdus !
La première chose est de FAIRE DES SAUVEGARDES le reste est du bidouillage de secours !
Effacement ou formatage accidentel :
Si vous avez formattaté accidentellement une partition, vous pouvez utiliser un script perl pour récupérer vos données,
ce script se trouve sur www-eleves.enst-bretagne.fr/~aubert/perl ou dans
le GUIDE_DU_ROOTARD .
Une autre méthode plus brutale consite à faire un strings /dev/hda2 > recup,
et il ne vous reste plus qu'à faire le tri dans ce fichier pour y récupérer ce qui est encore utilisable.
La récupération de fichiers éffacés est encore plus délicate :
Plus le système de fichiers (FS) concerné sera démonté rapidement après l'éffacement des fichiers, plus vous aurez de chance de récupérer
un maximum de données .
Vous trouverez le détail des opérations à éffectuer (plutot longues) dans le
Ext2fs-Undeletion mini-HOWTO , Je vais seulement vous indiquer le principe .
_Démontage de la partition
_Remontage de la partition en lecture seule
_Attribution d'un espace suffisant pour contenir les données récupées
_Recherche des blocs éffacés (inodes)
_Récupération des blocs de données .