web-dev-qa-db-fra.com

Quelles sont les alternatives à la FHS?

Je suis un utilisateur de Linux depuis longtemps pendant plus de 15 ans, mais une chose que je déteste avec une passion est la structure de répertoire mandatée. Je n'aime pas ça /usr/bin est le sol de dumping pour les binaires ou les libs dans /usr/lib, /usr/lib32, /usr/libx32, /lib, /lib32 etc ... des choses aléatoires dans /usr/share, etc. C'est muet et déroutant. Mais certains comme ça et des goûts diffèrent.

Je veux une structure de répertoire où chaque colis est isolé. Imaginez plutôt si le lecteur multimédia Dragon avait sa propre structure:

/software/dragon
/software/dragon/bin/x86/dragon
/software/dragon/doc/README
/software/dragon/doc/copyright
/software/dragon/lib/x86/libdragon.so

Ou:

/software/zlib/include/zlib.h
/software/zlib/lib/1.2.8/x86/libz.so
/software/zlib/lib/1.2.8/x64/libz.so
/software/zlib/doc/examples/...
/software/zlib/man/...

Tu obtiens le point. Quelles sont mes options? Y a-t-il une distribution Linux qui utilise quelque chose comme mon schéma? Certains distro peuvent-ils être modifiés pour travailler comme je le veux (gentoo ??) ou ai-je besoin de LFS? Y a-t-il un art antérieur dans ce domaine? Comme des publications sur si le système est réalisable ou irréalisable?

Ne pas rechercher OS X. :) Mais OS X-Inspiré Totalement OK.

Edit : Je n'ai aucune idée de la façon dont PATH, LD_LIBRARY_PATH et d'autres variables d'environnement qui dépendent d'un petit ensemble de chemins devraient s'entraîner. Je pense que si j'ai l'éditeur KDE kate installé dans /software/kate/bin/x86/bin/kate Ensuite, je vais bien avoir à taper le chemin complet du binaire pour le démarrer. Comment cela devrait fonctionner pour des bibliothèques dynamiques et dlopen appels, je ne sais pas, mais cela ne peut pas être un problème d'ingénierie insoluble.

32
Björn Lindqvist

Les deux gobolinux (que F.SB mentionné) et GNU GUIX sont des distributions qui utilisent une structure de répertoire par paquet avec des liens symboliques pour indiquer la version "actuelle" d'un binaire .

Gobolinux semble être le meilleur pari si vous voulez un système stable. GNU GUIX dit explicitement que ce n'est pas encore prêt à la production. Gobolinux existe depuis des années. Je n'ai jamais essayé non plus moi-même.

6
cjm

Si chaque colis avait sa propre partie du système de fichiers, vous auriez besoin de variables d'environnement extrêmement volumineuses et lourdes PATH, LD_LIBRARY_PATH et similaire.

Vous pouvez bien sûr installer vos paquets de cette façon, puis utiliser quelque chose comme GNU modules pour gérer s'ils sont dans votre environnement ou non, et c'est ce que nous faisons pour les logiciels scientifiques où je travaille , mais nous ne le faisons pas pour le logiciel système.

4
Tim Cutts