Journal : /etc, c'est le foutoir...
Posté par Matthieu Lagouge (Jabber id, page perso, ) le 23 mars 2006
En migrant de mon portable de travail vers un vieux fixe chez moi, j'ai réalisé à quel point le /etc est un gros foutoir difficilement gérable proprement!
Je repense à ça d'autant plus que je viens de lire l'astuce pour réinstaller sa debian, qui en fait ne garde qu'une liste de paquets.
Admettons! Si on change le matériel, quid du /etc?
On y va un fichier/répertoire à la fois, pour pas faire de bêtise?
C'est très long! Trop même pour être sûr!
D'où le principe de mon idée:
pourquoi ne pas revoir l'organisation de /etc en sections, plus "modulaires"?
- Un sous-répertoire pour ce qui concerne les choses purement - matérielles
- Un autre pour les réglages logiciels
- Pourquoi pas même distinguer les logiciels relatifs à l'administration et aux utilisateurs? (config apache séparée de celle de firefox, par exemple) voire aux interfaces réseau, etc.
Le but serait de savoir ce qu'on fait facilement quand on manipule ça:
- changement de machine pur: on vire le matériel, on garde le reste, déplacement de machine: on vire le réseau, on garde le reste, etc.
En plus, ça permettrait d'envisager des "sous-administrateurs" qui auraient accès à une partie du /etc et pas une autre, et de faciliter les backups des trucs considérés essentiels
Evidemment, ça va pas être simple (ex: xorg.conf, qui mélange allègrement la conf des polices, des drivers, etc.), mais est-ce que ça vaudrait pas le coup de se poser la question?
Je repense à ça d'autant plus que je viens de lire l'astuce pour réinstaller sa debian, qui en fait ne garde qu'une liste de paquets.
Admettons! Si on change le matériel, quid du /etc?
On y va un fichier/répertoire à la fois, pour pas faire de bêtise?
C'est très long! Trop même pour être sûr!
D'où le principe de mon idée:
pourquoi ne pas revoir l'organisation de /etc en sections, plus "modulaires"?
- Un sous-répertoire pour ce qui concerne les choses purement - matérielles
- Un autre pour les réglages logiciels
- Pourquoi pas même distinguer les logiciels relatifs à l'administration et aux utilisateurs? (config apache séparée de celle de firefox, par exemple) voire aux interfaces réseau, etc.
Le but serait de savoir ce qu'on fait facilement quand on manipule ça:
- changement de machine pur: on vire le matériel, on garde le reste, déplacement de machine: on vire le réseau, on garde le reste, etc.
En plus, ça permettrait d'envisager des "sous-administrateurs" qui auraient accès à une partie du /etc et pas une autre, et de faciliter les backups des trucs considérés essentiels
Evidemment, ça va pas être simple (ex: xorg.conf, qui mélange allègrement la conf des polices, des drivers, etc.), mais est-ce que ça vaudrait pas le coup de se poser la question?
> Lire le journal (27 commentaires, moyenne: 4,2).
Vous avez demandé le commentaire #694983.



plutôt que chercher un truc compliqué
Plutôt que chercher un truc compliqué, pourquoi ne pas avoir un dossier dans /etc/ par paquet ayant des fichiers de conf, avec à la rigueur une grosse séparation de départ, genre :
/etc/kernel
/etc/base-system
/etc/daemons
/etc/network
/etc/x-desktop
Bon, facile à dire, long à réorganiser, sans intérêt si ce n'est pas fait par une distro directement.
[^]Re: plutôt que chercher un truc compliqué
Mieux : à l'heure actuelle où on vante la facilité de Linux ici et là et où tous les bureaux tente de faire abstraction du système de fichier, quel pourrait être l'intérêt de tout réorganiser un standards qui a traversé des décennies au risque de tout chambouler ?
Après tout, sous Windows, depuis son origine, les dossier WINDOWS, "Program Files" et WINDOWS/SYSTEM* sont des gros bordels et ça n'a pas l'air de déranger l'utilisateur tant qu'il peut installer/désinstaller ses applications facilement.
[^]Re: plutôt que chercher un truc compliqué
ben le problème c'est justement quand tu ne peux plus :]
Windows has no users. It has hostages.
[^]Re: plutôt que chercher un truc compliqué
Moi je suis trés favorable à une arborescence comme celle-ci. Ca permettrait de s'y retrouver un peu plus facilement parce que c'est vrai que /etc au bout d'un moment c'est le bordel.
Et puis il y a bien eu une évolution de /dev alors pourquoi pas faire évoluer /etc ?
Je voterais aussi pour la création d'un répertoire ~/.etc qui permettrait de stocker tous les repértoires de config.
Chez moi :
lo@lo:~$ ls|wc -l
7
lo@lo:~$ ls -a|wc -l
101
Si on enlève les 7 répertoires, . et .. ça fait quand même 92 répertoires et fichiers cachés !
[^]Re: plutôt que chercher un truc compliqué
Il existe déjà ~/.local qui (il me semble) est standard selon freedesktop.org (personellement j'avais pris l'habitude de me créer un répertoire ~/... donc maintenant mon ~/.local est un lien vers ...).
Ce répertoire est censé reprendre l'organisation de / (j'avais un ~/.local/share), j'y ai crée un ~/.local/bin, des points de montage pour mes systèmes de fichier FUSE ~/local/{1,2,3}mnt.
Je pense qu'il y existe aussi un ~/local/etc, sinon rien n'interdit de le créer. En tout cas je trouve ça pratique, pour installer des programmes dans son /home il suffit de faire ./configure --prefix=~/... (ou ~/.local)
[^]Re: plutôt que chercher un truc compliqué
C'est la variable XDG_CONFIG_HOME qui définie l'emplacement du répertoire de conf défini par freedesktop. Il me semble qu'il est défini par défaut sur ~/.config mais rien n'empèche de le modifier.
Voir http://standards.freedesktop.org/basedir-spec/latest/ pour plus d'informations.
Malheuresement peu de logiciels utilisent encore ces variables et quand ils le font ce n'est pas forcément génial. ex ROX-Filer qui avant plaçait ses fichiers dans ~/ROX (ou un truc du genre) et qui utilise maintenant XDG_CONFIG_HOME. Résultat ses fichiers vont dans $XDG_CONFIG_HOME/rox.sourceforge.net ... Mouais :/ Et pour les autres applies que j'utilise avec Rox c'est $XDG_CONFIG_HOME/kerofin.demon.co.uk et $XDG_CONFIG_HOME/hayber.us ...
Mais oui, bien sur, c'est vachement parlant ça une addresse internet! /o\
[^]Re: plutôt que chercher un truc compliqué
Euh, en fait, c'était mon idée, désolé si je l'ai mal exprimée.
L'idée est effectivement d'avoir des sous-répertoires dans /etc suivant la catégorie de l'outil que l'on configure.
Evidemment, oui, ce serait long à faire, et je n'ai nullement les compétences nécessaires à ça.
Mon idée n'est pas d'avoir un équivalent aux bases de registres (dont je n'aime pas non plus le principe, en ce qui me concerne, c'est pire!). Mais je continue de dire que migrer la configuration d'une distribution linux peut être non trivial!
Tout le monde ne migre pas simplement le matériel ou le réseau. En ce qui me concerne, c'est le matériel (portable wifi+ethernet pour le bureau passerelle au travail différente chez moi vers un fixe avec un accès ethernet pur, avec un firewall dans la freebox). Apache ça change, la détection du réseau, ça change (vers du plus simple, mais ça change ;) ). Le matériel auto-détecté par udev, ça change, etc.
Alors oui, comme dit plus haut, il suffit de bien réfléchir, mais bien réfléchir, des fois, ça implique bien réfléchir quasiment pour chaque fichier de configuration!!
Je ne suis pas administrateur professionnel! Je dois parcourir chaque fichier et/ou répertoire pour être sûr de ne rien avoir oublié!
Comme cité, ça a été fait pour /dev, pourquoi ne pas l'envisager pour /etc? (et tant qu'on y est, effectivement un peu de standardisation des fichiers de config, et des ~/.* , ça ferait pas de mal non plus!)
Ceci n'était qu'une suggestion, je n'ai pas les moyens ni les compétences de m'attaquer à ça, et je ne veux pas critiquer mon système préféré!! Je propose ce qui me semble être une amélioration, ça s'arrête là.
[^]Re: plutôt que chercher un truc compliqué
Ben dans ce cas, pour te simplifier la vie coté matériel, pourquoi n'as tu pas dans ce cas fait une install de ta distrib coté matériel, poyur ensuite récupérer tes données et fichiers de conf applicatifs ? Ca t'aurait évité certains soucis non?