Table des matières
Les fonctions de gestion des images de disques durs, de sauvegarde fichiers, d'inventaire et de prise de contrôle à distance, sont essentielles pour la gestion efficace d'un parc informatique. Cependant, au quotidien, il est indispensable de pouvoir installer des applications de manière non interactive sur une machine ou un groupe de machines de manière sécurisée. C'est le but du module Linbox Secure Control - LSC.
Le LSC contient les fonctions suivantes :
gestion des fichiers et répertoires du disque dur d'un ordinateur disposant d'un agent LSC,
transfert de fichiers du serveur LRS vers un ou plusieurs clients,
lancement de programmes sur un ou plusieurs clients cibles,
affichage des logs des actions,
sécurisation de la prise en main à distance clavier/écran/souris.
Le LSC repose sur l'utilisation d'OpenSSH, la version libre du "secure shell" SSH. Un service sshd doit être installé sur chaque machine contrôlée. La LSC est compatible avec Windows (NT, 2000, XP, 2003) en utilisant notre serveur SSH, Linux, MacOS X ou tout autre Unix disposant de SSH.
SSH permet de garantir la sécurité des connexions entre le serveur LRS et les différentes machines contrôlées. L'utilisation d'un système de clé publique/clé privée permet de ne pas avoir de login supplémentaire sur les différents PCs lors des opérations de contrôle. Enfin le LSC apporte une interface Web mettant à disposition les différentes fonctions de manière simple et puissante, sans avoir aucune connaissance particulière. Le transfert de fichiers ou le lancement de programmes peut se faire autant pour une machine unique que pour un ensemble de machines (groupe, sous-groupe, ou profil).
Le LSC allié aux fonctions systèmes du LRS permet de gérer un parc de PCs en réseau en créant quelques images simples et en déployant ensuite les applications à la demande de manière automatique.
SSH permet l'exécution de commandes sur un shell distant ainsi que l'envoi et la récupération de fichiers de manière totalement sécurisée. La sécurisation est obtenue grâce au chiffrement de toutes les données. Avant de pouvoir faire quoi que ce soit, la personne souhaitant faire une exécution sur le PC disposant du service ssh doit s'identifier.
Il y a plusieurs modes d'authentification, soit par entrée manuelle d'un login / mot de passe, soit via l'utilisation de cryptographie à clé publique. Dans ce cas, un couple clé publique / clé privée est généré, et la clé privée stockée dans le compte d'une personne, permet de se connecter à tout compte sur une machine distante ayant installé la clé publique associée. C'est ce dernier mécanisme qui est utilisé dans le LSC.
Vous trouverez une description détaillée de ssh à l'URL suivante : http://www.labo-linux.org/index.php?page=essentiels&id=441
La création du couple de clés doit être faite lors de l'installation du serveur LRS. Ensuite, pour chaque client, il faut copier la clé publique dans la racine de C:/ .
Pour créer les clés loguez vous en root sur la console et tapez :
ssh-keygen -t dsa
N'entrez pas de 'passphrase'. Les fichiers /root/.ssh/id_dsa et /root/.ssh/id_dsa.pub sont alors créés. Ce sont les clés privées (id_dsa) et publiques (id_dsa.pub). Si vous regardez le contenu de ces fichiers vous allez trouver :
-----BEGIN DSA PRIVATE KEY----- HbHHUZ/78gdgqdYugmKK2EYqPGvRx0jox1FhvJSh4r5mR/KgxopzTTearlENMg/7 TL8Bfs0raTNLEjnQjzMag9N8YojEVIkp//l7PCa5FzZ4JzZ+SVdItXAJzp3d+CmT /oXu+msuLUy8Ltg5S8R1cIjr28rddelotAWeaVacaTNUb+4PeYb2Vb8zMdgqkiPp 8ITfeoaeZaI7b4YH74vB4LznAoGAajh9r9QEMaLRMvoHRZ+oBk2sAlAxZIU0j6TZ VxwHMZ9ZNtn8tsN+L6VSa+ZnGeXwetWcp9mU07kFI8XKRIghtwQzUnmLO7uc1v3s VreO8wViFZByB5apPWrhYAXKuxIsX69UVriSE5Law4AooUESLd1zLXAqb57njBo9 a9cs2b4CgYBCDFJlJjx5Kpl+fLWUf0XFuBavEBIMj7zmyzChUaSFC2DtYxlpiFxR cBcjIUY+E2y/oQxmuTg3Kv/J/ohR2jRcpitod5DkSnm5g/RWJKOHU0BDxwIVAMDe O+RsAJrlY4VExepy1NH8g3iV17cS7vPLr22/DGc/VPY0q7o5vvzsfQIVALmV5KIn Hbzk4aHvTIIdAIQWmq+O -----END DSA PRIVATE KEY-----
Si vous souhaitez faire des installations manuelles sur des postes clients alors, il vous faut copier le fichier /root/.ssh/id_dsa.pub dans le répertoire /tftpboot/revoboot/images/data. La clé sera alors disponible dans le partage 'data' du serveur Samba du LRS.
![]() | |
Vous ne devez pas rendre publique, la clé privée id_dsa sur aucun serveur de fichiers ! Si cette clé est volée, alors une personne aura un accès illimité à vos machines ayant installé la clé publique. |
![]() | |
Le module LSC est aussi capable d'utiliser des clés SSH protégées par une 'passphrase'. Dans ce cas, vous devez utiliser le programme 'keychain' pour lancer l'agent SSH, et ajouter les clés dans l'agent, avec une durée d'expiration des identitiés compatible avec la fenêtre de lancement des tâches. |
Le module LSC nécessite l'installation d'un programme (le service SSH) sur tous les postes clients. Cette opération peut être faite manuellement ou via l'utilisation de la fonction de post-installation du LRS (voir Chapitre 11, Guide de référence de la post-installation).
Les systèmes MS Windows ne disposant pas nativement de service SSH, un agent SSH (basé sur Cygwin/SSHd) est mis à la disposition des utilisateurs souhaitant utiliser la LSC sous MS Windows.
![]() | |
Seuls les systèmes MS Windows disposant d'un système de "service" peuvent utiliser l'agent, c'est à dire basés sur un noyau NT4 ou supérieur. Les plate-formes supportés sont:
Les plate-formes basées sur MS Windows Vista sont en cours de validation. |
Les paragraphes suivants décrivent les différents modes de déploiement de cet agent.
Le programme à exécuter sur les postes clients Windows est setupssh.exe pour installer un service SSH. Il faut être connecté en tant qu'Administrateur pour ce faire.
Ce programme se trouve sur le serveur LRS dans la zone de téléchargement accessible via un navigateur Web, ou directement à l'url http://adresse_ip_du_lrs/download/setupssh.exe.
Avant de lancer setupssh.exe, copiez la clé publique id_dsa.pub (disponible dans le partage 'data' du LRS) dans C:\.. Le programme est ensuite lancé pour installer le service et la clé.
Dans le module de post-installation de la "sauvegarde système", vous trouverez des scripts permettant d'installer le serveur ssh et la clé publique, ou ces derniers plus VNC : lscssh et lscsshvnc. Ces scripts de post-installation peuvent être utilisés, ou après l'installation d'une image système sur une machine ou en post-installation pure sans descendre de nouvelle image sur la machine. Pour ce faire, la clé id_dsa.pub doit avoir été copiée de /root/.ssh/id_dsa.pub vers le répertoire /tftpboot/revoboot/images/data.
Dans ce cas, il suffit dans la page de gestion des images locales ou partagées, d'utiliser la "loupe" (l'affichage des détails d'une image) et de choisir le script dans "Script de post-installation à utiliser" (voir Section 4.7, « Détails concernant une image »).
Dans ce cas, il faut choisir dans les images partagées, l'image "Postinst", l'insérer dans le menu affiché au boot, la sélectionner. Puis dans le menu "Options" du module "Sauvegarde système" pour cette machine (voir Section 4.5, « Options de sauvegarde et de boot »), choisir la même postinstallation que celle mentionnée dans le paragraphe précédent.
Cette famille de systèmes dispose généralement nativement d'un service SSHd basé sur OpenSSH. Pour permettre à la LSC d'accéder au système, il vous suffit de concaténer la clé publique de l'utilisateur root du LRS (/root/.ssh/id_dsa.pub) à la liste des clés autorisées à se connecter au compte root de la machine cliente (/root/.ssh/authorize_keys):
root@client# ssh root@serveur "cat /root/.ssh/id_dsa.pub" >> /root/.ssh/authorized_keys
![]() | |
Le LRS dispose aussi d'un clé au format RSA, si le client ne supportait pas le format DSA. Il vous suffit, dans l'exemple précédent, de remplacer « id_dsa.pub » par « id_rsa.pub ». |
![]() | |
Pour que la LSC puisse se connecter au poste client, ce dernier doit:
|
Afin d'arriver sur l'interface graphique du module de "Contrôle Sécurisé", il vous suffit de cliquer sur l'icône correspondante de la page "Centre de contrôle" du LRS.
Le module présente les onglets suivants :
Général : informations générales,
Dépôt de fichiers,
Explorateur : explorateur de fichiers distant,
état des commandes,
état de toutes les commandes.
Cet onglet présente les informations générales d'une machine ainsi que les actions génériques que l'on peut déclencher sur cette machine (extinction de la machine, redémarrage de la machine, lancement d'un inventaire).
Le profil ainsi que le groupe de la machine courante sont aussi affichés.
Le but du module LRS est la gestion au "kilo" des postes informatiques. L'unité n'est pas le poste mais plutôt la dizaine ou la centaine de poste. Aussi intéressant que ce soit pour l'assistance aux utilisateurs de pouvoir parcourir les disques durs des machines, cela ne suffit pas pour gérer un parc informatique, et surtout cela n'est pas possible pour un groupe de machines. Il faut donc trouver un moyen de transférer des fichiers, lancer des applications ou des installations sur des ensembles de machines de manière simple. C'est le but du "dépôt de fichiers".
Le dépôt de fichiers est une zone du serveur LRS contenant des fichiers, des répertoires qui pourront être copiés puis éventuellement exécutés sur tout ou partie des postes gérés par le LRS. Les 2 onglets "État des commandes" et "État de toutes les commandes" permettent de contrôler le bon déroulement de ces actions.
En cas d'échec de connexion à une machine, le module tentera à nouveau d'exécuter régulièrement l'action (transfert de fichiers et exécution). Différents paramètres permettent de régler l'intervalle entre 2 essais, le nombre d'essais, la date limite d'exécution, ...
Le dépôt des fichiers est accessible par l'interface Web mais aussi comme un partage SMB/CIFS accessible via \\nom_serveur_lrs\lsc ou \\adresse_ip_lrs\lsc (attention dans ce cas vous êtes un utilisateur anonyme lors d'un accès SMB) . On peut aussi y accéder directement sur le serveur via le chemin : /tftpboot/revoboot/lsc .
L'interface du dépôt est constituée de 4 parties :
l'arbre des répertoire,
les fichiers et répertoires du répertoire courant,
les options et le lancement d'une action sur la machine ou le groupe,
l'ajout de fichier au répertoire courant du dépôt par téléchargement.
Le but est de pouvoir préparer une action visant à installer des fichiers ou un programme constitué de fichiers sur la machine ou le groupe cible.
À chaque fichier ou répertoire est associé 3 actions comme dans le navigateur et 2 autres colonnes :
La première colonne contient une case à cocher indiquant que le fichier ou le répertoire doit être copié sur la machine ou le groupe,
la seconde colonne contient un bouton radio indiquant que ce programme doit être exécuté une fois que les fichiers ont été copiés. Il est possible de ne rien exécuter en cochant la case à cocher "Exécuter aucun fichier" du bas.
Une fois que l'on a choisi les fichiers ou les répertoires que l'on souhaite copier et lancer, on choisi les options d'installation dans la partie "Actions sur le poste client". Afin de rendre les logs plus clair, il est conseillé de donner un titre à son action, par exemple "Installation de OpenLook du 13/11/2018 sur machine Winux 20015". Ensuite on choisi si l'on veut que cette action soit lancer tout de suite ou à une date et une heure donnée (entrée de texte "Date de démarrage de la commande :"). On peut aussi choisir jusqu'à quand cette commande tentera de s'exécuter (entrée de texte : "Date limite d'exécution de la commande :").
Des arguments peuvent être passés au programme qui sera exécuté sur le ou les machines cibles, en les donnant dans l'entrée de texte "Passer les paramètres suivants au fichier à exécuter :".
Après l'exécution du programme d'installation, on peut demander la suppression de tous les fichiers que l'on a précédemment copié sur la machine ou le groupe cible. Il faut cocher l'option "Supprimer les fichiers après exécution avec succès".
Il est aussi possible de demander un inventaire après l'installation. Pour cela , il faut cocher l'option "Exécuter l'agent d'inventaire après l'exécution de la commande".
L'option "Si un poste client n'est pas accessible émettre une requête Wake On Lan" permet de tenter de démarrer par Wake On Lan une machine si elle n'est pas joignable. Après la tentative de démarrage, on essaye (au bout de 2 minutes) de relancer l'action. Il est aussi possible de régler le "Nombre maximal de tentative de connexion" entre 2 tentatives d'action ainsi que le "Délai entre deux tentatives de connexion ".
Il est également possible de déclencher un arrêt / redémarrage du client lorsque le déploiement s'est correctement déroulé en utilisant l'option "Action à réaliser après un déploiement réussi".
Une fois ces différentes informations données, il faut lancer ou programmer l'action souhaitée en cliquant sur le bouton "Lancer l'action".
La plupart des valeurs par défaut des paramètres précédents, ainsi que le répertoire dans lequel les fichiers sont stockés sur la machine cible sont paramétrables via le lien "Configuration du module" en haut à droite.
Cet onglet est grisé lorsque l'on se trouve dans le module LSC pour un groupe de machines. On ne peut en effet pas gérer les répertoires de toutes les machines en même temps.
Pour une machine donnée, cet onglet permet de visualiser le contenu des différentes partitions de l'ordinateur distant. Une représentation classique (arbre sur le côté, contenu du répertoire courant au centre, actions associées à chaque fichier / répertoire) et en dessous les possibilités d'envoyer les fichiers dans le répertoire courant, est utilisée.
En ce qui concerne l'arbre sur le côté, il faut noter que pour les machines Windows, au lieu d'utiliser la notation traditionnelle C:, D:, ... pour les lecteurs, c'est une notation "Unix" qui est utilisée. C: devient le répertoire /c , D: /d, ...
Figure 8.4. L'explorateur de fichiers présentant le contenu d'une partition d'un ordinateur contrôlé.

Les informations affichées dans le tableau "Liste des fichiers" sont les suivantes :
type : une icône de représentation du type de fichier est utilisée,
nom : le nom du fichier avec son extension
taille : la taille en octets,
date de dernière modification,
actions :
voir le contenu du fichier :

éditer le fichier, si c'est un fichier texte :

supprimer le fichier ou le répertoire :

exécution du fichier :

Il est ensuite possible de créer un fichier vide ou un répertoire dans le répertoire courant, ou d'y envoyer ("uploader") un fichier se trouvant sur l'ordinateur sur lequel le navigateur présentant cette page se trouve.
Une fois que l'on a lancé une action sur une machine ou un groupe de machines, il est important de connaître la progression de cette action. L'action est décomposée en 3 étapes :
le transfert des fichiers,
l'exécution de la commande,
la suppression des fichiers.
Chaque étape est elle même décomposée en 2 étapes : le début de l'étape et sa fin. Nous disposons pour chaque action de son degrés d'exécution ainsi que des logs obtenus à l'issu de chaque étape pour chaque machine. La page présentant l'état des toutes les commandes est la suivante :
Pour avoir l'état des commandes sur un client, il faut passer par l'onglet "État des commandes":
Pour chaque commande, on voit la date à laquelle la commande à été demandée, la date à laquelle la commande ne sera plus tentée et l'état de la commande (transfert en cours, transfert terminé, transfert échoué, exécution en cours, exécution terminée, exécution échouée, suppression en cours, suppression terminée, suppression échouée, exécution de l'inventaire en cours, erreur d'exécution de l'inventaire, inventaire terminée, connexion impossible, commande terminée, commande en pause, commande arrêtée , commande en attente).
Il est possible de voir les logs détaillés pour les différentes exécutions ainsi qu'un rappel des différents paramètres de la commande en cliquant sur l'icône « loupe ».
Les lignes de commande et codes d'erreur sont écrits en bleu, les sorties d'information (STDOUT) en vert, les messages d'erreur (STDERR) en rouge, et les horodatages en gris.
Il existe plusieurs systèmes permettant d'installer des logiciels sous Windows. Le standard de Microsoft est l'utilisation des packages MSI. Une source particulièrement intéressante d'information sur les installeurs Windows est le site du logiciel libre Unattended (un système équivalent à RIS de Microsoft) et en particulier sa section sur l'installation en ligne de commandes des programmes : http://unattended.sourceforge.net/installers.php .
En ce qui concerne spécifiquement les packages MSI, on trouvera de nombreuses pages d'informations sur www.msdn.com . On peut citer :
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/setup/command_line_options.asp
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/setup/standard_installer_command_line_options.asp
Un site recense également de nombreuses procédures d'installation: www.appdeploy.com. Nous donnons quelques exemples dans la suite de ce document.
Il n'y a pas plus simple, il suffit de créer un fichier Install_firefox.bat dans le même répertoire que le fichier standard d'installation de Firefox, Firefox_Setup_2.0.0.1.exe et d'utiliser les options -ms et -ira. Dans nos tests, l'utilisation de l'option -ira ou pas ne changez rien, cependant certains utilisateurs ont rapporté la nécessité de l'utiliser. Donc mettez la ligne suivante dans un fichier "install_firefox.bat" :
Firefox_Setup_2.0.0.1.exe -ms -ira
Mettez ce fichier et le .exe dans un sous-répertoire du dépôt de fichiers (via le partage 'lsc' par exemple), et créez une nouvelle tâche en sélectionnant les deux fichiers pour copie, et le .bat pour exécution.
Un tutoriel et une longue discussion sur l'installation sans intervention de OpenOffice se trouve à l'url suivante : http://www.oooforum.org/forum/viewtopic.phtml?t=606 .
Pour résumer, il faut utiliser les fichiers réponses de StarOffice. Ensuite la ligne de commande est "setup.exe -r <reponse_file>" ou encore "setup.exe -r C:\officeop.txt -D <installation>\<path>\OpenOffice.org\" .
Pour une installation bien paramétrée, le fichier réponse ressemble à :
; Basic settings [Environment] InstallationMode=INSTALL_NORMAL DestinationPath=C:\Program Files\OpenOffice.org ; Little hack to disable the QuickStarter [Module_Specify] InstallProcedure = MySelectProc [Procedures] Sub MySelectProc SelectModuleByName ( "OpenOffice" ) DeSelectModuleByName ( "QuickStarter" ) End Sub
OOo 2 utilise des fichiers d'installation au format msi, donc la méthode d'installation ressemble à celle d'office avec les options détaillées plus bas de msiexec. Il existe un éditeur de fichiers MSI qui peut être utilisé pour personnaliser encore plus l'installation : ORCA (http://support.microsoft.com/kb/255905/EN-US/).
On trouvera des informations supplémentaires aux endroits suivants http://documentation.openoffice.org/setup_guide2/ et http://documentation.openoffice.org/setup_guide2/2.x/en/SETUP_GUIDE_draft.pdf
L'organisation des fichiers pour l'installation d'OpenOffice 2.0 en version française doit être la suivante :

Organisation des fichiers dans le dépôt de fichiers pour l'installation d'OpenOffice 2
Le fichier bat que l'on lance pour faire l'installation est ins_silent_OOo2.bat
@echo off echo Debut de l'installation chmod ugo+rx * msiexec.exe /i openofficeorg20.msi /qn /lv OOo2.log.txt echo Installation terminee. more OOo2.log.txt rm -f OOo2.log.txt
Tout ce qui sort sur la sortie standard ou sur la sortie d'erreur apparaîtra dans les logs récupérés et affichés pour une commande dans l'interface Web. "Début de l'installation" sera donc affiché dans la page de compte-rendu. La commande « chmod ugo+rx * » garantit que les différents fichiers qui seront exécutés via msiexec seront bien exécutables (Cygwin est à la base de notre serveur SSH pour Windows, ce qui fait que vous pouvez utiliser des commandes de type Unix dans vos scripts).
Les options utilisées ici sont celles à utiliser d'habitude : /i nom_du_fichier.msi /qn (pas d'interface graphique) /lv nom_du_fichier_de.log.txt . La liste complète des options de la commande msiexec.exe sont les suivantes :
/i openofficeorg20.msi : /i suivi par le nom du package msi qui sera installé
/qn : /q indique une option de niveau d'interface graphique. /qn , c'est-à-dire 'q' suivi par 'n' indique aucune interface graphique, ce qui est bien ce que nous voulons. C'est une option obligatoire pour une installation via le module LSC.
/lv OOo2.log.txt : /l ou /L indique une option pour les logs. Ici les logs sont écrits dans le fichier du répertoire courant OOo2.log.txt. Attention si un chemin complet est indiqué, le répertoire doit exister. Les options par défaut sont iwearmo . Les autres options sont :
i : messages de statut
w : warning non fatal
e : tous les messages d'erreurs
a : actions au démarrage
r : enregistrements spécifique à l'action
u : demandes utilisateurs
c : paramètres initiaux utilisés
m : erreur fatale ou débordement mémoire
o : messages indiquant le manque d'espace disque
p : propriétés du terminal
v : sortie verbeuse (verbose)
x : informations de déboggue supplémentaires (seulement disponible sur windows server 2003)
+ : ajoute à la fin d'un fichier existant
! : flushe (force la sortie) de chaque ligne dans le log (à utiliser en cas d'erreur de type dépassement mémoire)
* : log toutes les informations exceptées pour les options v et x. Pour inclure les option v et x, indiquer "/l*vx".
Deux types d'installations sont possibles
Installation silencieuse version simple : Voir http://unattended.msfn.org/intermediate/apps/office/officexp_simple.htm . La commande est "start /wait <path>\<to>\OfficeXP\PROPLUS.msi /Qn /Lv officexppro.log.txt". La configuration se fait automatiquement, toutes les options par défaut sont installées.
Installation silencieuse version avancée : sélection des packages à installer (ces informations proviennent de http://unattended.msfn.org/intermediate/apps/office/officexp_advanced.htm) . Pour avoir à choisir les paramètres de l'installation, une installation d'office est faite puis les préférences d'installation sont sauvegardées dans un fichier transform.mst . Pour ce faire le logiciel de Microsoft ORCA sera utilisé.
Installez puis exécutez ORCA en allant dans "menu démarrer -> programme -> ms office tools ->ms office resource kit-> custom installation wizard". Ensuite :
sur la 1ère page : cliquez sur suivant.
2ème page : spécifier le fichier msi correspondant (ici, d:\proplus.msi, pour un version d'office avec powerpoint, sinon pro.msi pour un version pro standard).
3eme page : selectionner "create a new mst file."
les pages suivantes permettent de personnaliser l'installation automatique.
Un fois l'installation passée, un fichier .mst est généré et pourra être utilisé pour l'installation. Ce fichier peut être utilisé des deux manières suivantes :
<path>\<to>\\OfficeXP\setup.exe TRANSFORMS=Transform.MST /qb-
msiexec.exe /i <path>\<to>\openoffice.msi /qn TRANSFORMS=myTransform.mst
N.B.: Divers liens sur le déploiement d'Office XP : http://www.microsoft.com/technet/itsolutions/cits/dsd/bdd/bddxp03.mspx
IBM WAS peut être déployé de manière silencieuse en utilisant les Response Files (litt. fichiers de réponse). Les fichiers RSP sont utilisé pour configurer une installation à partir de quelques éléments, ce qui permet de pré-remplir les réponses attendues par l'assistant d'installation. L'assistant de WAS pouvant être utilisé en mode silencieux (-silent), à l'aide d'un RSP la LSC peut déployer IBM WAS sans difficulté.
Pour réaliser une installation en mode silencieux, il faut utiliser la ligne de commande suivante:
./install -options "/chemin/vers/le/responsefile.nd.txt" -silent
IBM fournit un fichier de réponses pré-rempli (responsefile.nd.txt) auquel il y a quelques changements à apporter pour réaliser une installation silencieuse. Voici un exemple de fichier de réponses (les commentaires ont été supprimés):
-OPT silentInstallLicenseAcceptance="true" -OPT installType="installNew" -OPT feature="noFeature" -OPT installLocation="/opt/WebSphere/AppServer61" -OPT profileType="none"
Le package LSC contiendra donc:
l'arborescence d'installation complète de WAS,
votre fichier de réponses modifié (par ex. monresponsefile.nd.txt),
et un script d'installation:
# perform install ./WAS/install -options ./monresponsefile.nd.txt -silent # gather exit code logFile="$INSTALL_DIRECTORY/logs/install/log.txt" result=`tail -1 $logFile | grep INSTCONFSUCCESS` # gather logs cat $logFile # exits if [[ "$result" = "" ]]; then exit 1 fi exit 0
La LSC peut être utilisée pour réaliser des déploiements de patchs système, que ce soit des mises à jour de sécurité ou des installation de paquets natifs.
Microsoft met régulièrement à disposition de ses clients de patchs corrigeant des failles de sécurité ou des dysfonctionnement de son système d'exploitation MS Windows. Ces patchs sont quasiment tous déployables en utilisant la LSC, moyennant quelques recherches à propos du patch à appliquer.
Pour obtenir des informations sur un patch particulier, la première étape est de récupérer son numéro de patch. Il s'agit de l'identifiant sous lequel il apparaît dans l'écran de mise à jour automatiques (accessible en cliquant sur l'icône « Windows Updates » dans la barre des tâches, puis en sélectionnant « installation personnalisée »):

Visualisation du patch #329170
L'étape suivante est la collecte d'information à propos du patch, en particulier comment le déployer en mode non-interactif. Pour cela rendez-vous sur http://support.microsoft.com/kb/<numéro-du-patch> . Recherchez dans la page le lien vous proposant la version s'appliquant à votre plate-forme et téléchargez-le. Consultez également les informations relatives à l'installation, en particulier les commutateurs permettant une installation complètement automatique. Dans le cas du patch #329170, il s'agit par exemple de:
q329048_wxp_sp2_x86_fra /u /q
(/u pour une installation automatique, /q pour que la fenêtre de mise à jour n'apparaisse pas).
Vous disposez maintenant du patch et des commutateurs pour l'installer en manière silencieuse. Il ne vous reste qu'à réaliser le paquet LSC correspondant:
dans le dépôt de la LSC, créez le répertoire qui contiendra le paquet (par exemple /ms_windows/patches/329170),
dans ce répertoire créez le fichier « deploy_patch.bat » contenant par exemple:
./q329048_wxp_sp2_x86_fra /u /q
copiez également le patch dans ce répertoire.
Votre paquet LSC de déploiement de patch est maintenant prêt à être utilisé.
La LSC peut être utilisée pour l'installation / suppression de paquets BFF sous IBM AIX. Ici encore le principe est d'utiliser une ligne de commande permettant l'installation du package de manière complètement non-interactive. Les manpages d'AIX indique que pour installer un .bff en mode non-interactif, il faut utiliser la commande installp avec la syntaxe suivante:
install -a -c -d <chemin vers un dépot> -X <paquet à installer>
Dans le cas de l'installation du client d'inventaire AIX, la commande sera par exemple:
installp -a -c -d ./ocsng-client-aix-53.bff -X freeware.ocsng-client.rte
Le package LSC peut être enrichi d'une commande de désinstallation:
installp -u freeware.ocsng-client.rte
Le package final sera constitué:
d'un script d'installation (install.sh),
d'un script de désinstallation (uninstall.sh),
d'une archive bff (ocs-client-aix-53.bff).
La LSC peut être utilisée pour l'installation / suppression de paquets sous Sun Solaris. Le principe de fonctionnement es identique à celui décrit dans le chapitre AIX, seules les commandes diffèrent.
Ici la commande pour l'installation sera (on utilise la commande yes pour inhiber les éventuelles questions posées à l'opérateur):
yes | pkgadd -d ./ocsng-client-solaris10 Mocsng-client
Et pour la désinstallation:
pkgrm -n Mocsng-client
Le package final sera constitué:
d'un script d'installation (install.sh),
d'un script de désinstallation (uninstall.sh),
d'une archive Solaris (ocsng-client-solaris10).
Dans le dépôt de fichiers de la LSC, sous le répertoire 'linbox', vous trouverez quelques exemples de fichiers .bat qui installent divers logiciels. Pour utiliser ces exemples, vous devez recopier le répertoire voulu et télécharger les fichiers du type 'setup.exe' requis. Par exemple, pour installer Mozilla Firefox, vous devez copier 'linbox/install-firefox' vers 'my-firefox-install' dans le dépôt, et télécharger 'Firefox_Setup_2.0.0.1.exe' et le recopier dans ce répertoire.
Les exemples suivants sont fournis:
install-OOo2: Installation d'OpenOffice.org 2.x.
install-firefox: Installation de Mozilla Firefox 2.0.x. Firefox_Setup_2.0.0.1.exe est requis.
install-inventory: Installation de l'agent d'inventaire LRS. Le nom du serveur LRS est défini comme 'LRS'. Editez le fichier .bat si le nom du serveur est différent.
install-vnc: Installation normale de TightVNC 1.2.9 server.
install-vncssh: Installation sécurisée de TightVNC 1.2.9 server (VNC over SSH).
update-inventory: Suppression des vieux agents d'inventaire et installation de la dernière version. Peut être utilisé pour passer des agents v3.x aux agents v4.x. Le nom du serveur LRS est défini comme 'LRS'. Editez le fichier .bat si le nom du serveur est différent.
update-ssh: mise à jour du serveur SSH utilisé par le LSC après le prochain reboot.
run-inventory.bat: force le lancement de l'agent d'inventaire.
La base de données de la LSC est stockée sous la forme de quatre tables :
commands
commands_on_host
commands_history
version
La table 'commands' contient les ordres envoyés via l'interface Web, qu'ils concernent une machine, un groupe ou un profil. La table 'commands_on_host' contient les commandes à passer sur chaque machine individuellement. La table 'commands_history' contient l'historique de chaque action élémentaire tentée sur une machine que ce soit la copie de fichiers, l'exécution ou la suppression de fichiers. Enfin, la table 'version' est utilisée pour garder une trace de la version de la structure de la base en vue d'être capable d'assurer les mises à jour.
| Champ | Type | Autre | Commentaire |
|---|---|---|---|
| id_command | int(11) | auto_increment | Clé d'index primaire de la table des commandes. |
| date_created | datetime | Date de création de la commande | |
| start_file | tinytext | ||
| parameters | text | Les paramètres à passer à la commande | |
| path_destination | text | Chemin de répertoire de destination des fichiers | |
| path_source | text | Chemin où se trouve les fichiers de l'application à installer sur le serveur | |
| create_directory | enum('enable','disable') | Créer le répertoire destination s'il n'existe pas | |
| start_script | enum('enable','disable') | Exécuter la commande. | |
| delete_file_after_execute_successful | enum('enable','disable') | Supprimer les fichiers si l'installation s'est passée correctement. | |
| files | mediumtext | ||
| start_date | datetime | Date à laquelle commencer à tenter l'installation | |
| end_date | datetime | Date à laquelle arrêter de tenter l'installation | |
| target | tinytext | La cible de la commande sous la forme profil:/groupe/sousgroupe/machine . Il peut n'y avoir que le profil, ou que le groupe, ou qu'une machine donnée | |
| username | varchar(255) | Nom de l'utilisateur de connexion ssh pour cette installation | |
| dispatched | enum('YES','NO') | ||
| title | varchar(255) | Titre donné à la commande et utilisé dans les logs | |
| start_inventory | enum('enable','disable') | Faire un inventaire après une installation réussie | |
| wake_on_lan | enum('enable','disable') | Si la machine n'est pas contactable, tente de la réveiller en utilisant le "wake-on-lan" | |
| next_connection_delay | int(11) | Délai entre 2 tentatives d'installation | |
| max_connection_attempt | int(11) | Nombre de connexions tentées au maximum avant d'abandonner l'installation. |
| Champ | Type | Autre | Commentaire |
|---|---|---|---|
| id_command_on_host | int(11) | auto_increment | Clé primaire |
| id_command | int(11) | Clé d'index lié à la table commands (un seul id_command pour plusieurs id_command_on_host) | |
| host | tinytext | Le nom de la machine | |
| start_date | datetime | Date à laquelle commencer à tenter l'installation | |
| end_date | datetime | Date à laquelle arrêter de tenter l'installation | |
| current_state | enum('upload_in_progress', 'upload_done', 'upload_failed', 'execution_in_progress', 'execution_done', 'execution_failed', 'delete_in_progress', 'delete_done', 'delete_failed', 'inventory_in_progress', 'inventory_failed', 'inventory_done', 'not_reachable', 'done', 'pause', 'stop', 'scheduled') | État courant de la commande | |
| uploaded | enum('TODO', 'IGNORED', 'DONE', 'FAILED', 'WORK_IN_PROGRESS') | État du chargement des fichiers | |
| executed | enum('TODO', 'IGNORED', 'DONE', 'FAILED', 'WORK_IN_PROGRESS') | État de l'exécution | |
| deleted | enum('TODO', 'IGNORED', 'DONE', 'FAILED', 'WORK_IN_PROGRESS') | État de la suppression des fichiers | |
| next_launch_date | datetime | Date de la prochaine tentative | |
| current_pid | int(11) | PID du processus SSH | |
| number_attempt_connection_remains | int(11) | Nombre de tentatives qu'il reste à faire | |
| next_attempt_date_time | bigint(20) | Date précise de la prochaine tentative au format Unix |
| Champ | Type | Autre | Commentaire |
|---|---|---|---|
| id_command_history | int(11) | auto_increment | Clé primaire |
| id_command_on_host | int(11) | Index et jointure sur commands_on_host (1 command_history pour plusieurs command_on_host) | |
| date | tinytext | Date de l'événement | |
| stderr | longtext | Contenu du stderr complet de la commande | |
| stdout | longtime | Contenu du stdout complet de la commande | |
| state | enum('upload_in_progress', 'upload_done', 'upload_failed', 'execution_in_progress', 'execution_done', 'execution_failed', 'delete_in_progress', 'delete_done', 'delete_failed', 'inventory_in_progress', 'inventory_failed', 'inventory_done', 'not_reachable', 'done', 'pause', 'stop', 'scheduled') | État correspondant à cet événement |

![[Avertissement]](/ucome.rvt/any/fr/Produits/LRS/details/doc/img/warning.png)
![[Astuce]](/ucome.rvt/any/fr/Produits/LRS/details/doc/img/tip.png)
![[Note]](/ucome.rvt/any/fr/Produits/LRS/details/doc/img/note.png)





