32.4. Configuration de SCPM via la ligne de commande

Cette section présente la configuration de SCPM via la ligne de commande : elle indique comment le démarrer, le configurer et utiliser les profils.

32.4.1. Démarrage de SCPM et définition de groupes de ressources

Avant d'utiliser SCPM, vous devez l'activer. Pour ce faire, utilisez la commande scpm enable. Lors de sa première exécution, SCPM est initialisé, ce qui prend quelques secondes. Vous pouvez désactiver SCPM avec scpm disable à tout moment pour éviter le basculement inopportun entre profils. Si vous le réactivez par la suite, l'initialisation reprendra.

Par défaut, SCPM gère les paramètres réseau et imprimante ainsi que la configuration X.Org. Pour gérer les fichiers de configuration ou les services spéciaux, activez les groupes de ressources. Pour afficher la liste des groupes de ressources prédéfinis, utilisez scpm list_groups. Pour n'afficher que les groupes déjà activés, utilisez scpm list_groups -a. Pour exécuter ces commandes, vous devez être connecté en tant que root.

scpm list_groups -a

nis                 Network Information Service client
mail                Mail subsystem
ntpd                Network Time Protocol daemon
xf86                X Server settings
autofs              Automounter service
network             Basic network settings
printer             Printer settings

Pour activer ou désactiver un groupe, utilisez scpm activate_group NAME ou scpm deactivate_group NAME (remplacez NAME par le nom du groupe).

32.4.2. Création et gestion de profils

Lorsque SCPM est activé, il existe déjà un profil nommé default. Vous pouvez afficher la liste des profils disponibles avec scpm list. Le profil existant est également le profil actif, comme vous pouvez le vérifier avec scpm active. Le profil default est une configuration de base de laquelle sont dérivés les autres profils. Vous devez donc d'abord définir les paramètres qui seront identiques dans tous les profils. Enregistrez ensuite ces modifications dans le profil actif à l'aide de scpm reload. Vous pouvez copier et renommer le profil default afin de l'utiliser comme base des nouveaux profils.

Vous pouvez ajouter un nouveau profil de deux manières différentes. Si le nouveau profil (appelé ici work) doit être basé sur le profil default, créez-le avec scpm copy default work. La commande scpm switch work bascule vers le nouveau profil, qui peut alors être modifié. Vous souhaiterez peut-être modifier la configuration du système à des fins particulières et enregistrer les modifications dans un nouveau profil. La commande scpm add work crée un profil en enregistrant la configuration actuelle du système dans le profil work et en l'activant. Exécutez alors scpm reload pour enregistrer les modifications apportées au profil work.

Les commandes scpm rename x y et scpm delete z permettent de renommer et de supprimer des profils. Ainsi, pour renommer work en project, entrez scpm rename work project. Pour supprimer le profil project, entrez scpm delete project. Le profil actif ne peut pas être supprimé.

32.4.3. Changement de profil de configuration

La commande scpm switch work permet de basculer vers un autre profil (le profil work, dans ce cas). Basculez vers le profil actif pour y intégrer les paramètres modifiés de la configuration du système. Cette opération est équivalente à la commande scpm reload.

Lors du basculement entre les profils, SCPM commence par vérifier quelles ressources ont été modifiées pour le profil actif. Il demande ensuite si la modification de chaque ressource doit être ajoutée au profil actif ou être ignorée. Si vous préférez avoir une liste séparée des ressources (comme dans les anciennes versions de SCPM), utilisez la commande switch avec le paramètre -r : scpm switch -r work.

scpm switch -r work

Checking for modified resources 
Checking for Resources to be started/shut down 
Checking for dependencies 
Restoring profile default 

SCPM compare alors la configuration en cours du système avec le profil vers lequel il doit basculer. À cette phase, SCPM identifie les services système à arrêter ou à redémarrer en raison de dépendances mutuelles ou des modifications de la configuration. Cette opération s'apparente à un redémarrage partiel du système, car seule une partie du système redémarre alors que le reste continue de fonctionner. Enfin, les services système sont arrêtés, les ressources modifiées, comme les fichiers de configuration, sont écrits, et les services système sont redémarrés.

32.4.4. Paramètres avancés du profil

Vous pouvez entrer une description pour chaque profil affiché avec scpm list. Pour le profil actif, utilisez scpm set description "text". Pour les profils inactifs, indiquez le nom du profil, par exemple scpm set description "text" work. Il est parfois utile d'effectuer des actions supplémentaires non proposées par SCPM lors du basculement entre les profils. Vous pouvez rattacher jusqu'à quatre exécutables à chaque profil. Ils sont appelés à différentes étapes du basculement. Ces étapes sont les suivantes :

prestop

avant l'arrêt des services, lors de la fermeture du profil

poststop

après l'arrêt des services, lors de la fermeture du profil

prestart

avant le démarrage des services, lors de l'activation du profil

poststart

après le démarrage des services, lors de l'activation du profil

Ajoutez ces actions à l'aide de la commande set, en entrant scpm set prestop filename, scpm set poststop filename, scpm set prestart filename ou scpm set poststart filename. Les scripts doivent être exécutables et faire référence au bon interpréteur.

[Warning]intégration d'un script personnalisé

Les scripts supplémentaires que SCPM doit exécuter doivent être lisibles et exécutables par le superutilisateur (root). L'accès à ces fichiers doit être bloqué pour tous les autres utilisateurs. Entrez les commandes chmod 700 filename et chown root:root filename pour donner à root des autorisations exclusives sur ces fichiers.

Demandez tous les paramètres supplémentaires entrés avec set et get. La commande scpm get poststart, par exemple, renvoie le nom de l'appel poststart ou rien si rien n'a été associé. Réinitialisez ces paramètres en les remplaçant par "". La commande scpm set prestop "" supprime le programme prestop associé.

Toutes les commandes set et get peuvent être appliquées à un profil arbitraire de la même manière que les commentaires. Par exemple, scpm get prestop filename work ou scpm get prestop work.