GNU/Linux >> Tutoriales Linux >  >> 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.

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

Requisitos:

  1. Instalación de FreeBSD 11.x

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

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

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

# ls /usr/ports/

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

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/databases/ | less

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/databases/ | wc -l

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

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, buscará mongodb paquetes de base de datos disponibles y clam antivirus paquetes de seguridad.

# ls /usr/ports/databases/ | grep mongodb
# ls /usr/ports/security/ | grep clam

Como puede ver, varias versiones de una aplicación pueden estar disponibles en FreeBSD Ports.

5. En caso de que no sepa a qué categoría pertenece un software, puede usar otro enfoque para encontrar la categoría de software. Usar el comodín de shell globbing * carácter para buscar un patrón a través de todo el árbol de directorios de puertos.

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

# ls /usr/ports/*/*mailx

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, debe actualizar la base de datos de localización con el siguiente comando.

# /usr/libexec/locate.updatedb

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 mailx utilidad, puede ejecutar el siguiente comando.

# locate mailx

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

8. Similar a encontrar 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

Software de búsqueda a través del comando PKG en FreeBSD

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

# pkg search package_name

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

# pkg search -o package_name

Administrar software en FreeBSD

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

# pkg install package_name

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

# pkg info package_name

13. La información del paquete el interruptor de comando mostrará el mensaje "No hay paquetes que coincidan con el nombre del paquete ” si el paquete de software aún no está instalado en su sistema, como se muestra en la siguiente captura de pantalla.

# pkg info tcpdump

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

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

# pkg info | grep ftp

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

# pkg remove package_name
or
# pkg delete package_name

16. En caso de que quiera evitar la eliminación o modificación de un paquete instalado, puede utilizar el bloqueo cambie para el comando pkg, como se muestra en la imagen a continuación.

# pkg lock package_name

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

# pkg unlock package_name

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

# pkg which /path/to/executable

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

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

# pkg fetch package_name
# ls /var/cache/pkg/ | grep package_name

19. Para verificar si los paquetes instalados están expuestos a vulnerabilidades o errores comunes, ejecute 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 package_name

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

# pkg audit nginx
Buscar vulnerabilidades de software
nginx is vulnerable:
Affected versions:
<= 0.8.41 : > 1.4.4,1
nginx -- Request line parsing vulnerability
CVE: CVE-2013-4547
WWW: https://vuxml.FreeBSD.org/freebsd/94b6264a-5140-11e3-8b22-f0def16c5c1b.html

nginx is vulnerable:
Affected versions:
< 1.0.15
nginx -- Buffer overflow in the ngx_http_mp4_module
CVE: CVE-2012-2089
WWW: https://vuxml.FreeBSD.org/freebsd/0c14dfa7-879e-11e1-a2a0-00500802d8f7.html

nginx is vulnerable:
Affected versions:
< 1.4.7
nginx -- SPDY heap buffer overflow
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, emita los siguientes comandos.

# pkg update
# pkg upgrade

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

22. Para eliminar todas las dependencias dejadas por los paquetes instalados en el sistema, ejecute el siguiente comando.

# pkg autoremove

23. Para borrar automáticamente el directorio de caché local de administración de paquetes para 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

¡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 utilizadas en las distribuciones de Linux como Yum, RPM y APT con una gran cantidad de binarios de software precompilados y una línea de comando simple y efectiva, pkg, que se puede usar para administrar el software de una manera decente.


FreeBSD
  1. 12 ejemplos útiles de comandos Wget en Linux

  2. 15 ‘Ejemplos de comandos de Sockstat’ útiles para encontrar puertos abiertos en FreeBSD

  3. Comando ls en Linux:17 ejemplos útiles explicados

  4. 20 ejemplos de comandos Zypper para administrar paquetes en SUSE Linux

  5. 5 ejemplos útiles del comando firewall-cmd

Ejemplos de comandos de Alpine Linux Apk

11 ejemplos útiles de comandos de fecha de Linux

Ejemplos útiles de comandos Wget en el sistema Linux

15 ejemplos útiles de comandos táctiles en el sistema Linux

12 ejemplos útiles de comandos de fecha de Linux

Ejemplos de comandos ip para administrar redes en Linux