Esta web utiliza cookies, puedes ver nuestra política de cookies aquí. Si continuas navegando estás aceptándola

Actualización de SO/src/paquetes/jails en FreeBSD


FreeBSD es un sistema operativo altamente flexible y configurable, muestra de ello es el sistema de paquetería ya sea mediante binarios o ports, mediante binarios ahorraremos tiempo de compilación en máquinas antiguas y con pocos recursos mientras que con los los ports conseguiremos paquetes mas pequeños y mas seguros ya que la superficie de ataque sobre estos se reducirá.

 

A continuación explico de forma breve y concisa como buscar, instalar y actualizar software además de como actualizar el core/base y las fuentes:

Búsqueda

Instalación

Actualización

Actualización CORE/BASE

Actualización fuentes SO

Actualización jails

Seguridad

Limpieza paquetes descargados

Eliminar paquetes

Información paquetes


BÚSQUEDA

Paquetes binarios:

El comando básico es:

pkg search NAME

Para no mostrar la versión de los paquetes encontrados:

pkg search -o NAME

Para mostrar los detalles del paquete:

pkg search -f NAME

Para buscar dentro de las descripciones:

pkg search -D NAME

Ports:

Antes de utilizar los ports debemos bajarnos el arbol, extraerlo y generar el índice:

portsnap fetch extract update
cd /usr/ports
make fetchindex

Para realizar una búsqueda:

make search name=NAME

No es necesario buscar por nombre podemos hacerlo por cualquier campo:

make search key=cadena

INSTALACIÓN

Paquetes binarios:

pkg install NAME

Ports:

Actualizamos el arbol de ports:

portsnap fetch update

Cambiamos al diretorio del port:

cd /usr/ports/CATEGORY/NAME

Mostramos el diálogo de opciones de compilación:

make config

Compilamos e instalamos:

make
make install

Elimina temporales de este modo evitamos problemas al actualizar a versiones superiores:

make clean

Si queremos que nos pregunte todas las opciones antes de comenzar la compilación del port y de sus dependencias debemos utilizar la opción config-recursive:

make config-recursive install clean

Si queremos conocer las opciones de compilación de un paquete podemos consultarlas:

make showconfig

Si queremos resetear las opciones a las que venian por defecto:

make rmconfig

ACTUALIZACIÓN

Paquetes binarios:

pkg upgrade
pkg autoremove

Ports:

Actualizamos el arbol de ports:

portsnap fetch update

Instalamos la herramienta portmaster:

pkg install portmaster

Cuando instalemos algún software desde los ports tendremos que bloquearlo para que pkg no lo tenga en cuenta

pkg lock PAQUETE

Si mas tarde nos arrepentimos y decidimos utilizar la versión binaria simplemente debemos desintalar el port y desbloquearlo en pkg:

cd /usr/ports/PORT-SECTION/PORTNAME
make deinstall
pkg unlock PAQUETE
pkg install PAQUETE

Marcar un paquete para que portmaster lo ignore no es posible, por lo tanto si instalamos un software y en los ports hay una versión mas reciente con portmaster -a intentará actualizar el paquete que se instaló desde los binarios.

Mi consejo es instalar todo de forma binaria, si necesitamos un paquete con alguna característica especial compilarlo y marcarlo con pkg lock, actualizaremos todos los paquetes con pkg upgrade a excepción de los bloqueados, estos los consultaremos con:

pkg info -a -k|grep yes

Ahora que ya tenemos localizados los paquetes que fueron instalados desde ports tan solo queda actualizarlos desde postmaster en caso de ser necesario, para saberlo consultamos la versión instalada y la que hay disponible en los ports:

cd /usr/ports
make fetchindex
make search name=NAME
pkg info NAME

Si es necesario actualizar:

portmaster -i CATEGORY/NAME

ACTUALIZACIÓN CORE/BASE

Si nos mantenemos dentro de la misma versión bastará con:

freebsd-update fetch
freebsd-update install

Se puede crontabear el fetch y nos avisará vía mail si hay actualizaciones:

crontab -e
@daily root freebsd-update -t kr0m@alfaexploit.com cron

Para pasar de una versión a otra seguimos la guía y consultamos la última RELEASE disponible.

Si es una menor update, ej: 12.0 -> 12.1:

freebsd-update -r 12.1-RELEASE upgrade
freebsd-update install

Reinciamos y terminamos la instalación de las actualizaciones:

shutdown -r now
freebsd-update install

Si es una major update ej: 12.1 -> 13.0, además de los pasos de una minor update debemos reinstalar los paquetes binarios/ports:

pkg-static upgrade -f

Los programas intalados desde ports también, en este mismo artículo se indica como gestionar instalaciones mixtas de paquetes binarios/ports.

Terminamos la instalación:

freebsd-update install

ACTUALIZACIÓN FUENTES SO

Es importante tener las fuentes del SO actualizadas si vamos a instalar ports ya que algunos hacen uso de estos ficheros.

pkg install svnup

Definimos de donde queremos sincronizar las fuentes:

vi /usr/local/etc/svnup.conf
host=svn0.eu.freebsd.org

Nos bajamos la última versión:

svnup release

ACTUALIZACIÓN JAILS

El software y las fuentes del SO se actualizarán de igual manera que en un FreeBSD físico.

CORE/BASE:

Todos los comandos iocage se ejecutarán en el padre, el resto en la jail.

Si nos mantenemos dentro de la misma versión bastará con:

iocage update JAILNAME

Para pasar de una versión a otra seguimos la guía y consultamos la última RELEASE disponible.

Si es una minor update, ej: 12.0 -> 12.1:

iocage upgrade JAILNAME -r 12.1-RELEASE
iocage update JAILNAME

Si es una major update ej: 12.1 -> 13.0, además de los pasos de una minor update debemos reinstalar los paquetes binarios/ports:

pkg-static upgrade -f

Los programas intalados desde ports también, en este mismo artículo se indica como gestionar instalaciones mixtas de paquetes binarios/ports.

Terminamos la instalación:

iocage update JAILNAME

SECURITY

Podemos consultar si alguno de los paquetes binarios/ports instalados en el sistema tiene algún problema de seguridad:

pkg audit -F

LIMPIEZA DE LOS PAQUETES DESCARGADOS

Paquetes binarios:

pkg clean

Ports:

portmaster --clean-distfiles

ELIMINAR PAQUETES

Paquetes binarios:

pkg delete NAME

Ports:

cd /usr/ports/CATEGORY/NAME
make deinstall -> Si alguna aplicación depende del port saldrá una advertencia indicándolo
make rmconfig -> Elimina además la configuración del port

INFORMACIÓN PAQUETES INSTALADOS(tanto binarios como ports):

pkg info NAME
pkg query -e "%n=NAME" "%n-%v %Ok %Ov"

Autor: Kr0m -- 26/03/2020 00:17:14