23 ejemplos útiles de comandos PKG para administrar paquetes en FreeBSD

23 ejemplos útiles de comandos PKG para administrar paquetes en FreeBSD

En este tutorial explicaremos cómo administrar aplicaciones de paquetes binarios precompilados en FreeBSD. con la ayuda de la herramienta de administración de paquetes llamada PKG. a través de Puertos. repositorio de colección de software.

El repositorio de puertos. ofrece las herramientas necesarias para compilar aplicaciones a partir del código fuente, junto con sus dependencias, pero también mantiene una enorme colección de paquetes, actualmente más de 24.000. paquetes, que se pueden instalar en un sistema FreeBSD con el comando pkg.

Requisitos:

  1. FreeBSD 11.x Instalación

Buscar y encontrar aplicaciones en el árbol de puertos en FreeBSD

1.. Los repositorios de puertos se dividen en categorías en FreeBSD. cada categoría está representada por un directorio en la ruta del sistema de archivos /usr/ports/.

Una lista simple del directorio /usr/ports/ mostrará todo av categorías disponibles como se muestra en la siguiente captura de pantalla.

# ls/usr/ports/ Listar categorías de repositorio de puertos  Lista de categorías de repositorio de puertos Lista de puertos Categorías del repositorio

2.. Para ver todas las aplicaciones disponibles que pertenecen a una categoría, emita un comando ls contra el directorio de la categoría.

freestar.config.enabled_slots.push

Suponga que desea mostrar todos los paquetes de software disponibles que la categoría de la base de datos tiene para ofrecer, ejecute el siguiente comando en la consola. Canalice el resultado a través del comando less para navegar más fácilmente a través de la salida.

# ls/usr/ports/bases/| menos  Lista de categorías de base de datos  Listar la categoría de la base de datos Listar la categoría de la base de datos

3.. Para ver cuántos paquetes están disponibles en una categoría, enumere el directorio de categorías y canalice el resultado mediante el comando wc como se muestra en el siguiente ejemplo.

# ls/usr/ports/bases/| wc-l  Lista de paquetes disponibles en la categoría  Listar paquetes disponibles en categoría Listar paquetes disponibles en categoría

Como puede ver en la captura de pantalla anterior, la categoría de base de datos de FreeBSD contiene más de 1000. paquetes de base de datos precompletados.

4.. Para ver si una aplicación específica está disponible en una categoría, nuevamente, use el comando ls y filtre el resultado a través de la utilidad grep para buscar una aplicación personalizada.

En los siguientes ejemplos, se buscará la disponibilidad de la base de datos de mongodb. able y paquetes de seguridad clam antivirus.

# ls/usr/ports/bases/| grep mongodb # ls/usr/ports/security/| grep clam  Lista de paquetes MongoDB  Lista de paquetes MongoDB Lista de paquetes MongoDB

Como puede ver, múltiples versiones de una aplicación pueden estar disponibles en los puertos FreeBSD.

 Lista de paquetes de antivirus Clam  Lista de paquetes de antivirus de Clam Lista de paquetes de Clam Antivirus

5.. En caso no sabe a qué categoría pertenece un software, puede utilizar otro método para encontrar la categoría de software. Utilice el carácter comodín * de shell globbing para buscar un patrón en todo el árbol de directorios de Ports.

Suponiendo que desea ver en qué categoría puede encontrar los paquetes de software para la utilidad mailx. puede ejecutar el siguiente comando.

# ls/usr/ports/*/* mailx  Buscar categoría de software  Buscar categoría de software Buscar categoría de software

6.. Otro método para buscar un paquete de software y la categoría a la que pertenece el paquete es usar el comando de localización contra un patrón de cadena.

Antes de realizar la cadena de búsqueda g, debe actualizar la base de datos de localización con el siguiente comando.

#/usr/libexec/locate.updatedb Actualizar la base de datos de localización Actualizar ubicar base de datos Actualizar ubicar Base de datos

7.. Una vez que haya actualizado la base de datos de localización, busque un paquete de software específico utilizando un patrón de palabras clave del nombre del paquete. Por ejemplo, si desea buscar la utilidad mailx. puede ejecutar el siguiente comando.

# localizar mailx  Paquete de software de búsqueda  Paquete de software de búsqueda Paquete de software de búsqueda

Como puede ver, hay dos paquetes disponibles para la utilidad mailx. ambos ubicados en /usr/ports/mail/ categoría.

8.. Similar a buscar un paquete con el comando de localización, también puede usar el comando whereis para ver la categoría de la aplicación.

# whereis mailx  Ver categoría de software  Ver categoría de software Ver categoría de software

Buscar software a través del comando PKG en FreeBSD

9.. El método más fácil para buscar y encontrar una aplicación en FreeBSD es a través de la línea de comando de administración de paquetes PKG. Para buscar los paquetes binarios para una aplicación, por ejemplo el software postfix. emita el siguiente comando.

# pkg search package_name  Buscar y encontrar paquete Buscar y encontrar Paquete Buscar y encontrar paquete

10.. En caso de que desee ver a qué categoría pertenece el paquete, ejecute el mismo comando que el anterior. con la bandera-o, como se ilustra en los ejemplos siguientes.

# pkg search-o package_name  Buscar categoría de paquete  Buscar categoría de paquete Buscar categoría de paquete

Administrar software en FreeBSD

11.. Para instalar un paquete precompilado desde los repositorios de Ports en FreeBSD, ejecute el comando pkg. como se ilustra en el siguiente ejemplo.

# pkg install nombre_paquete Instalar paquete en FreeBSD Instalar paquete en FreeBSD Instalar paquete en FreeBSD

12.. Para consultar información sobre un paquete específico instalado en el sistema, emita el siguiente comando.

# pkg info nombre_paquete  Consultar información del paquete instalado  Consultar información del paquete instalado Consultar información del paquete instalado rmación

13.. El interruptor de comando pkg info. mostrará el mensaje “ No hay paquetes que coincidan con el nombre_paquete. si el paquete de software está aún no está instalado en su sistema, como se muestra en la siguiente captura de pantalla.

# pkg info tcpdump  Buscar información del paquete  Buscar información del paquete Buscar información del paquete

14.. Para listar todos los paquetes de software instalados en FreeBSD, ejecute el comando pkg info. sin ninguna opción o conmutadores.

El filtro grep contra El comando pkg info. puede mostrarle si algunos Los paquetes o aplicaciones específicos ya están presentes en el sistema, como se ilustra en el siguiente ejemplo.

# pkg info | grep ftp  Lista de todos los paquetes instalados en FreeBSD  Listar todos los paquetes instalados en FreeBSD Listar todos los paquetes instalados en FreeBSD

15.. Para eliminar un paquete del sistema, ejecute los siguientes comandos.

# pkg eliminar nombre_paquete o # pkg eliminar nombre_paquete  Eliminar paquete en FreeBSD  Eliminar paquete en FreeBSD Eliminar paquete en FreeBSD

16.. En caso de que desee evitar la eliminación o modificación de un paquete instalado, puede usar el interruptor lock. para el comando pkg, como se muestra en la siguiente imagen.

# pkg lock nombre_paquete Bloquear paquete para que no se elimine en FreeBSD  Bloquear paquete para que no se elimine en FreeBSD Bloquear paquete from Removing in FreeBSD

Desbloquear. el comando pkg le permitirá eliminar la restricción del paquete y modificar o desinstalar el paquete.

# pkg unlock package_name

17.. Para saber a qué paquete instalado pertenece un comando o un archivo ejecutable, emita el siguiente comando, como se ilustra en los ejemplos de captura de pantalla a continuación.

# pkg which/path/to/ejecutable  Buscar comando o nombre de paquete de archivos  Buscar comando o nombre de paquete de archivos Buscar comando o nombre de paquete de archivos

18.. Para descargar localmente un paquete desde el repositorio Puertos. sin instalar el paquete en el sistema, ejecute el comando pkg. con el interruptor fetch. .

El binario del paquete descargado, que es un archivo .txz. comprimido, se puede encontrar en la ruta del sistema /var/cache/pkg/.

# pkg fetch nombre_paquete # ls/var/cache/pkg/| grep nombre_paquete  Descargar paquete sin instalar  Descargar paquete sin instalar Descargar paquete sin instalar

19.. Para comprobar si el los paquetes instalados están expuestos a vulnerabilidades o errores comunes, emita el siguiente comando.

# pkg audit-F

Para ver una lista de vulnerabilidades antiguas que afectaban a un paquete de software en versiones anteriores, emita el siguiente comando.

# pkg audit nombre_paquete

A continuación se muestra un extracto de todas las vulnerabilidades conocidas que se encontraron en la compilación del servidor web Nginx. led para FreeBSD.

# pkg audit nginx Encontrar vulnerabilidades de software nginx es vulnerable: Versiones afectadas: <= 0.8.41:> 1.4.4,1 nginx-vulnerabilidad de análisis de línea de solicitud CVE: CVE-2013-4547 WWW : https://vuxml.FreeBSD.org/freebsd/94b6264a-5140-11e3-8b22-f0def16c5c1b.html nginx es vulnerable: Versiones afectadas: <1.0.15 nginx-Desbordamiento de búfer en ngx_http_mp4_module CVE: CVE-2012-2089 WWW: https://vuxml.FreeBSD.org/freebsd/0c14dfa7-879e-11e1-a2a0-00500802d8f7.html nginx es vulnerable: Versiones afectadas: <1.4.7 nginx-Desbordamiento del búfer de pila SPDY CVE: CVE-2014-0133 WWW: https://vuxml.FreeBSD.org/freebsd/fc28df92-b233-11e3-99ca-f0def16c5c1b.html ...

Mantener la utilidad de administración de paquetes en FreeBSD

20.. Para asegurarse de que los repositorios de software y todos sus paquetes instalados estén actualizados con las últimas versiones o parches de seguridad, ejecute los siguientes comandos.

# pkg update # pkg upgrade  Actualizar paquetes en FreeBSD Paquetes de actualización en FreeBSD Actualizar paquetes en FreeBSD

21.. Para mostrar repositorios remotos y estadísticas de paquetes locales, como cuántos paquetes están instalados en su sistema y cuánto espacio en disco ocupa el software instalado, ejecute el siguiente comando.

# pkg stats  Lista de resumen de paquetes instalados  Lista de resumen de paquete instalado Lista de resumen de paquete instalado

22.. Para eliminar todo las dependencias dejadas por los paquetes instalados en el sistema emiten el siguiente comando.

# pkg autoremove  Eliminar paquetes de dependencia  Eliminar paquetes de dependencia Eliminar paquetes de dependencia

23.. Para borrar automáticamente el directorio de caché local de administración de paquetes para los paquetes descargados de forma remota, ejecute el siguiente comando. Primero debe verificar la lista de paquetes binarios descargados localmente.

# pkg clean-a-n # pkg clean-a-y Eliminar PKG Local Cache  Eliminar la caché local de PKG Eliminar la caché local de PKG

¡Eso es todo! Como puede ver, FreeBSD. tiene un impresionante sistema de recopilación de paquetes, similar a las herramientas de administración de paquetes que se utilizan en las distribuciones de Linux como Yum, RPM y APT con una gran cantidad de binarios de software precompilados y un sistema simple y línea de comando eficaz, pkg, que se puede utilizar para administrar el software de manera decente.