Noticia GNU Shepherd 0.10 ya fue liberado y estas son sus novedades

GNU Shepherd

GNU Shepherd es un administrador de servicios



Casi después de un año desde el ultimo lanzamiento, se dio a conocer la nueva versión del administrador de servicios GNU Shepherd 0.10 (anteriormente conocido como dmd), que está siendo desarrollado por los desarrolladores de la distribución GNU Guix como una alternativa a la inicialización SysV-init consciente de las dependencias del sistema.

Este nuevo lanzamiento de GNU Shepherd 0.10 representa 132 confirmaciones de dos personas, ademas de que se considera como un lanzamiento, ya que se abordan las deficiencias y proporcionar nuevas características
que ayudan a comprender el estado del sistema.



GNU Shepherd es un administrador de servicios escrito en Guile que a parece después de los demonios «herd» que se ejecutan en el sistema, ya que proporciona la funcionalidad del espacio de usuario de forma asincrónica como servicios Se puede utilizar como un sistema «init» (PID 1) y también por usuarios sin privilegios para administrar demonios por usuario, por ejemplo, tor, privoxy, mcron.

Se destaca que soporta varios mecanismos de inicio de daemon, incluidos inetd y socket de activación al estilo systemd. GNU Shepherd está configurado en Guile Scheme y puede ser extendida en el mismo idioma. Se basa en un simple seguro para la memoria y modelo de programación sin devolución de llamada.

El núcleo del modelo Shepherd de inicialización del espacio de usuario es el concepto de extensión, una forma de componibilidad en la que los servicios están diseñados para superponerse a otros servicios, aumentándolos con comportamientos más elaborados o especializados según se desee.


Principales novedades de GNU Shepherd 0.10​


En esta nueva versión que se presenta de GNU Shepherd 0.10 se destaca que se agregaron nuevos estados de servicio intermedios: «starting» y «stopping», que se muestran al ejecutar el comando «herd status»» y determinar si el servicio está en proceso de iniciarse o detenerse (anteriormente solo se admitían los estados «running» y «stopped»).

Otro de los cambios que se destaca de la nueva versión, es que se proporciona el bloqueo de la reejecución de las operaciones «start» y «stop» si el servicio ya se inició o se detuvo (anteriormente, la ejecución del «herd start SERVICE» resultó en un intento de iniciar una segunda instancia del servicio).

Ademas de ello, tambien se destaca que se proporciona la paralelización del lanzamiento de dependencias y servicios lanzados en el modo de «start-in-the-background«, asi como tambien que la contabilidad del tiempo de fallas y cambios en el estado de cada servicio. Las estadísticas acumuladas se muestran cuando se ejecuta el comando «herd status».

Tambien podremos encontrar que se agregó el comando «herd log» para mostrar un registro resumido de eventos y una lista de todos los cambios en el estado del servicio.


De los demás cambios que se destacan:

  • Se agregó el comando «herd graph» para generar datos que permiten usar Graphviz («herd graph | xdot -«) para mostrar un gráfico visual de dependencias.
  • Se implementó el resaltado de color de la salida del comando de herd.
  • Se agregaron nuevos servicios: «monitoreo» para monitorear el consumo de recursos del proceso y «repl» para ejecutar la interfaz de depuración REPL (ciclo de lectura-evaluación-impresión).
  • La interfaz GOOPS (Sistema de programación orientado a objetos de Guile) ha quedado obsoleta.

Finalmente para los que estén interesados en poder conocer más al respecto puedes consultar los detalles en el siguiente enlace.

¿Como instalar GNU Shepherd?​


Para los interesados en poder probar GNU Shepherd, como ya se menciono Shepherdse desarrolla conjuntamente con el proyecto GNU Guix y es utilizado como sistema de inicio de Guix.

Aunque tambien es posible poder instalar Shepherd en cualquier distribucion de Linux, por lo que para el caso de los que son usuarios de Arch Linux basta con tener habilitado el repositorio de AUR y teclear el siguiente comando:

yay -S shepherd

Para el resto de distribuciones la instalación se puede realizar compilando el código fuente y para ello basta con abrir una terminal y teclear en ella:

wget https://ftp.gnu.org/gnu/shepherd/shepherd-0.10.0.tar.gz

Extraemos con:

tar -xvf shepherd/shepherd-0.10.0.tar.gz

Entramos al directorio con:

cd shepherd-0.10.0

Y procedemos a compilar con:

Código:
./configure --prefix=/some/where
make
make check
make install

Continúar leyendo...