Nous avons un environnement de développement sur FreeBSD 10.3. J'ai entendu dire que FreeBSD gère les dépendances des packages de cette manière, qu'il recherche toujours la dernière version de tous les packages, dont le package principal dépend. Et cela semble vrai. Donc, mes questions sont:
- Est-ce vrai? existe-t-il des documents officiels qui le prouvent?
- La meilleure façon de surmonter ce problème?
pkg lock
, puis l'installer, puis installer tout ce que vous voulez.Réponses:
Comment FreeBSD construit des packages
Le projet FreeBSD utilisé pour construire des packages uniquement pour les versions et occasionnellement pour les branches STABLE. Les anciens constructeurs de packages utilisaient un système distribué nommé Portbuild. Il utiliserait un grand cluster de petites machines de 2 Go à 4 Go pour créer des packages. Cela a été source d'erreurs et lent, principalement en raison des anciennes machines. Une version complète pourrait encore prendre une semaine. Aujourd'hui, les packages sont construits à l'aide de grandes machines uniques utilisant Poudrière. (Tiré de la page Web de Brian Drewery ).
Voir aussi: Comment mettre à jour un mélange de packages et de ports sur FreeBSD
FreeBSD a une ABI (et une API) en évolution, tout comme Solaris et Windows, tandis que Linux a une ABI (et une API) stable (stagnante?), Donc avec Linux, les anciens binaires continueront de fonctionner sur une version de système d'exploitation plus récente tandis qu'avec des systèmes d'exploitation non Linux, ce n'est pas le cas. t toujours le cas (parfois c'est le cas).
L'utilisation
pkg lock
peut toujours conduire à des maux de tête , alors qu'elle se verrouille (offre un avertissement) lorsque vous essayez de la mettre à niveau,pkg upgrade
elle suppose toujours que des versions plus numérotées sont meilleures (souhaitables) et que c'est quelque chose que vous voudriez faire - elle demande donc la permission, et vous pouvez autoriser, mais cela ne garantit pas que quelque chose d'autre ne sera pas cassé. Voir l'URL ci-dessus, ou cette discussion: " Préféreriez-vous que FreeBSD verrouille les versions des paquets binaires distribués via pkg pour une version du système d'exploitation? ".Si un package est verrouillé, vous devrez parfois donner la permission de le déverrouiller et de faire la mise à niveau, alors que cela fonctionnera pour le package (et toutes ses dépendances), rien ne garantit que quelque chose d'autre ne sera pas incompatible avec les nouvelles bibliothèques ( et ont donc également besoin d'une mise à niveau, si elle est actuellement disponible).
Blog de Brian Drewery: " FreeBSD Journal: Poudriere ":
Mais, l'attelage ...
Donc ...
La solution:
La configuration de votre propre référentiel avec poudrière vous permet d'avoir la flexibilité des ports et la facilité de gestion des packages.
la source