Voilà un petit billet très court, pour rappeler (ou expliquer) au gens comment modifier les fichiers de configuration d’une distribution SME. Pourquoi, j’ai choisi de faire ce billet, pour deux raisons, la première pour m’aider à moi mémoriser le process, la seconde, parce que le sujet est documenté de façon très obscure à mon goût.

Tout d’abord un rapide point sur la distribution SME, il s’agit d’une distribution orientée passerelle, qui remplacera avantageusement un petit routeur en raison de sa modularité.


En effet, son intégré de base dans cette distribution, un serveur web (apache/mysql/php), capable de faire du multi-domaines, mais aussi un serveur de mails, un annuaire LDAP (couplé au serveur de mails), un serveur Samba (pour faire du NAS, ce qui est très pratique vu que la distribution gère aussi le RAID), un antivirus (clamav), un serveur d’impression (qui fonctionne très bien avec les imprimantes USB aussi). Elle intègre aussi toutes les fonctionnalités indispensable à une passerelle (proxy, serveur DNS/DHCP, dialeur PPP, …). Et comme ça reste une distribution linux, si vous avez envie d’ajouter des morceaux, libre à vous.

Cette distribution est architecturé autour d’un noyau CentOS, et utilise pour ses fichiers de configuration un système de base de données et de templates assez avancé pour permettre une personnalisation poussée. Ces fichiers de template étant des scripts en Perl, les possibilités que vous avez dans la customisation sont vastes.

Tout les fichiers de configuration sont en effet créés à partir des templates présents dans

/etc/e-smith/templates

et éventuellement d’informations complémentaires présentes elles dans :

/etc/e-smith/templates.meta-data

Dans le cas de mon installation, j’ai plusieurs cartes réseau répondant au même pilote. Pour forcer les cartes à être nommées en fonction de ma topologie, j’ai modifié le template de façon suivante, j’ai ajouté un fichier nommé :

/etc/e-smith/templates/etc/sysconfig/network-scripts/ifcfg-ethX/99HWADDR

contenant :

{
return « HWADDR=$THIS_HWADDR »;
}

Et j’ai également modifié le fichier meta-data associé :

/etc/e-smith/templates.metadata/etc/sysconfig/network-scripts/ifcfg-eth0

comme cela (modification en rouge) :

TEMPLATE_PATH= »/etc/sysconfig/network-scripts/ifcfg-ethX »
OUTPUT_FILENAME= »/etc/sysconfig/network-scripts/ifcfg-eth0″
MORE_DATA={THIS_DEVICE=> »eth0″,THIS_HWADDR=> »00:18:F3:73:F3:C1″,THIS_MTU=> »1480″}

Le fichier 99HWADDR (de même que le fichier 98MTU non représenté ici) fait donc maintenant parti du template servant à générer les fichiers /etc/sysconfig/network-scripts/ifcfg-ethX appellé lors de l’initialisation des périphérique réseau.

Reste maintenant à appliquer le template au fichier en question ce que vous ferez via la commande :

expand-template /etc/sysconfig/network-scripts/ifcfg-eth0

Et vous aurez un beau fichier ifcfg-eth0 contenant les lignes :

MTU=1480
HWADDR=00:18:F3:73:F3:C1

Les plus curieux d’entre vous auront remarqués que j’ai une carte de marque ASUSTek en eth0.

Et voilà, comment faire des modifications simples sur les fichiers de configurations de SME.

Prochaine billet sur le sujet, la même opération avec des scripts un peu plus complexe et des appels aux bases de données.

Leave a comment

There are no comments yet.

Laisser un commentaire