<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es">
	<id>https://manuais.iessanclemente.net/index.php?action=history&amp;feed=atom&amp;title=Gesti%C3%B3n_de_Servicios_con_systemd</id>
	<title>Gestión de Servicios con systemd - Historial de revisiones</title>
	<link rel="self" type="application/atom+xml" href="https://manuais.iessanclemente.net/index.php?action=history&amp;feed=atom&amp;title=Gesti%C3%B3n_de_Servicios_con_systemd"/>
	<link rel="alternate" type="text/html" href="https://manuais.iessanclemente.net/index.php?title=Gesti%C3%B3n_de_Servicios_con_systemd&amp;action=history"/>
	<updated>2026-10-25T20:48:42Z</updated>
	<subtitle>Historial de revisiones de esta página en la wiki</subtitle>
	<generator>MediaWiki 1.46.2</generator>
	<entry>
		<id>https://manuais.iessanclemente.net/index.php?title=Gesti%C3%B3n_de_Servicios_con_systemd&amp;diff=63580&amp;oldid=prev</id>
		<title>Javierfp en 17:56 11 dic 2017</title>
		<link rel="alternate" type="text/html" href="https://manuais.iessanclemente.net/index.php?title=Gesti%C3%B3n_de_Servicios_con_systemd&amp;diff=63580&amp;oldid=prev"/>
		<updated>2017-12-11T17:56:02Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Página nueva&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Uno de los aspectos principales gestionados mediante systemd son los &amp;#039;&amp;#039;&amp;#039;servicios&amp;#039;&amp;#039;&amp;#039;, o daemons, del sistema. Estos son todos los procesos que se inician automáticamente durante el arranque del mismo.&lt;br /&gt;
&lt;br /&gt;
En el pasado la gestión de este aspecto recaía sobre &amp;#039;&amp;#039;&amp;#039;sysvinit&amp;#039;&amp;#039;&amp;#039;, un &amp;#039;&amp;#039;&amp;#039;modelo&amp;#039;&amp;#039;&amp;#039; de gestión de inicio de procesos clásico y estándar en los sistemas GNU/Linux y UNIX. Sin embargo este sistema adolece de una serie de carencias que systemd puede gestionar de modo más eficiente.&lt;br /&gt;
&lt;br /&gt;
Como todo en systemd tenemos que definir units correspondientes a los elementos a administrar, en este caso los servicios. El modo de definición de units es a través de unit files, por tanto el aspecto fundamental es la definición del archivo de unit file correspondiente.&lt;br /&gt;
&lt;br /&gt;
=== Gestión de inicio de units ===&lt;br /&gt;
&lt;br /&gt;
* Inicio y parada de servicio de unit tipo service&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;systemctl start nginx.service&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Inicia servicio&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;systemctl stop nginx.service&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Para servicio&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;systemctl restart nginx.service&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Reinicia servicio&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;systemctl reload nginx.service&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Recarga configuración de servicio&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;systemctl reload-or-restart nginx.service&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Se usaría este comando en lugar del anterior cuando no sepamos si el servicio puede recargar su configuración&lt;br /&gt;
&lt;br /&gt;
* Enmascarar units&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;systemctl mask nginx.service&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con este comando enmascaramos la unit nginx.service lo que hará que esa unit no pueda ser iniciada. Puede ser un estado de inhabilitación temporal sin llegar a deshabilitarla por completo. Para volver a activarla&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;systemctl unmask nginx.service&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Habilitar y deshabilitar unit de servicio para que inicie durante el arranque del sistema&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;systemctl enable nginx.service&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Habilita la unit correspondiente. Creará un link simbólico al service file, en /lib/systemd/system o /etc/systemd/system, en la ubicación en la que systemd ubica los archivos de inicio, por lo general en /etc/systemd/system/nombre_target.target.wants, ubicación que especifica para un target (runlevel) asociado los servicios que se inician en el mismo.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;systemctl disable nginx.service&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Deshabilita la unit&lt;br /&gt;
&lt;br /&gt;
=== Compilando y definiendo servicio systemd para mariadb-server ===&lt;br /&gt;
&lt;br /&gt;
Vamos a ver un ejemplo de creación de unit file para un sistema mariadb-server que compilaremos desde las fuentes. De este modo podremos definir y gestionar el servicio correspondiente&lt;br /&gt;
&lt;br /&gt;
Ejecutamos los comandos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt build-dep mariadb-server&lt;br /&gt;
cd /tmp&lt;br /&gt;
apt source mariadb-server&lt;br /&gt;
tar -xzf mariadb-10.1_10.1.26.orig.tar.gz&lt;br /&gt;
cd mariadb-10.1.26&lt;br /&gt;
BUILD/autorun.sh&lt;br /&gt;
./configure&lt;br /&gt;
make&lt;br /&gt;
make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ejecutamos los siguientes comandos para poder ejecutar mysql. Primero cambiamos el propietario del directorio de instalación de mysql&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;chown -R mysql /usr/local/mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
a continuación creamos el directorio de datos para el servidor:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;/usr/local/mysql/scripts/mysql_install_db --user=mysql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tras el proceso de compilación y configuración anterior dispondremos de mariadb-server en nuestra máquina. Sin embargo no tenemos ningún sistema de gestión del servicio por defecto.&lt;br /&gt;
&lt;br /&gt;
Para poder gestionar el servicio, y por tanto poder arrancar automática y manualmente el servidor mariadb, necesitamos un unit file de tipo service.&lt;br /&gt;
&lt;br /&gt;
=== Definiendo unit file para mariadb-server ===&lt;br /&gt;
&lt;br /&gt;
Creamos el unit file correspondiente en el archivo &amp;#039;&amp;#039;&amp;#039;/etc/sytemd/system/mariadb.service&amp;#039;&amp;#039;&amp;#039; con el siguiente contenido:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=MariaDB database server&lt;br /&gt;
After=network.target&lt;br /&gt;
After=syslog.target&lt;br /&gt;
[Service]&lt;br /&gt;
Type=simple&lt;br /&gt;
PrivateNetwork=false&lt;br /&gt;
User=mysql&lt;br /&gt;
Group=mysql&lt;br /&gt;
CapabilityBoundingSet=CAP_IPC_LOCK&lt;br /&gt;
PermissionsStartOnly=true&lt;br /&gt;
ExecStart=/usr/local/mysql/bin/mysqld_safe --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data&lt;br /&gt;
ExecReload=/bin/kill -HUP $MAINPID&lt;br /&gt;
ExecStop=/bin/kill -QUIT $MAINPID&lt;br /&gt;
Restart=on-abort&lt;br /&gt;
RestartSec=5s&lt;br /&gt;
UMask=007&lt;br /&gt;
PrivateTmp=false&lt;br /&gt;
LimitNOFILE=16364&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
Alias=mysql.service&lt;br /&gt;
Alias=mysqld.service&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
tras definir el unit file activamos el servicio en systemd&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;systemctl enable mariadb.service&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Al reiniciar la máquina debería arrancar automáticamente el servidor mariadb.&lt;br /&gt;
&lt;br /&gt;
Para detener el servidor&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;systemctl stop mariadb.service&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
para arrancarlo&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;systemctl start mariadb.service&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
etc.&lt;br /&gt;
&lt;br /&gt;
[[Gestión del Sistema con Systemd|Volver]]&lt;br /&gt;
&lt;br /&gt;
JavierFP 17:44 11 dec 2017 (CET)&lt;/div&gt;</summary>
		<author><name>Javierfp</name></author>
	</entry>
</feed>