Bonjour,
je suis souvent perplexe face à la foulitude de manières de faire entre chaque administrateur système. Ma question du jour porte sur les emplacements que vous utilisez pour placer des programmes, scripts et fichiers de configuration maisons. Je parle là de programmes non standards, par exemple un script de sauvegarde et son fichier de configuration.
Les choix classiques pour les programmes et scripts sont:
- /bin ou /sbin (en principe uniquement si nécessaire au démarrage de la machine, mais beaucoup les mettent là).
- /opt (vieille habitude BSD mais je ne le fais jamais avec Linux)
- /usr/local/bin et /usr/local/sbin (ma préférence)
Les choix classiques pour les fichiers de configuration sont:
- /etc
- /usr/etc (n'existe pas par défaut sous Debian, tient...)
- /usr/local/etc (ma préférence)
Pour compliquer le tout, /usr est censé pouvoir être partagé entre plusieurs machines, mais alors /usr/local/etc va poser des problèmes. Il faudrait alors monter local/etc dans /usr en fonction de la machine, donc un montage dans un montage.
# Voir le FHS
Posté par Obsidian . Évalué à 5.
http://www.pathname.com/fhs/
/usr/etc n'existe pas, à ma connaissance.
Ensuite, ma philosophie est que, par défaut, le seul endroit où un utilisateur a le droit d'écrire en l'absence de droits accordés est son /home. Par conséquent, quand je code, j'essaie de tout y faire, en tout cas la majorité.
Personnellement, je me suis créé un répertoire ~/sys, dans lequel j'ai recréé tous les répertoires habituels d'un Unix : bin sbin man include lib etc. J'ai ensuite fait pointer patiemment mes variables d'environnement vers ces répertoires, en configurant mon ~/.bashrc. Donc : PATH LD_LIBRARY_PATH MANPATH et autres variables propres aux systèmes moins généraux (PKG_CONFIG, etc.)
Moralité, quand je compile un package expérimental depuis les sources, je fais configure --prefix=~/sys et tout va à sa place sans poluer le système ni m'obliger à passer root, l'idéal en entreprise. Si j'ai peur de ne pas m'y retrouver avec mes programmes perso, rien ne m'empêche de créer la même arborescence juste à côté.
En outre, tous mes petits scripts (nettoyage des fichiers temporaires, par exemple, et tout ce qui ne tient pas dans alias) va direct dans ~sys/bin aussi. Pour un script de sauvegarde, c'est tout-à-fait exploitable par cron.
Si c'est à disposition des utilisateurs, de deux choses l'une : soit c'est vraiment expérimental et ça va dans /usr/local, soit je me fends de la réalisation d'un package, et je le mets dans le système normal (/usr). À tout le moins, je vérifie qu'il existe un make uninstall ou distclean, ou alors je sauve au moins la liste des fichiers installés avec leur chemin quelque part.
[^] # Re: Voir le FHS
Posté par Kerro . Évalué à 2.
/usr/etc n'existe pas, à ma connaissance.
C'est indiqué dans la page de manuel "hier" de Debian et Red Hat. Mais je ne connaissais pas, c'est en relisant la page de manuel que je l'ai vu.Que tu utilises ton /home me semble évident pour développer, et pour y loger tes scripts personnels. Mais concernant un système de sauvegarde de serveur par exemple, je vois plutôt ça ailleurs. C'est une histoire de gouts. Par exemple chez OVH, la configuration par défaut est d'avoir un tout petit / et tout le reste du disque en /home.
(*) au fait, quelqu'un connaît un autre hébergeur du type d'OVH ?
http://linuxfr.org/forums/33/25312.html
[^] # Re: Voir le FHS
Posté par Obsidian . Évalué à 3.
Mouais, on a un admin système aussi facho qu'incompétent pour qui ce genre de chose n'est pas clair. Du coup, ça devient assez hardcore, certaines fois.
Mais concernant un système de sauvegarde de serveur par exemple, je vois plutôt ça ailleurs.
C'est ce que j'explique plus haut, aussi.
Sinon, ma préférence va également à /usr/local.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.