Tenemos un entorno de desarrollo en FreeBSD 10.3. He oído que FreeBSD gestiona las dependencias de paquetes de esa manera, que siempre busca la versión más nueva de todos los paquetes, de la que depende el paquete principal. Y parece verdad. Entonces, mis preguntas son:
- ¿Es esto cierto? ¿Hay algún documento oficial que lo demuestre?
- ¿La mejor manera de superar este problema?
pkg lock
luego instalarlo y luego instalar todo lo que desee.Respuestas:
Cómo FreeBSD construye paquetes
El proyecto FreeBSD solía construir paquetes solo para lanzamientos y ocasionalmente para las ramas ESTABLES. Los antiguos creadores de paquetes utilizaron un sistema distribuido llamado Portbuild. Usaría un gran grupo de máquinas más pequeñas de 2GB-4GB para construir paquetes. Esto era propenso a errores y lento, principalmente debido a las máquinas más antiguas. Una construcción completa aún podría tomar una semana. Hoy en día, los paquetes se crean utilizando máquinas grandes individuales que utilizan Poudriere. (De la página web de Brian Drewery ).
Vea también: Cómo actualizar una combinación de paquetes y puertos en FreeBSD
FreeBSD tiene un ABI (y API) en evolución, al igual que Solaris y Windows, mientras que Linux tiene un ABI (¿estancado?) Estable, por lo que con los viejos binarios de Linux todavía se ejecutará en una versión más nueva del sistema operativo, mientras que con sistemas operativos que no son Linux, esto no es Siempre es el caso (a veces lo es).
El uso
pkg lock
aún puede provocar dolores de cabeza , mientras que se bloqueará (ofrecerá una advertencia) cuando intente actualizarpkg upgrade
, aún supone que las versiones con números más altos son mejores (deseables) y que es algo que querría hacer, por lo que pide permiso, y puedes permitirlo, pero no garantiza que algo más no se rompa. Vea la URL anterior, o esta discusión: " ¿Preferiría FreeBSD para bloquear versiones de paquetes binarios distribuidos a través de pkg para una versión del sistema operativo? ".Si un paquete está bloqueado, a veces tendrá que dar permiso para desbloquearlo y realizar la actualización, mientras que eso funcionará para un paquete (y todas sus dependencias) no hay garantía de que algo más no sea incompatible con las nuevas bibliotecas ( y por lo tanto también necesita una actualización, si hay una disponible actualmente).
Blog de Brian Drewery: " FreeBSD Journal: Poudriere " opina:
Pero, el enganche ...
Entonces ...
La solución:
Configurar su propio repositorio con poudriere le permite tener la flexibilidad de los puertos y la facilidad de administración de paquetes.
fuente