Ce document est en cours d'édition et peut comporter des anomalies. Il est le résultat d'un programme qui traduit un ensemble de documents écrits dans un langage de type XML. Le programme de traduction est en cours de développement lui aussi !
Lisawi est un système logiciel destiné à maintenir les PC sous Windows dans une configuration donnée.
Lisawi propose aux utilisateurs non spécialistes une méthode simple, rapide et automatique de remise en état de leur station, et aux responsables de maintenance un outil les aidant dans leur tâche.
Lisawi peut s'utiliser sur une station isolée, en réseau point à point, ou avec un serveur spécialement configuré.
Lisawi signifie Linux sauve Windows
. Bien que Linux soit au coeur de Lisawi, il n'est pas nécessaire de connaître Linux pour utiliser normalement Lisawi. Les utilisateurs expérimentés d'Unix, quant à eux, trouveront là un outil flexible, léger, et modifiable pour s'adapter facilement à des situations particulières.
Lisawi est un logiciel libre sous licence Gnu-GPL.
Vous ne pouvez envisager d'utiliser Lisawi que si :
Ces conditions sont réunies sur la quasi totalité des micro-ordinateurs vendus avec un système Windows 95/98/Me préinstallé.
Démarrer Lisawi consiste à charger deux fichiers en mémoire : un noyau Linux et un ramdisk
qui contient l'ensemble des fichiers du système Lisawi.
Ces deux fichiers peuvent être stockés :
Lisawi peut être lancé :
Il y a donc de nombreuses méthodes pour lancer Lisawi, chacune présente des avantages et des inconvénients et termes de rapidité, de fiabilité de facilité de mise en place ou de facilité d'utilisation.
C'est cool. Vous avez besoin d'un répertoire C:\Lisawi dans lequel se trouvent :
Téléchargez ces fichiers et nommez-les comme dans la liste, en enlevant leur numéro de version (ou, mieux, en créant un raccourci, mais je n'ai pas testé).
En mode MSDOS, sous C:, tapez :
C:\Windows> cd \Lisawi C:\Lisawi> lisawi
Vous pouvez aussi installer un menu de démarrage MSDOS en modifiant les fichiers config.sys et lisawi.bat. Le script mkmenu.bat automatise cette opération. Le menu créé propose le choix entre un démarrage normal et une restauration en mode local totalement automatique. Cette restauration ne demandera aucune intervention de la part de l'utilisateur.
redémarrer en mode MSDOSdepuis Windows mais redémarrer la station et passer immédiatement en mode MSDOS, ou utiliser un menu de démarrage MSDOS.
Vous avez besoin d'un fichier image
pour créer une disquette amorçable contenant Lisawi.
Le fichier image doit être copié secteur par secteur sur la disquette, sans utiliser de système de fichiers. Sous Unix, la commande dd permet cela très simplement. Sous MSDOS ou Windows, vous pouvez utiliser rawrite.exe.
Insérez une disquette dans le lecteur, exécutez rawrite et indiquez-lui le chemin du fichier image à transférer.
Démarrez la station sur la disquette.
Lisawi doit être installé sur la première partition principale formatée en ext2.
Démarrez la station sur la disquette.
Lisawi doit être installé sur le disque dur.
Au démarrage de la station, le menu de Lilo apparaît.
À terminer...
Cette méthode demande nettement plus de moyens et de compétences que les autres puisqu'il faut posséder un serveur et paramétrer ces services :
Même si la mise en place est plus longue et plus complexe, l'essentiel du travail est fait seulement la première fois. Ensuite, il s'agit de maintenir un fichier décrivant les stations : nom, adresse IP, adresse Ethernet (MAC).
Cette méthode a permis d'installer une salle de 12 nouvelles stations de manière quasiment automatique :
idéalede la première station ;
Le clonage peut être long (en attendant le mode multicast) s'il y a beaucoup de nouveaux logiciels mais peut se faire la nuit puisqu'il ne requiert pas d'intervention de l'utilisateur.
Lisawi utilise la configuration DHCP reçue pour créer un fichier de base de registre qui est chargé au premier redémarrage de la station. Les paramètres réseau pour Windows sont donc fixés automatiquement sur chaque station.
Démarrez la station sur la disquette ou depuis le client dhcp pour MSDOS.
Après chargement, Lisawi affiche un menu dont le contenu dépend de l'état de la station : carte réseau détectée, partition ext2 existante, lisawi installé, mise à jour possible, etc.
Le menu permet d'utiliser Lisawi en mode local ou en réseau point à point sans avoir à taper des commandes compliquées.
Le menu n'apparait pas lors d'une restauration automatique : il n'y a pas de dialogue avec l'utilisateur.
Pour la sauvegarde et la restauration en mode local, ou la mémorisation de vos préférences, Lisawi utilise une partition avec un système de fichiers ext2. Ce système de fichiers n'étant pas reconnu nativement par Windows, les logiciels ou virus qui utilisent Windows pour accéder au disque dur n'ont pas accès aux données de Lisawi sur cette partition. La partition ext2 est invisible dans Windows pour l'utilisateur. Notez toutefois qu'il existe des logiciels pour Windows qui savent accéder au système de fichiers ext2 !
La présence d'une partition ext2 est donc nécessaire si vous souhaitez sauvegarder et restaurer votre système sur un disque dur de la station, ou y installer Lisawi de manière à pouvoir démarrer la station directement sous Lisawi via Lilo ou une disquette de démarrage rapide, ou encore si vous voulez modifier la configuration par défaut.
Lisawi n'utilise que la première partition principale ext2 du premier disque dur. Lisawi peut utiliser sans problème une partition sur laquelle un système GNU/Linux est installé.
Le logiciel GNU-Parted fourni avec Lisawi vous permettra de modifier le partitionnement de votre disque.
Parted est un logiciel d'édition de partitions (partition editor). Avec Parted, vous pouvez, entre autres créer, supprimer, formater, ou redimensionner des partitions.
Lorsque
En plus du menu, Lisawi ouvre 3 consoles pour le dialogue en ligne de commandes avec un shell ash. L'utilisation de la ligne de commandes apporte beaucoup plus de possibilités que le menu en attendant une interface utilisateur plus évoluée.
Sous Linux, les consoles sont accessibles par la combinaison de touches <Alt>+<Fi>, où i indique le numéro de la console, de 1 à 4. Le menu de Lisawi est systématiquement relancé sur la console 1.
Le shell est compilé avec le support de l'historique et la complétion automatique de la ligne de commandes. Les touches de curseur <UP> et <DOWN> permettent de parcourir l'historique pour rappeler une ancienne commande. La touche <TAB> permet de faire compléter la commande. Par exemple, tapez sho puis <TAB> pour obtenir showconfig. Si plusieurs possibilités de complément existent, le shell émet un BIP. Tapez une nouvelle fois <TAB> pour obtenir la liste des possibilités. Si vous tapez directement deux fois <TAB>, vous obtenez la liste de toutes les commandes disponibles.
Les commandes Unix se trouvent sous /bin/. Les commandes de Lisawi sont pour la plupart des scripts rangés sous /scripts/, quelques-uns sous /etc/ et /etc/lisawi/.
/scripts apparaît en premier dans le PATH ce qui permet de surcharger des commandes de /bin avec un shell-script.
Les scripts utilisent souvent des variables d'environnement pour améliorer leur flexibilité. Ces variables sont initialisées au démarrage de Lisawi à des valeurs par défaut ou à des valeurs enregistrées dans le fichier de configuration pour la station.
Les sections suivantes décrivent les variables, les fichiers et les commandes les plus utiles pour Lisawi.
Quelques variables avec leurs valeurs par défaut :
sauverdans le menu si non vide ;
configdans le menu si non vide ;
clientdans le menu si non vide ;
serveurdans le menu si non vide ;
client;
showconfig affiche les valeurs de toutes les variables de Lisawi.
client permet de cloner la station serveur.
La station configure sa carte réseau avec l'adresse IP CLIENT_IP et écrase C:\ avec le contenu du module MODULE de la station d'adresse SERVER_IP. EXCLUDE peut désigner un fichier d'exclusions. BACKUP peut désigner un répertoire de sauvegarde sous C:\ pour les fichiers modifiés ou supprimés.
Les adresses IP peuvent être remplacées par des noms si le réseau dispose d'un serveur DNS.
/etc/lisawi/checkreg.bat n'est pas un script Unix mais une portion de fichier batch MSDOS permettant de charger C:\lisawi.reg dans la base de registres s'il existe. Ce fichier est ensuite renommé C:\lisawi-reg.txt pour ne pas être rechargé à chaque démarrage.
Pour ajouter cette fonction au fichier autoexec.bat :
conv dos /etc/lisawi/checkreg.bat >>/C/autoexec.bat
Attention à bien mettre deux >>, sinon autoexec.bat sera d'abord vidé.
Voir aussi setregs.
dhcp envoie une requête à un serveur DHCP pour configurer l'adresse IP, le nom de la station, les adresses des DNS et de la passerelle. Les informations reçues sont enregistrées dans /var/dhcp.lease.
Si le nom de la station renvoyé est de la forme X-Y, où X est une chaîne de caractères ne contenant pas de tiret '-', le script utilise X comme workgroup NETBIOS de la station.
Attention : ce script appelle reconfig pour mettre à jour les variables d'environnement. Les variables d'environnement ne sont lues qu'au démarrage d'un shell ; il faut donc redémarrer un shell sur la console : <Ctrl>+<D>, ou forcer le shell courant à recharger la configuration :
. /var/config
ou
. loadconfig
Il est possible de faire travailler dhclient sur l'environnement courant en sourçant
directement le script au lieu de passer par un sous-shell :
. dhclient
mais dans ce cas, une sortie avec erreur du script dhclient causera la fin du shell courant. Un autre shell sera alors relancé sur la même console, mais l'historique des commandes sera perdu. dhclient ayant peu de chances de planter, j'utilise cette méthode.
install installe Lisawi sur la partition ext2 de la station. Si Lisawi n'a pas été lancé depuis MSDOS, install copie le noyau et le ramdisk sous C:\Lisawi.
mkfbdisk crée une disquette de démarrage rapide. Cette disquette charge le secteur d'amorce de la première partition principale de type 0x83 (ext2). Si Lilo est installé sur ce secteur, Lilo est démarré.
mkfloppy crée une disquette Lisawi. Les fichiers noyau et ramdisk doivent exister sous C:\Lisawi ou sur la partition ext2 d'installation.
mkliloconf permet de produire un fichier de configuration /etc/lilo.conf pour Lilo en répondant à quelques questions : où installer Lilo, quelles entrées ajouter...
Lilo est un chargeur pour Linux, donc valable pour Lisawi, capable aussi de charger Windows. Il peut être installé sur le Master Boot Record du disque dur, ou sur le secteur d'amorce d'une partition.
Le fichier de configuration produit par mkliloconf installe un menu de démarrage permettant de lancer Windows ou Lisawi, et éventuellement de faire exécuter automatiquement une commande à Lisawi, par exemple une restauration automatique. Plusieurs entrées Lisawi sont autorisées.
mkregs utilise les variables HOSTNAME et WORKGROUP pour afficher un fichier de base de registres permettant de fixer le nom NETBIOS et le workgroup de la station. Si une de ces variables est vide, mkregs appelle dhclient pour obtenir les renseignements.
mountall monte la partition DEVC de C:\ sur /C/ et la partition DEVX de Lisawi sur /X/. mountall ne monte une partition que si son répertoire de montage n'existe pas déjà. Le répertoire est éliminé si le montage de la partition a échoué. L'existance du répertoire garantit que la partition est montée.
Voir aussi umountall.
netjob télécharge HOSTNAME/netjob, ou WORKGROUP/netjob si le précédent n'existe pas, depuis le serveur RSYNC nommé "lisawi". Si un netjob a été trouvé, il est exécuté.
Ce script permet d'exécuter depuis une station sous Lisawi un script résidant sur le serveur dépendant du nom ou du groupe de travail de la station. Il faut des serveurs DHCP et DNS sur le réseau.
Sans argument, netload restaure la station en utilisant le répertoire HOSTNAME/C/ du module lisawi-ro sur le serveur RSYNC nommé "lisawi". Il faut des serveurs DHCP et DNS sur le réseau.
Le module lisawi-ro devrait être seulement lisible par tout le monde.
Un premier argument est autorisé pour spécifier le répertoire source à utiliser sur le serveur RSYNC au lieu de HOSTNAME/C/.
Un second argument est autorisé pour spécifier le répertoire destination sur la station. Rappel : le lecteur C:\ est normalement accessible sous /C/.
netload utilise les variables BACKUP et EXCLUDE de la même manière que restore.
Voir aussi netstore.
netrun exécute le script netrun/commande résidant sur le serveur RSYNC nommé "lisawi". commande doit être le seul argument à netrun et il n'est pas possible de passer des arguments à commande. Il faut des serveurs DHCP et DNS sur le réseau.
Sans argument, netstore sauvegarde la station dans le répertoire HOSTNAME/C/ du module lisawi-rw sur le serveur RSYNC nommé "lisawi". Il faut des serveurs DHCP et DNS sur le réseau.
Le module lisawi-rw devrait normalement pointer sur le même répertoire que le module lisawi-ro, mais permettre en plus l'écriture aux utilisateur fournissant un mot de passe.
Un argument est autorisé pour spécifier le répertoire de destination.
netstore utilise la variable EXCLUDE de la même manière que save.
Voir aussi netload.
putdosfiles assure l'existence du fichier de license et des fichiers nécessaires au démarrage de Lisawi depuis MSDOS, dans C:\Lisawi\.
/scripts/reboot surcharge /bin/reboot. /scripts/reboot appelle saveconfig, putdosfiles, ferme le journal, démonte les partitions et redémarre la station.
reconfig permet d'enregistrer les variables d'environnement de Lisawi dans le fichier d'initialisation des shells /etc/profile. Les nouveaux shells utiliseront le nouvel environnement.
Par exemple, pour changer la valeur de la variable SERVER_IP et transmettre ce changement à tous les nouveaux shells :
SERVER_IP=192.168.1.12 reconfig
restore restaure la station à partir de l'image résidant sur la partition ext2.
La variable EXCLUDE peut désigner un fichier d'exclusions. Les fichiers et répertoires dont le chemin correspond à une entrée dans le fichier d'exclusion sont laissés intacts. Si EXCLUDE est vide, il n'y a pas d'exclusion.
Les fichiers et répertoires non exclus qui n'existaient pas lors de la dernière sauvergarde sont supprimés. Les fichiers et répertoires non exclus détruits après la dernière sauvegarde sont restaurés.
La variable BACKUP peut désigner un répertoire de sauvegarde pour les fichiers modifiés ou détruits par l'intervention. Si BACKUP est vide, il n'y a pas de sauvegarde des fichiers modifiés ou détruits.
save met à jour l'image de la station sur la partition ext2. C'est l'opération inverse de la restauration : sauve tous les fichiers et répertoires non exclus, et élimine de l'archive tous les fichiers et répertoires exclus s'il en existe.
La variable EXCLUDE peut désigner un fichier d'exclusions. Les fichiers et répertoires dont le chemin correspond à une entrée dans le fichier d'exclusion sont supprimés de la sauvegarde. Si EXCLUDE est vide, il n'y a pas d'exclusion.
Voir aussi restore.
saveconfig enregistre les préférences de l'utilisateur dans le fichier de configuration de Lisawi pour la station.
Les variables enregistrées sont :
server positionne la station en serveur. La station configure sa carte réseau avec l'adresse IP SERVER_IP et lance un serveur rsync. Les stations exécutant le script client pourront recopier le contenu de cette station.
setregs convertit le résultat de mkregs au format MSDOS dans C:\lisawi.reg.
C:\lisawi.reg pourra être lu automatiquement au redémarrage de la station en adaptant son autoexec.bat.
showconfig affiche les valeurs de toutes les variables d'environnement utilisées par Lisawi. Attention : ce sont les variables dans l'environnement courant, elles peuvent être différentes dans d'autres environnements.
umountall démonte les partitions montées sur /C/ et /X/ et élimine ces répertoires si le démontage a réussi.
Voir aussi mountall.
webupdate permet la mise à jour de Lisawi par l'Internet. Télécharge puis exécute
http://duparq.free.fr/lisawi/webupdate.sh.
ATTENTION : FAILLE DE SÉCURITÉ GIGANTESQUE.
Démarrer Lisawi depuis un CDROM est possible grâce à SYSLINUX, plus particulièrement ISOLINUX. Je donne ici quelques indications, voyez la documentation accompagnant SYSLINUX pour de plus amples informations.
L'installation depuis le CDROM n'est pas encore prise en charge.
Le Makefile fourni avec les sources de Lisawi possède une cible iso qui crée une image ISO d'un CDROM Lisawi amorçable.
make iso produit le fichier lisawi.iso prêt à être gravé.
Il vous faut rassembler les fichiers :
et créer une image ISO El torito
amorçable. Il faudra indiquer au logiciel qui créera l'image ISO que le chargeur est isolinux.bin.
Cette section rassemble des réponses à des questions posées par des utilisateurs de Lisawi.
Lisawi-1.3 est la branche de Lisawi en cours de développement qui doit aboutir à la première version stable 1.4.0. Au cours des diverses versions 1.3, de nombreux changements surviennent, certains améliorent le fonctionnement, d'autres rendent Lisawi inutilisable. Certaines fonctionnalités peuvent apparaître, et disparaître ensuite. Il n'est donc pas recommandé d'utiliser les versions de développement autrement que pour tester les dernières nouveautés.
Pour débuter les versions 1.3, Lisawi a été entièrement réécrit. Alors que les commandes des versions 1.2 sont des fonctions rassemblées dans un fichier script, chaque commande correspond dorénavant à un fichier, un shell script le plus souvent.
Lisawi 1.3 utilise un ramdisk et un noyau indépendants : le noyau est choisi en fonction du matériel, le ramdisk en fonction de la version de Lisawi. Il n'est plus nécessaire de télécharger l'ensemble noyau + ramdisk pour mettre à jour Lisawi.
L'organisation des fichiers de développement a été complètement revue et tout maintenant est géré par make. Chaque source extérieure possède son répertoire et son Makefile. Le Makefile racine contient la liste des répertoires et des fichiers à utiliser pour construire Lisawi. Il est plus facile ainsi de tester différentes versions de produits externes (bibliothèque, rsync, parted, etc.) pour évaluer ce qu'elles apportent en fonctionnalités et ce qu'elles coûtent en espace.
La bibliothèque C utilisée est maintenant uClibc qui diminue de plus de 200 Ko la taille de l'image sur disquette par rapport à glibc. C'est autant d'espace en plus pour d'autres commandes ou de drivers supplémentaires dans le noyau.
Lisawi 1.3 est plus orienté réseau. Il est déjà possible d'utiliser Lisawi sans l'installer quand les valeurs par défaut sont satisfaisantes. En installant les services réseau adaptés, il sera possible pour les versions 1.4 d'utiliser Lisawi sur toutes les stations en réseau sans installation ni repartitionnement du disque, tout en gardant la possibilité d'une configuration propre à chaque station.
Lisawi-HD-1.2.9e est la dernière version stable de Lisawi. Elle permet d'utiliser un réseau pour cloner une station.
Quelques pistes de développement pour les futures versions de Lisawi :
Sébastien RAZET a écrit quelques pages sur l'utilisation de Lisawi pour le compte de l'académie de Nancy-Metz.
Depuis la version 1.3.18, Lisawi est disponible sous forme éclatée
. Le découpage en plusieurs fichiers permet de modifier ou de mettre à jour Lisawi sans avoir à tout recharger à chaque fois.
Le noyau est lié au matériel, le ramdisk à la version de Lisawi. Les autres fichiers ne devraient pas changer.
La taille de chaque fichier est indiquée pour vérifier succinctement l'intégrité de ce que vous avez chargé.
La numérotation des versions suit le modèle du noyau Linux. La version est décrite par trois nombres : un majeur, un mineur, puis une révision. Les versions à mineurs impairs sont des versions de développement qui ne sont pas destinées à être utilisées en production
.
La dernière version stable est 1.2.9e.
Enregistrez le ramdisk sous le nom initrd.gz dans le répertoire d'installation de Lisawi.
La dernière version stable de Lisawi est 1.2.9e.
Date | Taille | Fichier |
---|---|---|
2003.12.15-20:12:44 | 718 000 | lisawi-initrd-1.3.39.gz |
2003.10.28-22:56:27 | 715 563 | lisawi-initrd-1.3.35.gz |
2003.06.16-11:15:07 | 701 051 | lisawi-initrd-1.3.31.gz |
2003.05.14-23:04:49 | 701 372 | lisawi-initrd-1.3.30.gz |
2003.05.05-23:03:24 | 698 870 | lisawi-initrd-1.3.29.gz |
2003.05.04-20:15:28 | 700 142 | lisawi-initrd-1.3.28.gz |
2003.03.18-17:48:30 | 699 124 | lisawi-initrd-1.3.27.gz |
2003.03.18-17:46:31 | 905 730 | lisawi-initrd-1.2.9e.gz |
Enregistrez le noyau sous vmlinuz dans le répertoire d'installation de Lisawi.
Les noyaux Linux compilés pour Lisawi portent le suffixe -lisawi-x où x désigne la configuration.
Les configurations sont les suivantes :
Date | Taille | Fichier |
---|---|---|
2003.01.04-22:16:02 | 509 720 | vmlinuz-2.4.5-lisawi |
2002.06.27-17:34:22 | 551 372 | vmlinuz-2.4.18-lisawi-1.3.1 |
2003.03.22-17:57:21 | 417 438 | vmlinuz-2.4.20-lisawi-3 |
2003.03.22-17:57:21 | 575 259 | vmlinuz-2.4.20-lisawi-2 |
2003.03.22-17:57:21 | 810 415 | vmlinuz-2.4.20-lisawi-1 |
2003.12.15-20:13:45 | 928 436 | vmlinuz-2.4.23-lisawi-cd |
Les images permettent de créer des supports amorçables : disquette, CDROM, etc. Sauf mention contraire, elles incorporent un noyau vmlinuz-2.4.20-lisawi-2.
Date | Taille | Fichier |
---|---|---|
2003.06.16-11:15:07 | 1 276 539 | lisawi-floppy-1.3.31.raw |
2003.05.05-23:03:17 | 1 275 996 | lisawi-floppy-1.3.29.raw |
2003.05.04-17:49:17 | 1 276 559 | lisawi-floppy-1.3.28.raw |
2003.03.13-15:20:06 | 1 274 612 | lisawi-floppy-1.3.27.raw |
Date | Taille | Fichier |
---|---|---|
2002.07.03-19:32:04 | 1 425 719 | lisawi-1.2.9e.raw |
Date | Taille | Fichier |
---|---|---|
2004.02.03-11:49:53 | 1 671 168 | lisawi-cdrom-1.3.42.iso |
2003.12.15-20:12:44 | 1 769 472 | lisawi-cdrom-1.3.39.iso |
2003.10.28-22:56:27 | 1 769 472 | lisawi-cdrom-1.3.35.iso |
2003.06.13-18:29:53 | 1 671 168 | lisawi-cdrom-1.3.31.iso |
2003.05.14-22:37:52 | 1 638 400 | lisawi-cdrom-1.3.30.iso |
2003.05.04-20:15:28 | 1 376 256 | lisawi-cdrom-1.3.28.iso |
Date | Taille | Fichier |
---|---|---|
2000.12.20-11:24:38 | 378 368 | rawwritewin.exe |
2003.03.22-18:45:40 | 21 190 | diskio.dll |
2000.12.20-11:24:37 | 14 305 | rawrite.exe |
2002.12.28-20:05:44 | 32 208 | loadlin.exe |
2002.12.28-20:05:44 | 85 | lisawi.bat |
2002.12.28-20:05:44 | 718 | mkmenu.bat |
2004.02.03-11:49:53 | 9 404 | isolinux.bin |
2004.02.03-11:49:53 | 551 | isolinux.cfg |
Les sources sont fournis avec ou sans (light) binaires précompilés.
Date | Taille | Fichier |
---|---|---|
2004.02.02-20:35:53 | 122 536 | lisawi-1.3.42-light.tar.gz |
2003.10.28-22:56:27 | 120 826 | lisawi-1.3.35-light.tar.gz |
2003.06.16-11:20:43 | 119 258 | lisawi-1.3.31-light.tar.gz |
2003.05.14-23:01:35 | 117 003 | lisawi-1.3.30-light.tar.gz |
2003.05.05-23:03:30 | 116 821 | lisawi-1.3.29-light.tar.gz |
2003.05.04-21:11:59 | 116 322 | lisawi-1.3.28-light.tar.gz |
2003.05.04-21:11:56 | 2 549 961 | lisawi-1.3.28.tar.gz |