PDF de programación - systemd

Imágen de pdf systemd

systemdgráfica de visualizaciones

Publicado el 18 de Febrero del 2020
218 visualizaciones desde el 18 de Febrero del 2020
941,8 KB
26 paginas
Creado hace 4a (22/09/2015)
systemd

1

Software Freedom Day 2015 | ALEX CALLEJAS

About Me

Alex Callejas
Technical Account Manager (Red Hat)
dark_axl
/rootzilopochtli
www.rootzilopochtli.com

Geek by nature, Linux by choice, Fedora of course!

2

Software Freedom Day 2015 | ALEX CALLEJAS

systemd?

3

Software Freedom Day 2015 | ALEX CALLEJAS

Qué es systemd?

● systemd es el reemplazo del daemon de inicialización

de Linux: init
● Creado para proporcionar una mejor estructura para
expresar dependencias de servicio, permitir más
procesos simultáneos en el arranque del sistema para
reducir el overhead

● Su nombre proviene del sufijo Unix de la unión de dos
daemons: system con una d, para indicar que él
mismo es un servicio
● Entonces es el “Gerente de servicios”

4

Software Freedom Day 2015 | ALEX CALLEJAS

Arranque del sistema: proceso

5

Software Freedom Day 2015 | ALEX CALLEJAS

Sustituyendo a init.d

● Sustituye todo el arranque: initscripts, chkconfig, rc.d,

init.d, etc.

● Inicia servicios paralelamente

● Lee autómaticamente las dependencias de los servicios

● Usa la lógica “start less”

● Significa que inicia un menor número de servicios
posibles o los retrasa hasta que sean realmente
necesarios

6

Software Freedom Day 2015 | ALEX CALLEJAS

Hace más que sustituir a init.d

● Además de la rápidez, tiene más funciones:
● Fue escrito en C, por lo que es más rápido
● Puede reiniciar un servicio que fue detenido
● Comunicación a tráves de socket/dbus
● Utiliza Linux Control Groups (cgroups)
● Control de dependencias
● Maneja puntos de montaje

● fsck y swap

7

Software Freedom Day 2015 | ALEX CALLEJAS

Timeline - init

8

Software Freedom Day 2015 | ALEX CALLEJAS

Timeline - systemd

9

Software Freedom Day 2015 | ALEX CALLEJAS

Paralelismo

● Los daemons esperan hasta que el socket de otro

daemon ofrezca servicio en su conexión
● El cliente de Dbus espera hasta que
/var/run/dbus/system_bus_socket esté
conectado
● Los clientes de syslog esperan a /dev/log
● Los clientes de CUPS esperan por
/var/run/cups/cups.sock
● Los puntos de montaje NFS esperan por
/var/run/rpcbind.sock y por el puerto IP de
portmapper

10

Software Freedom Day 2015 | ALEX CALLEJAS

Paralelismo

● Los sockets que están en “listening” pueden ser

abiertos antes de iniciar el daemon

● Los sockets son proporcionados al daemon solamente

en la llamada de ejecución – exec()
● Primero se abren los sockets para todos los daemons

durante el arranque

● Después

se

simultáneamente

ejecutan

todos

los

daemons

11

Software Freedom Day 2015 | ALEX CALLEJAS

Unidad Básica de administración

● El objeto básico que systemd gestiona y sobre el cual
actúa es una unidad [unit]. Las unidades pueden ser
de muchos tipos, pero la más común es un servicio
(indicado por un archivo de unidad que termina en
.service). Para administrar los servicios la principal
herramienta es el comando systemctl.
● Todos los comandos normales del sistema init tienen

acciones equivalentes con el comando systemctl

12

Software Freedom Day 2015 | ALEX CALLEJAS

Usando systemd: start/stop

● Para iniciar una unidad, la sintaxis es:

systemctl start <service-name>.<type-of-unit>

● Es equivalente a
service <service-name> start
● Ejemplo:
systemctl start sshd.service
● Es la misma sintaxis para stop y status

13

Software Freedom Day 2015 | ALEX CALLEJAS

Usando systemd: Ejemplo

14

Software Freedom Day 2015 | ALEX CALLEJAS

Usando systemd: equivalencia de chkconfig

● Para habilitar una unidad que debe iniciar en el

arranque (boot):
systemctl enable <service-name>.<type-of-unit>

● Es equivalente a:
chkconfig <service-name> on
● Ejemplo:
systemctl enable sshd.service
● Existen dos opciones: enable y disable

15

Software Freedom Day 2015 | ALEX CALLEJAS

Usando systemd: listando unidades

● Para listar todas las unidades disponibles:
systemctl list-units -all
● Para listar todas las unidades cargadas
systemctl list-units
● Para listar todas las unidades instaladas
systemctl list-unit-files

16

Software Freedom Day 2015 | ALEX CALLEJAS

Usando targets (runlevels)

17

Software Freedom Day 2015 | ALEX CALLEJAS

Cambiando de runlevel

● Cambiando el runlevel en systemd:

● Al equivalente init 1 (single)
systemctl isolate rescue.target
● Manteniendo el viejo concepto
systemctl isolate runlevel1.target
● Al equivalente init 3
systemctl isolate multi-user.target

18

Software Freedom Day 2015 | ALEX CALLEJAS

Targets

19

Software Freedom Day 2015 | ALEX CALLEJAS

Bitácora: Journal / log

● Se implementó un recurso de logging integrado a los

propios servicios y a rsyslog

20

Software Freedom Day 2015 | ALEX CALLEJAS

Bitácora: Journal / log
● También registra los mensajes del kernel

journalctl -k

● Está configurado en el archivo
/etc/syslogd/journald.conf
● Los logs son guardados en archivos binarios en el
directorio /var/log/journald pero no se crean de
forma predeterminada
● Es necesario ejecutar el comando 'systemctl restart

systemd-journald'

● A través del servicio systemd los mensajes durante el

arranque (boot) y el apagado (shutdown) son accesibles

journalctl -b

21

Software Freedom Day 2015 | ALEX CALLEJAS

Bitácora: Journal / log

● Para mostrar los mensajes:
journalctl -al
● Para hacerlos más entendibles, incluyendo algunas

descripciones cuando es posible:
journalctl -alx
● Para mostrar los mensajes de una unidad específica:
journalctl -xu network.service

22

Software Freedom Day 2015 | ALEX CALLEJAS

Preguntas?

23

Software Freedom Day 2015 | ALEX CALLEJAS

Entonces: es mejor systemd que systemV?

24

Software Freedom Day 2015 | ALEX CALLEJAS

25

Software Freedom Day 2015 | ALEX CALLEJAS

26

Software Freedom Day 2015 | ALEX CALLEJAS
  • Links de descarga
http://lwp-l.com/pdf17303

Comentarios de: systemd (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad