# [portage] arbre déporté

## Biloute

Plus le temps passe et plus je me demande quelle est l'utilité d'avoir l'arbre portage sur mon disque dur.

J'utilise /etc/portage/rsync_excludes pour raccourcir emerge --sync et réduire l'espace disque utilisé.

Pourrait on plutôt passer par une option qui utilise l'arbre qui est dans un serveur?

Plus besoins d'un emerge --sync et on passe directement par un emerge -uDN world

----------

## guilc

Message séparé du thread qui n'avait rien à voir, pour un question qui peut avoir son intérêt  :Wink: 

Merci boozo de l'avoir pointé

----------

## guilc

 *Quote:*   

> Je vois que mon sujet est retransmis dans un autre post. Certe l'histoire de l'abre portage est un peu hors sujet mais c'est tout de même la philosophie de gentoo.

 

Heu, non, ça n'a rien à voir avec l'esprit de la distro hein  :Wink:  Toutes les distros ont leur base de packages locale. Sous une forme plus ou moins différente :

- chez gentoo c'est l'arbre de portage arborescence de fichiers plats

- chez arch c'est une DB pour la base + un pseudo arbre de ports (ABS) pour les trucs customs

- chez debian c'est une DB

- chez RH c'est une DB

- etc...

En terme d'espace disque et d'I/O, il est clair que la solution fichiers plats est la moins optimale.

Après, chez Gentoo il avait à une époque été discuté de remplacer l'arbo de fichiers plats par une DB. Cela aurait l'avantage d'améliorer les perfs de calculs de dépendances, mais au prix d'une énorme perte de souplesse (distribution des patches, hacks et bugfixes plus complexes, etc...)

Distribuer l'arbre de portage de manière centralisée, ça marche, en faisant un montage NFS de /usr/portage par exemple. Par contre, cela a un coût non négligeable : le temps de calcul des dépendances est pas mal augmenté, du fait du nombre très important d'I/O faits pendant cette étape.... Mais problème : tu n'es pas sur ton réseau, pouf, plus d'arbre => tu veux installer un paquet, ou même simplement faire une recherche : bah non, tu peux plus ! Avoir la base de packages localement, c'est une vraie souplesse.

Si le seul but est de réduire l'espace disque, plutôt que de faire du rsync_excludes avec les problèmes que cela apporte en cas de dépendance dans une catégorie exclue, il y a la solution squashfs, qui en plus de te faire gagner de l'espace disque va améliorer la vitesse de calcul des dépendances, au prix d'un peu plus de complexité au moment de la mise à jour de l'arbre.

----------

