Compilar "Bind" en PkgSrc para SmartOS con la opción de "dnstap" (II)
En Compilar "Bind" en PkgSrc para SmartOS con la opción de "dnstap" describo cómo compilar Bind en SmartOS con soporte dnstap, utilizando PkgSrc. Por favor, lee dicho artículo para entender qué estoy haciendo y por qué.
El principal problema en ese artículo es que estoy utilizando la versión trunk de PkgSrc para beneficiarme de una versión más moderna de Bind, pero eso implica que la versión compilada utiliza bibliotecas no disponibles en la paquetería estándar de SmartOS y tenemos que compilarlas, distribuirlas e instalarlas a mano.
Si en vez de utilizar la versión trunk de PkgSrc utilizamos la versión que se corresponda a la Zona SmartOS en la que vamos a instalar Bind, no necesitaremos hacer nada especial.
Los cambios respecto a Compilar "Bind" en PkgSrc para SmartOS con la opción de "dnstap", serán:
-
Usamos una zona nativa SmartOS con la versión del software PkgSrc que se corresponda a las zonas nativas SmartOS donde vamos a instalar el Bind que compilamos, en vez de la versión trunk de PkgSrc:
[root@xXx ~]# imgadm avail|grep -i pkgbuild-lts 188ee9ce-540a-11eb-9cc1-2748cd10e5e2 pkgbuild-lts 20.4.0 smartos zone-dataset 2021-01-11 bd5afd7a-7ec1-11ec-80ab-7b01241031f6 pkgbuild-lts 21.4.0 smartos zone-dataset 2022-01-26
-
Entramos en la zona pkgsrc por SSH y le pedimos que cree un entorno virtual de compilación:
[root@PkgSrc ~]# run-sandbox 2021Q4-x86_64 It looks like this is the first sandbox creation for this pkgbuild. It will take longer than normal, as support packages need to be downloaded first. Subsequent runs will be much faster after they have been cached. [...] Unpacking bootstrap-2021Q4-x86_64 into /data/chroot/dev-2021Q4-x86_64...done. Setting up environment...done. Installing additional tools packages...done. Logging in. WARNING: On logout the sandbox will be destroyed. __ . . _| |_ | .-. . . .-. :--. |- |_ _| ;| || |(.-' | | | |__| `--' `-' `;-| `-' ' ' `-' / ; Instance (pkgbuild-lts 21.4.0) `-' https://docs.joyent.com/images/smartos/pkgbuild --<root@PkgSrc>-(/data/chroot/dev-2021Q4-x86_64)-<~>-- ->
- Compilamos Bind tal y como se describe en Compilar "Bind" en PkgSrc para SmartOS con la opción de "dnstap".
- Ahora podemos instalar nuestro paquete Bind con pkg_add [1].
[1] | Si acaso necesitamos bibliotecas adicionales, podemos instalar el paquete Bind original del sistema con pkgin install bind916. Esto instala el paquete original, junto las bibliotecas que necesita. Luego podemos instalar nuestro Bind encima con pkg_add -U. |