Dans mon parc, j'ai quelques ordinateurs personnels sous FreeBSD ou Mac OS X et quelques systèmes virtualisés dans des jails. Chaque machine, possède un dossier contenant ses fichoers de configuration et il existe un dossier common contenant les fichiers communs à toutes les machines:
% ls
common creidhne llea mongan poudriere puk
Tous ces dossiers sont dans un dépôt git qui est cloné sur chaque machine réelle – les machines virtualisées dans des jails n'ont pas besoin du clone, cf. ci-dessous.
Fichiers communs
Dans le fichier common on trouve par exemple un fichier host mais aussi plein de petits trucs du style configuration du dæmon npd qui met à jour l'horloge du réseau, ou bien un fichier Xresource.
% ls common
10-ignore-patterns.fdi hosts ports-supfilePolicyKit.conf loader.conf portsnap.confXmodmap login.conf refuse-supfileXresources make.conf resolv.confdevfs.conf motd src.confdevfs.rules networks stable-supfiledoc-supfile ntp.conf sudoersfonts-local.conf pkgtools.conf sysctl.conf
Fichiers par machine réelle
Pour la machine réelle llea on a les fichiers spécifiques suivants: on y trouve la configuration de SSH, de NFS, de poudrière, de musicpd, etc.:
Les listes BOOT, BASE, XORG, PORT et PKLA énumèrent respectivement les fichiers de configuration pour le démarrage de la machine, pour le système de base, Xorg, les ports et les règles pour le Policy Kit de FreeDektop.org.
L'incantation magique .PATH: ../common indique à bmake que les fichiers non trouvés dans le dossier courant peuvent être cherchés dans ../common. Après ceci un petit make install donne
On voit une authentification avec su - mais on pourrait utiliser sudo aussi. La dernière ligne montre un petit détail sympa puisque la base de donnée des logins est automatiquement reconstruite.
Fichiers par machine virtualisée dans une jail
C'est la même chose que pour une machine réelle, mais il faut ajouter une déclaration JAILDIR qui indique la racine du système de fichiers du système virtualisé:
### Makefile – The CREIDHNE Trac serverJAILDIR?= /guest/jail/creidhne
...
Ainsi dans le système hôte, on peut installer les fichiers dans le système virtualisé:
Si vous êtes tentés pour avoir la même chose sur votre sytème Linux préféré n'hésitez pas à me faire part de vos besoin sur le issue tracker du projet! Même en français ou en allemand! :)
# BSD Owl Scripts
Posté par Michaël (site web personnel) . En réponse au journal Gérer ses fichiers de config avec git. Évalué à 9. Dernière modification le 17 avril 2015 à 11:09.
Sommaire
Je fais ça avec BSD Owl Scripts1 qui propose un module dédié pour les systèmes FreeBSD.
Organisation
Dans mon parc, j'ai quelques ordinateurs personnels sous FreeBSD ou Mac OS X et quelques systèmes virtualisés dans des jails. Chaque machine, possède un dossier contenant ses fichoers de configuration et il existe un dossier
commoncontenant les fichiers communs à toutes les machines:Tous ces dossiers sont dans un dépôt git qui est cloné sur chaque machine réelle – les machines virtualisées dans des jails n'ont pas besoin du clone, cf. ci-dessous.
Fichiers communs
Dans le fichier
commonon trouve par exemple un fichierhostmais aussi plein de petits trucs du style configuration du dæmon npd qui met à jour l'horloge du réseau, ou bien un fichierXresource.Fichiers par machine réelle
Pour la machine réelle
lleaon a les fichiers spécifiques suivants: on y trouve la configuration de SSH, de NFS, de poudrière, de musicpd, etc.:La partie importante est le
Makefile:Les listes BOOT, BASE, XORG, PORT et PKLA énumèrent respectivement les fichiers de configuration pour le démarrage de la machine, pour le système de base, Xorg, les ports et les règles pour le Policy Kit de FreeDektop.org.
L'incantation magique
.PATH: ../commonindique à bmake que les fichiers non trouvés dans le dossier courant peuvent être cherchés dans../common. Après ceci un petitmake installdonneOn voit une authentification avec
su -mais on pourrait utilisersudoaussi. La dernière ligne montre un petit détail sympa puisque la base de donnée des logins est automatiquement reconstruite.Fichiers par machine virtualisée dans une jail
C'est la même chose que pour une machine réelle, mais il faut ajouter une déclaration
JAILDIRqui indique la racine du système de fichiers du système virtualisé:Ainsi dans le système hôte, on peut installer les fichiers dans le système virtualisé:
Et voilà!
Prolongations
Si vous êtes tentés pour avoir la même chose sur votre sytème Linux préféré n'hésitez pas à me faire part de vos besoin sur le issue tracker du projet! Même en français ou en allemand! :)
1 Disponible sous Debian, Ubuntu, et bientôt MacPorts et FreeBSD. Une installation à la mano est possible et facile. Marche aussi sous Cygwin.