LINUX

Cómo configurar la colección de puertos en FreeBSD 11.0

El sistema operativo FreeBSD puede usar paquetes binarios con la utilidad pkg, pero por alguna ocasión, como ejecutar las versiones más recientes del código, querrá compilar algunos programas. Para eso, existe una colección de puertos muy útil que simplifica el proceso de compilación. En este artículo instalaremos y usaremos la colección de puertos para actualizar el sistema Freebsd 11.0. Este artículo asume que ha instalado FreeBSD 11 usando nuestro artículo anterior.

Usando la colección de puertos para instalar portmaster

Si está usando ssh para acceder a su máquina FreeBSD, querrá obtener la raíz para su usuario habitual antes de continuar, porque accede a la VM como usuario y luego necesita usar su. Por defecto, FreeBSD le dará un mensaje de disculpa, y para evitarlo, use el siguiente comando:

pw user mod username -G wheel

A continuación, podemos pasar a obtener el árbol de puertos del repositorio en línea:

portsnap fetch extract

Este comando obtendrá y extraerá el complemento de toda la colección de puertos en su sistema FreeBSD. La próxima vez que desee usar puertos, no necesitará buscar y extraer, en su lugar, simplemente ejecute

portsnap fetch update

A continuación, debemos cambiar el directorio de trabajo a la aplicación que queremos instalar, que en este caso es portmaster

cd /usr/ports/ports-mgmt/portmaster

Y luego simplemente escribe

make install clean

Y los puertos harán la magia. Se compilará para instalar un administrador de puertos, un script de shell que ayuda a actualizar todos los puertos.

Actualización de puertos con portmaster

Así que hemos instalado el primer programa desde el código fuente usando la colección de puertos. El siguiente comando que ejecutaremos nos mostrará qué puertos están listos para actualizar:

pkg version -l '<'

Tenga en cuenta que en versiones anteriores de FreeBSD, había el comando pkg_version, a partir de la 10.0 se cambió a la versión pkg.

La salida debería ser algo como esto:

atril-1.12.2 <
bash-4.3.46_1 <
ca_root_nss-3.26 <
expat-2.1.1_2 <
galculator-2.1.3 <
glib-2.46.2 <
hal-0.5.14_30 <
harfbuzz-1.3.0 <
icu-55.1 <
indexinfo-0.2.4 <
iso-codes-3.65 <
libassuan-2.4.2 <
libgd-2.2.2,1 <
libgpg-error-1.23 <
libmateweather-1.12.1 <
librsvg2-2.40.13 <
libspectre-0.2.7_2 <
libtasn1-4.8 <
llvm37-3.7.1_2 <

Para ver posibles problemas con los paquetes que están listos para actualizar, debe escribir

pkg updating

Al igual que con el comando anterior, había subrayado en versiones anteriores, ahora se ha ido. Salida de muestra del comando:

pkg updating
20160907:
AFFECTS: users of math/galculator
AUTHOR: woodsb02@FreeBSD.org

galculator now uses GTK3 by default. An option exists in the port to revert
to GTK2 if desired.

20160311:
AFFECTS: print/cups-base, print/cups-client, print/cups-image
AUTHOR: tijl@FreeBSD.org

The cups-base, cups-client and cups-image packages have been combined
into one cups package.

If you build your own ports the easiest way to update is to delete these
packages first and then build and install print/cups.

If you are using binary packages, depending on the packages installed on
your system, pkg(8)'s solver might get confused. In this case do not proceed
with the upgrade but delete first the packages:

pkg delete -fg "cups*"

Then usual upgrade process: pkg upgrade

 

......

Después de decidir que la actualización es segura para su sistema, puede ejecutar el siguiente comando para volver a compilar e instalar todos los paquetes que están listos para actualizar

portmaster -Da

Lo más probable es que la compilación lleve mucho tiempo. Así que cómprate un bocadillo o sal a caminar hasta que termine.

Buscar, instalar y eliminar puertos

Una vez finalizada la actualización, veamos cómo podemos encontrar e instalar software adicional usando los puertos. Si conoce el nombre del paquete que está buscando, puede escribir su nombre precedido de «whereis». Por ejemplo

whereis nginx

Encuentra dónde está nginx en el árbol de puertos

Lo dirigirá al directorio donde está el esqueleto de nginx, y desde allí puede instalarlo. Pero si no conoce el nombre exacto del paquete, puede utilizar la función de búsqueda de puertos. Para eso, primero necesitaría cd al directorio de puertos

cd /usr/ports/

make search name=nginx

Generará todos los paquetes relacionados con nginx.

Ahora que sabe cómo encontrar el paquete, instálelo, al igual que instalamos portmaster al comienzo de este artículo. Primer cd en el directorio esqueleto:

 cd /usr/ports/www/nginx

Luego inicia el proceso de compilación

make install clean

Le dará opciones de configuración en el entorno ncurses como este:

configurando nginx

Simplemente aceptaremos valores predeterminados y continuaremos. Instalará y compilará nginx. Y si vuelve a escribir whereis, le dará una salida diferente:

whereis nginx
nginx: /usr/local/sbin/nginx /usr/local/man/man8/nginx.8.gz /usr/ports/www/nginx

Le da la ruta binaria, la ruta de la página de manual y, al final, el esqueleto del puerto.

Para eliminar el puerto, vaya al esqueleto y escriba deinstall. Como esto:

cd /usr/ports/www/nginx

make deinstall

Conclusión

Pasamos por el uso básico de la colección de puertos de FreeBSD, con la actualización, instalación, búsqueda y desinstalación de puertos. Los puertos son la característica de FreeBSD que ha inspirado a la distribución de Linux Gentoo en hacer un administrador de paquetes portage para imitar los puertos de FreeBSD. Los puertos tienen muchas más características que no podríamos cubrir en un solo artículo. Te animamos a explorar. Gracias por leer, esto es todo por este artículo.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba
Cerrar