<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>systemctl &#8211; SMsoft &#8211; informatica e dintorni</title>
	<atom:link href="https://blog.smsoft.it/tag/systemctl/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.smsoft.it</link>
	<description>consigli settimanali su MacOS, GNU/Linux ed Open Source</description>
	<lastBuildDate>Thu, 06 Mar 2025 16:38:46 +0000</lastBuildDate>
	<language>it-IT</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=70187</generator>
	<item>
		<title>systemd: Riavviare un servizio al variare dello script avviato</title>
		<link>https://blog.smsoft.it/2025/01/07/systemd-riavviare-un-servizio-al-variare-dello-script-avviato/</link>
					<comments>https://blog.smsoft.it/2025/01/07/systemd-riavviare-un-servizio-al-variare-dello-script-avviato/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Tue, 07 Jan 2025 09:30:00 +0000</pubDate>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[systemctl]]></category>
		<category><![CDATA[systemd]]></category>
		<category><![CDATA[systemd.path]]></category>
		<guid isPermaLink="false">https://blog.smsoft.it/?p=6587</guid>

					<description><![CDATA[Systemd path unit consentono di monitorare file e directory per diversi tipi di eventi. Una volta che l&#8217;evento si attiva, systemd può eseguire uno script tramite system unit. Facciamo un esempio completo. Vogliamo creare un servizio che avvii uno script python con uvicorn. Il servizio si chiamerà chatserv. Per gestire solo il servizio, ci basterebbe ... <a title="systemd: Riavviare un servizio al variare dello script avviato" class="read-more" href="https://blog.smsoft.it/2025/01/07/systemd-riavviare-un-servizio-al-variare-dello-script-avviato/" aria-label="Per saperne di più su systemd: Riavviare un servizio al variare dello script avviato">Leggi tutto</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Systemd path unit consentono di monitorare file e directory per diversi tipi di eventi. Una volta che l&#8217;evento si attiva, systemd può eseguire uno script tramite system unit. </p>



<p class="wp-block-paragraph">Facciamo un esempio completo.</p>



<p class="wp-block-paragraph">Vogliamo creare un servizio che avvii uno script python con uvicorn. Il servizio si chiamerà <strong>chatserv</strong>.</p>



<p class="wp-block-paragraph">Per gestire solo il servizio, ci basterebbe creare un file chiamato <strong>/etc/systemd/system/chatserv.service</strong> con all&#8217;interno:</p>



<pre class="wp-block-code"><code>&#91;Unit]
Description=Start uvicorn service fastapi
After=network.target

&#91;Service]
Type=simple
User=web1
Group=web1
DynamicUser=true

WorkingDirectory=/var/www/web1/python/f24-online
PrivateTmp=true

ExecStart=/var/www/web1/python/bin/uvicorn --app-dir /var/www/web1/python/chatserv chatserv:app --host 127.0.0.1 --port 8000 --reload

ExecReload=/bin/kill -HUP ${MAINPID}
RestartPreventExitStatus = 255
RestartSec=1
Restart=always

&#91;Install]
WantedBy=multi-user.target</code></pre>



<p class="wp-block-paragraph">Per abilitare il servizio ci basterà:</p>



<pre class="wp-block-code"><code>systemctl daemon-reload
systemctl enable chatserv.service
systemctl start chatserv.service
</code></pre>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph">Se volessimo aggiungere un monitoraggio su eventuali cambiamenti all&#8217;interno della cartella <strong>/var/www/web1/python/chatserv</strong> dovremmo creare due file.</p>



<p class="wp-block-paragraph">Il file del servizio di monitoraggio <strong>/etc/systemd/system/chatserv-watcher.service</strong>:</p>



<pre class="wp-block-code"><code>&#91;Unit]
Description=chatserv.service restarter on script change
After=network.target
StartLimitIntervalSec=10
StartLimitBurst=5

&#91;Service]
Type=oneshot
ExecStart=/usr/bin/systemctl restart chatserv.service
RestartSec=5s

&#91;Install]
WantedBy=multi-user.target</code></pre>



<p class="wp-block-paragraph">dove <strong>StartLimitIntervalSec=10</strong> e <strong>StartLimitBurst=5</strong> indicano che non è consentito che il sistema si riavvii più di 5 volte in 10 secondi e <strong>RestartSec=5s</strong> indica che il riavvio avverrà dopo 5 secondi.</p>



<p class="wp-block-paragraph">Infine il file del <strong>path unit service</strong> <strong>/etc/systemd/system/chatserv-watcher.path</strong>:</p>



<pre class="wp-block-code"><code>&#91;Path]
Unit=chatserv-watcher.service
PathChanged=/var/www/web1/python/chatserv

&#91;Install]
WantedBy=multi-user.target</code></pre>



<p class="wp-block-paragraph">Abilitiamo anche il servizio di monitoraggio:</p>



<pre class="wp-block-code"><code>systemctl enable chatserv-watcher.{path,service}
systemctl start chatserv-watcher.{path,service}
</code></pre>



<p class="wp-block-paragraph">Fatto, possiamo ora provare a modificare lo script e poi controllare che il servizio venga riavviato con:</p>



<pre class="wp-block-code"><code>journalctl -r -u chatserv</code></pre>



<p class="wp-block-paragraph">enjoy!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.smsoft.it/2025/01/07/systemd-riavviare-un-servizio-al-variare-dello-script-avviato/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Debian: Avviare il sistema con console anche se si ha installata una GUI</title>
		<link>https://blog.smsoft.it/2024/09/03/debian-avviare-il-sistema-con-console-anche-se-si-ha-installata-una-gui/</link>
					<comments>https://blog.smsoft.it/2024/09/03/debian-avviare-il-sistema-con-console-anche-se-si-ha-installata-una-gui/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Tue, 03 Sep 2024 08:30:00 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[multi-user.target]]></category>
		<category><![CDATA[set-default]]></category>
		<category><![CDATA[systemctl]]></category>
		<guid isPermaLink="false">https://blog.smsoft.it/?p=6413</guid>

					<description><![CDATA[Effettuando l&#8217;installazione di una Debian recente con il supporto per systemd con una GUI, grub provvede in automatico ad effettuare l&#8217;avvia con la GUI preimpostata. Se però in un secondo tempo preferiamo fare il boot con la console, possiamo cambiare questo funzionamento digitando: nel nostro terminale. Per ripristinare l&#8217;avvio automatico con GUI al boo, basterà ... <a title="Debian: Avviare il sistema con console anche se si ha installata una GUI" class="read-more" href="https://blog.smsoft.it/2024/09/03/debian-avviare-il-sistema-con-console-anche-se-si-ha-installata-una-gui/" aria-label="Per saperne di più su Debian: Avviare il sistema con console anche se si ha installata una GUI">Leggi tutto</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Effettuando l&#8217;installazione di una Debian recente con il supporto per systemd con una GUI, grub provvede in automatico ad effettuare l&#8217;avvia con la GUI preimpostata. Se però in un secondo tempo preferiamo fare il boot con la console, possiamo cambiare questo funzionamento digitando:</p>



<pre class="wp-block-code"><code>systemctl set-default multi-user.target</code></pre>



<p class="wp-block-paragraph">nel nostro terminale.</p>



<p class="wp-block-paragraph">Per ripristinare l&#8217;avvio automatico con GUI al boo, basterà digitare nel terminale:</p>



<pre class="wp-block-code"><code>systemctl set-default graphical.target</code></pre>



<p class="wp-block-paragraph">Infine, per verificare l&#8217;attuale impostazione, basterà digitare:</p>



<pre class="wp-block-code"><code>systemctl get-default</code></pre>



<p class="wp-block-paragraph">che non fa altro che verificare a cosa è linkato <strong>/etc/systemd/system/default.target</strong></p>



<p class="wp-block-paragraph">Per vedere tutti i target disponibili, possiamo digitare nel terminale:</p>



<pre class="wp-block-code"><code>systemctl list-units --type target</code></pre>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph">Per passare da console a GUI direttamente senza riavviare:</p>



<pre class="wp-block-code"><code>systemctl isolate graphical.target</code></pre>



<p class="wp-block-paragraph">o, viceversa per passare da GUI a console:</p>



<pre class="wp-block-code"><code>systemctl isolate multi-user.target</code></pre>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph">Per i nostalgici di SysV, nella seguente tabella c&#8217;è un confronto tra SysV e SystemD:</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>Systemd target</th><th>Runlevel</th><th>Descr</th><th>Old command</th><th>New command</th></tr></thead><tbody><tr><td><kbd>runlevel0.target</kbd>,&nbsp;<kbd>poweroff.target</kbd></td><td>0</td><td>Spegne la Linux box.</td><td><kbd>init 0</kbd></td><td><kbd>systemctl isolate poweroff.target</kbd></td></tr><tr><td><kbd>runlevel1.target</kbd>,&nbsp;<kbd>rescue.target</kbd></td><td>1</td><td>Avvia in rescue mode (single user mode).</td><td><kbd>init 1</kbd></td><td><kbd>systemctl isolate rescue.target</kbd></td></tr><tr><td><kbd>runlevel2.target</kbd>,&nbsp;<kbd>multi-user.target</kbd></td><td>2</td><td>console Text based multi-user system senza supporto di rete.</td><td><kbd>init 2</kbd></td><td><kbd>systemctl isolate runlevel2.target</kbd></td></tr><tr><td><kbd>runlevel3.target</kbd>,&nbsp;<kbd>multi-user.target</kbd></td><td>3</td><td>console multi-user text mode (classico uso server).</td><td><kbd>init 3</kbd></td><td><kbd>systemctl isolate runlevel3.target</kbd></td></tr><tr><td><kbd>runlevel4.target</kbd>,&nbsp;<kbd>multi-user.target</kbd></td><td>4</td><td>Particolari usi per console text mode.</td><td><kbd>init 4</kbd></td><td><kbd>systemctl isolate runlevel4.target</kbd></td></tr><tr><td><kbd>runlevel5.target</kbd>,&nbsp;<kbd>graphical.target</kbd></td><td>5</td><td>Avvio con GUI display manager.</td><td><kbd>init 5</kbd></td><td><kbd>systemctl isolate graphical.target</kbd></td></tr><tr><td><kbd>runlevel6.target</kbd>,&nbsp;<kbd>reboot.target</kbd></td><td>6</td><td>Riavvia la Linux box.</td><td><kbd>init 5</kbd></td><td><kbd>systemctl isolate reboot.target</kbd></td></tr></tbody></table></figure>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph">enjoy!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.smsoft.it/2024/09/03/debian-avviare-il-sistema-con-console-anche-se-si-ha-installata-una-gui/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>journalctl e  systemd</title>
		<link>https://blog.smsoft.it/2023/07/04/journalctl-e-systemd/</link>
					<comments>https://blog.smsoft.it/2023/07/04/journalctl-e-systemd/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Tue, 04 Jul 2023 08:30:00 +0000</pubDate>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[journalctl]]></category>
		<category><![CDATA[systemctl]]></category>
		<category><![CDATA[systemd]]></category>
		<guid isPermaLink="false">https://blog.smsoft.it/?p=5994</guid>

					<description><![CDATA[systemd ha il proprio sistema di registrazione log chiamato journal e per leggere i log si puà utilizzare il comando journalctl. Ad esempio per controllare i log per l&#8217;utente apache si può digitare: journalctl -u apache Per visualizzare i log di un utente, in base all&#8217;UID, es UID 100: journalctl _UID=100 Per visualizzare i log ... <a title="journalctl e  systemd" class="read-more" href="https://blog.smsoft.it/2023/07/04/journalctl-e-systemd/" aria-label="Per saperne di più su journalctl e  systemd">Leggi tutto</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">systemd ha il proprio sistema di registrazione log chiamato journal e per leggere i log si puà utilizzare il comando journalctl.</p>



<p class="wp-block-paragraph">Ad esempio per controllare i log per l&#8217;utente apache si può digitare:</p>



<pre class="wp-block-preformatted">journalctl -u apache</pre>



<p class="wp-block-paragraph">Per visualizzare i log di un utente, in base all&#8217;UID, es UID 100:</p>



<pre class="wp-block-preformatted">journalctl _UID=100</pre>



<p class="wp-block-paragraph">Per visualizzare i log di un processo in particolare:</p>



<pre class="wp-block-preformatted">journalctl _PID=1234</pre>



<p class="wp-block-paragraph">Per vedere i log degli ultimi 20 minuti:</p>



<pre class="wp-block-code"><code>journalctl --since "20 min ago"</code></pre>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph">Per visualizzare i log in tempo reale:</p>



<pre class="wp-block-preformatted">journalctl -f</pre>



<p class="wp-block-paragraph">Per visualizzare i log filtrati per una stringa, es &#8220;error&#8221;:</p>



<pre class="wp-block-preformatted">journalctl -g error</pre>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph">Infine, i log sono archiviati in /var/log/journal e per cancellare log più vecchi di 30 giorni possiamo digitare:</p>



<pre class="wp-block-preformatted">journalctl --vacuum-time=30d
</pre>



<p class="wp-block-paragraph">oppure per cancellare tutti i log e lasciarne solo 100MB:</p>



<pre class="wp-block-code"><code>journalctl --vacuum-size=100M</code></pre>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph">enjoy!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.smsoft.it/2023/07/04/journalctl-e-systemd/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Abilitare e disabilitare la sincronizzazione dell&#8217;orario su Debian 9 e Debian 10</title>
		<link>https://blog.smsoft.it/2020/10/27/abilitare-e-disabilitare-la-sincronizzazione-dellorario-su-debian-9-e-debian-10/</link>
					<comments>https://blog.smsoft.it/2020/10/27/abilitare-e-disabilitare-la-sincronizzazione-dellorario-su-debian-9-e-debian-10/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Tue, 27 Oct 2020 09:30:00 +0000</pubDate>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[ntpd]]></category>
		<category><![CDATA[systemctl]]></category>
		<category><![CDATA[systemd]]></category>
		<category><![CDATA[timesyncd]]></category>
		<guid isPermaLink="false">https://blog.smsoft.it/?p=4799</guid>

					<description><![CDATA[Il sistema builti-n predefinito da Debian 9 per l&#8217;aggiornamento dell&#8217;orario è timesyncd che va a sostituire ntpd e viene gestito da systemd. Per verificarne lo stato basta fare: systemctl status systemd-timesyncd Prima di iniziare, verificare di non aver installato NTP con: apt purge ntp Per avviare il servizio: systemctl enable systemd-timesyncd systemctl start systemd-timesyncd Per ... <a title="Abilitare e disabilitare la sincronizzazione dell&#8217;orario su Debian 9 e Debian 10" class="read-more" href="https://blog.smsoft.it/2020/10/27/abilitare-e-disabilitare-la-sincronizzazione-dellorario-su-debian-9-e-debian-10/" aria-label="Per saperne di più su Abilitare e disabilitare la sincronizzazione dell&#8217;orario su Debian 9 e Debian 10">Leggi tutto</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Il sistema builti-n predefinito da Debian 9 per l&#8217;aggiornamento dell&#8217;orario è <strong>timesyncd</strong> che va a sostituire <strong>ntpd</strong> e viene gestito da <strong>systemd</strong>.</p>



<p class="wp-block-paragraph">Per verificarne lo stato basta fare:</p>



<pre class="wp-block-preformatted">systemctl status systemd-timesyncd</pre>



<p class="wp-block-paragraph">Prima di iniziare, verificare di non aver installato NTP con:</p>



<pre class="wp-block-preformatted">apt purge ntp</pre>



<p class="wp-block-paragraph">Per avviare il servizio:</p>



<pre class="wp-block-preformatted">systemctl enable systemd-timesyncd
systemctl start systemd-timesyncd</pre>



<p class="wp-block-paragraph">Per verificare che tutto funzion correttamente, digitare:</p>



<pre class="wp-block-preformatted">timedatectl</pre>



<p class="wp-block-paragraph">e controllare che le righe <strong>NTP enabled</strong> e <strong>NTP synchronized</strong> siano impostate a <strong>Yes</strong>.</p>



<p class="wp-block-paragraph">Se non risulta abilitato, abilitarlo con:</p>



<pre class="wp-block-preformatted">timedatectl set-ntp on</pre>



<p class="wp-block-paragraph">Infine, il file di configurazione è <strong>/etc/systemd/timesyncd.conf </strong>dove eventualmente specificare altri server NTP. A seguito di modifiche, riavviare con:</p>



<pre class="wp-block-preformatted">systemctl restart systemd-timesyncd.service</pre>



<p class="wp-block-paragraph">Per verificare lo status e la configurazione si può usare:</p>



<pre class="wp-block-preformatted">timedatectl show-timesync</pre>



<p class="wp-block-paragraph">enjoy!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.smsoft.it/2020/10/27/abilitare-e-disabilitare-la-sincronizzazione-dellorario-su-debian-9-e-debian-10/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Come capire qual è l&#8217;errore nel file di systemd</title>
		<link>https://blog.smsoft.it/2020/09/15/come-capire-qual-e-lerrore-nel-file-di-systemd/</link>
					<comments>https://blog.smsoft.it/2020/09/15/come-capire-qual-e-lerrore-nel-file-di-systemd/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Tue, 15 Sep 2020 08:30:00 +0000</pubDate>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[journalctl]]></category>
		<category><![CDATA[systemctl]]></category>
		<category><![CDATA[systemd]]></category>
		<guid isPermaLink="false">https://blog.smsoft.it/?p=4754</guid>

					<description><![CDATA[Ho creato ultimamente un file systemd per avviare un demone secondario di redis 6 su una porta differente da quella originale in modo da avere due versioni dello stesso software attive. Dopo aver creato il file in: /lib/systemd/system/ ed aver ricaricato l&#8217;elenco dei servizi con: systemctl daemon-reload ho abilitato il servizio: systemctl enable redis6-server.service ed ... <a title="Come capire qual è l&#8217;errore nel file di systemd" class="read-more" href="https://blog.smsoft.it/2020/09/15/come-capire-qual-e-lerrore-nel-file-di-systemd/" aria-label="Per saperne di più su Come capire qual è l&#8217;errore nel file di systemd">Leggi tutto</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Ho creato ultimamente un file systemd per avviare un demone secondario di redis 6 su una porta differente da quella originale in modo da avere due versioni dello stesso software attive.</p>



<p class="wp-block-paragraph">Dopo aver creato il file in:</p>



<pre class="wp-block-preformatted">/lib/systemd/system/</pre>



<p class="wp-block-paragraph">ed aver ricaricato l&#8217;elenco dei servizi con:</p>



<pre class="wp-block-preformatted">systemctl daemon-reload</pre>



<p class="wp-block-paragraph">ho abilitato il servizio:</p>



<pre class="wp-block-preformatted">systemctl enable redis6-server.service</pre>



<p class="wp-block-paragraph">ed ho provato ad avviarlo con:</p>



<pre class="wp-block-preformatted">systemctl start redis6-server.service</pre>



<p class="wp-block-paragraph">Il servizio non si avviava, mostrando:</p>



<pre class="wp-block-preformatted">start request repeated too quickly, refusing to start</pre>



<p class="wp-block-paragraph">Provando con i comandi suggeriti da systemd non si riusciva a capire quale fosse effettivamente l&#8217;errore, ma eseguendo:</p>



<pre class="wp-block-preformatted">journalctl -u redis6-server.service</pre>



<p class="wp-block-paragraph">e&#8217; venuto fuori che non riusciva a scrivere il nuovo file di log&#8230;</p>



<p class="wp-block-paragraph"><strong>NB</strong>: Ricordo sempre che un&#8217;altra cosa importante da controllare sempre sono i files di log. Il path è specificato nel file di configurazione alla direttiva <strong>logfile</strong></p>



<p class="wp-block-paragraph">enjoy!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.smsoft.it/2020/09/15/come-capire-qual-e-lerrore-nel-file-di-systemd/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Debian: Casa fare se l&#8217;autocompletamento in bash non funziona</title>
		<link>https://blog.smsoft.it/2017/12/12/debian-casa-lautocompletamento-bash-non-funziona/</link>
					<comments>https://blog.smsoft.it/2017/12/12/debian-casa-lautocompletamento-bash-non-funziona/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Tue, 12 Dec 2017 08:30:53 +0000</pubDate>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[autocomplete]]></category>
		<category><![CDATA[service]]></category>
		<category><![CDATA[systemctl]]></category>
		<guid isPermaLink="false">https://blog.smsoft.it/?p=3893</guid>

					<description><![CDATA[Tutti gli utenti Linux sanno che la bash permette l&#8217;autocompletamento dei comandi/directory usando il tasto TAB. Può però accadere, con particolari installazioni, che per i comandi systemctl o service non funzioni l&#8217;autocompletamento. in questo caso, basta installare il pacchetto bash-completion e poi fare nuovamente il login: apt-get install bash-completion enjoy!]]></description>
										<content:encoded><![CDATA[<p>Tutti gli utenti Linux sanno che la bash permette l&#8217;autocompletamento dei comandi/directory usando il tasto TAB.<br />
Può però accadere, con particolari installazioni, che per i comandi <strong>systemctl</strong> o <strong>service</strong> non funzioni l&#8217;autocompletamento.</p>
<p>in questo caso, basta installare il pacchetto bash-completion e poi fare nuovamente il login:<br />
<code>apt-get install bash-completion</code></p>
<p>enjoy!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.smsoft.it/2017/12/12/debian-casa-lautocompletamento-bash-non-funziona/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Come funziona systemd?</title>
		<link>https://blog.smsoft.it/2016/07/12/come-funziona-systemd/</link>
					<comments>https://blog.smsoft.it/2016/07/12/come-funziona-systemd/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Tue, 12 Jul 2016 09:30:12 +0000</pubDate>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[systemctl]]></category>
		<category><![CDATA[systemd]]></category>
		<guid isPermaLink="false">http://blog.smsoft.it/?p=3443</guid>

					<description><![CDATA[Systemd è il nuovo modulo per la gestione dei servizi su Linux. E&#8217; compatibile con SysV ed LSB init. Il maggior vantaggio rispetto ai predecessori è la capacità di parallelizzare i processi al boot, rendendo più veloce il login; inoltre mantiene traccia dei processi usando Linux cgroups, supporta lo snapshotting ed il restore dello stato ... <a title="Come funziona systemd?" class="read-more" href="https://blog.smsoft.it/2016/07/12/come-funziona-systemd/" aria-label="Per saperne di più su Come funziona systemd?">Leggi tutto</a>]]></description>
										<content:encoded><![CDATA[<p><strong>Systemd</strong> è il nuovo modulo per la gestione dei servizi su Linux. E&#8217; compatibile con <strong>SysV</strong> ed <strong>LSB init.</strong> Il maggior vantaggio rispetto ai predecessori è la capacità di <strong>parallelizzare i processi al boot</strong>, rendendo <strong>più veloce il login</strong>; inoltre mantiene traccia dei processi usando Linux cgroups, supporta lo snapshotting ed il restore dello stato di sistema, mantiene i riferimenti di mount ed automount.</p>
<h3>Modifiche ai parametri per il boot del kernel</h3>
<p>Di default <b>systemd</b> attiva il <b>target unit</b> denominato <b>default.target</b>.<br />
Per sovrascrivere questo funzionamento, si può modificare il parametro <b>systemd.unit=</b> passato al kernel durante il boot (ad esempio modificando al volo i parametri con grub).<br />
Il target <b>systemd.unit=rescue.target</b> server per attivare una shell di recupero (simile al runlevel 1); <b>systemd.unit=emergency.target</b> è invece molto simile al &#8220;vecchio&#8221; init=/bin/sh ma con l&#8217;aggiunta che viene avviato il sistema completo; <b>systemd.unit=multi-user.target</b> è per l&#8217;avvio in modalita non grafica ed infine systemd.unit=graphical.target è per l&#8217;avvio in modalità grafica.</p>
<p>Per modificare il target (per intenderci il runlevel di sysinit), si può usare <b>isolate</b> (per simulare il runlevel 3):</p><pre class="urvanov-syntax-highlighter-plain-tag">systemctl isolate multi-user.target</pre><p>e (per simulare il runlevel 5):</p><pre class="urvanov-syntax-highlighter-plain-tag">systemctl isolate graphical.target</pre><p>Per impostare il target di default, si può usare <b>set-default</b>, es:</p><pre class="urvanov-syntax-highlighter-plain-tag">systemctl set-default multi-user.target</pre><p>oppure</p><pre class="urvanov-syntax-highlighter-plain-tag">systemctl set-default graphical.target</pre><p>Per vedere tutti i target disponibili:</p><pre class="urvanov-syntax-highlighter-plain-tag">systemctl list-units --type=target</pre><p>Infine, per conoscere il target attuale, si può usare:</p><pre class="urvanov-syntax-highlighter-plain-tag">systemctl get-default</pre><p></p>
<h3>Come gestire i servizi con systemd</h3>
<p>I file relativi ai servizi sono in:</p><pre class="urvanov-syntax-highlighter-plain-tag">/usr/lib/systemd/system/</pre><p>Per la visualzzazione di tutti i servizi:</p><pre class="urvanov-syntax-highlighter-plain-tag">systemctl</pre><p>oppure per avere una visualizzazione &#8220;ad albero&#8221;:</p><pre class="urvanov-syntax-highlighter-plain-tag">systemd-cgls</pre><p>Per avviare/fermare/riavviare un servizio:</p><pre class="urvanov-syntax-highlighter-plain-tag">systemctl start nome_servizio</pre><p></p><pre class="urvanov-syntax-highlighter-plain-tag">systemctl stop nome_servizio</pre><p></p><pre class="urvanov-syntax-highlighter-plain-tag">systemctl restart nome_servizio</pre><p>Per conoscere lo stato di un servizio:</p><pre class="urvanov-syntax-highlighter-plain-tag">systemctl status nome_servizio</pre><p>Per abilitare/disabilitare l&#8217;avvio di un servizio al boot:</p><pre class="urvanov-syntax-highlighter-plain-tag">systemctl enable nome_servizio</pre><p></p><pre class="urvanov-syntax-highlighter-plain-tag">systemctl disable nome_servizio</pre><p>e per verificare se è abilitato o meno:</p><pre class="urvanov-syntax-highlighter-plain-tag">systemctl is-enabled nome_servizio</pre><p>Per ora è tutto, questi i comandi principali che possono servire per la gestione di systemd.</p>
<p>enjoy!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.smsoft.it/2016/07/12/come-funziona-systemd/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
