rpm -qa | grep systemd # Instalados en Fedora 42yum list systemd # Paquetes no instaladosrelacionados.sh hostnamectl # Para ver todos los comandosapropos ctl | \grep «ctl ([18])» # Comandos que terminan en ctl instalados, sean de SystemD o norpm -ql systemd-container systemd-networkd systemd-udev systemd-resolved systemd | grep bin/rpm -ql systemd-container systemd-networkd systemd-udev systemd-resolved systemd | grep bin/ | xargs whatis # Para ver que hace cada unoalias sd_servicios='systemctl --no-pager --state=running --type=service'alias sd_sockets='systemctl --no-pager --state=running --type=socket'alias sd_timers='systemctl --no-pager --state=running --type=timer'systemctl --version # Para ver la versión de SystemD instaladaman systemd.index # Listado de todas las páginas del manual de SystemDsystemctl -t help # Para ver los tipos de unidades disponiblesman 7 systemd.special # Para ver las unidades especiales que no se pueden renombrartree /etc/systemd/system # Para ver el árbol de ficheros y directoriossystemd-analyze unit-paths # Vemos todos los directorios implicadossystemctl edit --full <unit> # Editamos el fichero de configuración, creándolo automáticamente en /etc/systemd/system/<unit>systemctl cat <unit> # Vemos todos los ficheros que aplican a la configuraciónsystemd-delta [<unit>] # se puede utilizar para identificar y comparar ficheros de configuración que se anulan unos a otros. Es decir, es una utilidad interesante para detectar conflictos con la configuración de systemd, y el orden de precedencia entre los distintos directorios anteriormente nombrados.systemctl edit <unit> --drop-in=<nombre> # Esto crea un fichero llamado /etc/systemd/system/<unit>/<nombre>.conf. Si no se especifica nombre, se crea con el nombre por defecto override.confsystemctl set-property <unit> CPUShares=1024 # Con esto me crea un Drop-in file automáticamenteman systemd.execcat /usr/lib/systemd/system/cups.service # Vemos el fichero principal de configuración[Unit] Description=CUPS Scheduler Documentation=man:cupsd(8) After=network.target nss-user-lookup.target nslcd.service Requires=cups.socket [Service] ExecStart=/usr/sbin/cupsd -l Type=notify Restart=on-failure [Install] Also=cups.socket cups.path WantedBy=printer.target multi-user.target
man systemd.serviceman systemd.execsystemd-delta cups.service # Vemos si hay algún fichero de configuración que modifique el principalsystemctl cat cups.service # Vemos todos los ficheros que aplican a la configuraciónsystemctl edit --full cups.service # Editamos el fichero de configuración, creándolo automáticamente en /etc/systemd/system/cups.serviceexport SYSTEMD_EDITOR=/usr/bin/vim # Para usar el vim en vez del nano que usa por defectosystemctl show cups.service # Mostramos todas las variable que afectan la unidadsystemctl daemon-reload # Comando para indicarle a SystemD que hemos tocado un fichero de configuración por nuestra cuenta y que relea y aplique los cambios de todos los ficheros de configuración.systemctl list-dependencies cups.service # Vemos el árbol de dependencias de esta unidadsystemd-analyze critical-chain cups.service # Vemos en el árbol de dependencias de esta unidad, cuanto tarda el elemento más lento de cada nivelsystemctl show-environment # Ver las variables de entorno que usa SystemDlocalectl # Para ver el idioma local, y el tecladolocalectl set-locale LANG=es_US.UTF-8 # Para cambiar el idioma localls -l /etc/systemd/system/default.target # Este link es usado por SystemD como target por defectosystemctl list-units -t target --all # Para ver todos los targets disponiblessystemctl list-dependencies graphical.target | grep target # Para ver las dependencias de las unidades tipo targetsystemctl get-default # Ver el target por defecto actualsystemctl set-default multi-user.target # Configurar el modo multi-usuario por defectosystemctl isolate multi-user.target # Cambiar al modo multi-usuario (3)man systemd.socket # systemctl list-sockets # Lista todos los socketsalias sockets='systemctl --no-pager -t socket --state=running' # Lista los activossystemctl list-timers Para listar los «timers» de SystemDjournalctl -b -u .timer # Para ver los timers ejecutados desde el arranque del sistema*, / y , tienen el mismo significado que los usados para los trabajos de cron, mientras que puede usar .. entre dos valores para indicar un rangoman 7 systemd.timesystemd-analyze calendar weeklysystemd-analyze calendar «Mon,Tue -*-01..04 12:00:00»systemctl enable my.timersystemctl start my.timersystemctl status my.timer[Unit] Description=Update the plocate database daily [Timer] OnCalendar=daily RandomizedDelaySec=1h AccuracySec=6h Persistent=true [Install] WantedBy=timers.target
[Unit] Description=Update the plocate database ConditionACPower=true [Service] Type=oneshot ExecStart=/usr/sbin/updatedb LimitNOFILE=131072 IOSchedulingClass=idle PrivateTmp=true PrivateDevices=true PrivateNetwork=true
systemd-run --on-calendar='2019-10-06 11:30' datesystemd-run --on-active="2m" ./foo.shman 1 systemd-runman 5 systemd.timerman 5 systemd.mount #man 1 systemd-mount #systemctl -t mount #man 5 systemd.automount # systemctl -t automount # systemctl list-automounts # systemctl cat proc-sys-fs-binfmt_misc.automount # MATE EXTRA: https://community.hetzner.com/tutorials/automount-filesystems-with-systemd
cat /usr/lib/tmpfiles.d/tmp.conf # Vemos el contenido de tmp.confsystemd-tmpfiles --cat-config # Vemos la configuración de TODOS los ficherossystemd-tmpfiles --create # Crea los temporales especificadossystemd-tmpfiles --remove # Borra los temporales especificadossystemd-tmpfiles --clean # Vacía el contenido de los temporales especificados--create siempre es lo que se ejecuta lo último.systemd-tmpfiles --user --create # Para gestionar sus propios temporalessystemd-tmpfiles --user --cat-config # Para verlosdf -t tmpfs -h # Para ver los sistemas de ficheros de tipo tmpfs montados en memoriajournalctl -b -u systemd-tmpfiles # Para ver los logssystemctl cat systemd-tmpfiles-clean.timer # Se ejecuta una vez al día, y 15 minutos después de arrancarsystemd-analyze plot > graph1.svg ; eog graph1.svg # Crea un gráfico de todo el arranque del sistema, y lo visualiza con la app gráfica eogsystemd-analyze blame | less # Lo mismo, pero en modo texto, aunque no muestra dependencias ni paralelismo. Ordena la salida por tiempo que tarda cada componente en estar disponible, para poder ver a quien culpar (blame) en caso de retardosystemd-analyze dot 'avahi-daemon.' | dot -Tsvg > avahi.svg ; eog avahi.svg # Para ver las dependencias de un componente concreto en modo gráficosystemd-analyze critical-chain # Muestra el árbol de dependencias de targets y de los servicios que bloquean la activación de cada targetsystemctl status # Estado general de SystemD, mostrando todos los procesos lanzados con sus PIDssystemctl --no-page --state=failed # Para ver si alguna unidad ha falladosystemctl --no-page # Para ver todas las unidades lanzadas, ordenadas por tipo