Bonsoir à tous,
Ça fait quelques jours que je suis tombé sur l’info et que je suis entrain de lire un peu de tout à ce sujet sur le net, et comme ça me parait important j’ai décidé d’ouvrir un fil de discussion ici à ce sujet pour toutes celles et ceux qui seraient intéressés…
Le sujet est donc la migration prochaine des fichiers contenus dans les répertoires {/bin, /lib, /sbin} vers leurs homologues correspondants dans /usr/… ; et un symlink des ces premiers répertoires vers les seconds : le projet usrmerge.
L’objectif de cette migration
(traduction succinte de la page https://www.freedesktop.org/wiki/Software/systemd/TheCaseForTheUsrMerge/ ) :
-
Amélioration de la compatibilité avec les autres Unix / Linux dans le comportement. Après la fusion avec /usr, tous les binaires deviennent disponibles respectivement dans : _
_ “/bin <–> /usr/bin”
_"/sbin <–> /usr/sbin _
"/lib <–> /usr/lib"
_simplement parce que /bin devient un lien symbolique vers /usr/bin, resp /sbin vers /usr/sbin… _
Cela signifie que les scripts/programmes écrits pour d’autres Unix ou d’autres Linux et portés à la distribution courante n’auront plus besoin de correction pour les chemins de système de fichiers des binaires appelés, ce qui est par ailleurs une source majeure de frustration. /usr/bin et /bin (resp. /Usr/sbin et /sbin, …) deviennent tout à fait équivalents. -
Amélioration de la compatibilité avec d’autres Unix (en particulier Solaris) en apparence : la première implémentation commerciale Unix est aujourd’hui Oracle Solaris. Solaris a déjà réalisé la même fusion dans Solaris 11. En opérant le même changement dans Linux, il s’agit de minimiser la différence par rapport à l’implémentation primaire d’Unix, facilitant ainsi la portabilité de Solaris.
-
Amélioration de la compatibilité avec les systèmes de compilation GNU: la majeure partie du logiciel Linux est construite avec GNU autoconf / automake (c’est-à-dire GNU autotools), qui ignorent la division /usr spécifique à Linux. Le maintien de la division /usr nécessite une gestion non triviale du projet dans le système de génération en amont et dans les packages de votre distribution. Avec la fusion /usr, ce travail devient inutile et le portage des paquets vers Linux devient plus simple.
-
Amélioration de la compatibilité avec le développement en amont actuel: Afin de minimiser l’écart entre votre distribution Linux et le développement en amont, la fusion / usr est essentielle.
-
Un schéma de système de fichiers unifié (résultant de la fusion / usr) est plus compatible avec UNIX que le partitionnement traditionnel de Linux de / bin vs. / usr / bin. Les Unix diffèrent de par le chemin où les outils sont installés, leurs emplacements dans de nombreux cas ne sont pas définis du tout et diffèrent dans les différentes distributions Linux. La fusion / usr supprime cette différence dans son intégralité et fournit une compatibilité totale avec les emplacements des outils de n’importe quel Unix via le lien symbolique de / bin vers / usr / bin.
Bon je n’ai pas traduit tout le document, mais je pense que l’essentiel est posé ici.
Ce qu’il faut retenir c’est que cette migration se fera à terme, et que Debian semble être le dernier à passer le cap.
En effet comme cité dans le document pratiquement toutes les autres distributions ont franchi le pas : Solaris depuis environ 15 ans, Fedora est, me semble t-il, la 1ère distrib a avoir complètement emboîté le pas également (à noter une petite digression, pour ceux qui veulent tester, que la dernière version de Fedora est également la 1ère à passer totalement sur Wayland out-of-the-box)…
En ce qui concerne Debian, il était prévu que cette migration se fasse lors de la sortie de Debian Stretch, mais elle a été reportée pour le moment ( source : https://www.phoronix.com/scan.php?page=news_item&px=Debian-Installer-Stretch-RC1 ), apparemment des bugs encore subsistants…
Enfin, malgré le fait que la transition officielle ait été repoussée, il existe d’ores et déjà dans les dépôts des branches Testing et Sid un paquet nommé “usrmerge” :
gogi@blabla:~$ acpol usrmerge
usrmerge:
Installé : (aucun)
Candidat : 13
Table de version :
13 520
520 https://deb.debian.org/debian sid/main amd64 Packages
510 https://deb.debian.org/debian testing/main amd64 Packages
Ce paquet convertira automatiquement le système dans une disposition de répertoires fusionnés dans /usr, mais attention il n’existe pas de méthode automatique pour revenir à la précédente configuration, aussi aucun retour en arrière n’est possible une fois que ce paquet est installé.
Pour vous donner un petit retour d’expérience, j’ai bien sûr déjà essayé la manip sur une machine Debian Sid en VM sous virtualbox, et la migration se fait instantanément, et ce sans soucis par la suite en utilisation…
Néanmoins si vous vous lancez dans l’opération sur votre système principal je ne peux que conseiller de faire une sauvegarde préalable de celui-ci, car on ne sait jamais ce qui peut arriver, et comme il n’y a pas de retour en arrière…
Voilà pour l’intro du sujet.