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
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:
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.