<?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>Anesi Flavio &#187; avvio al boot</title>
	<atom:link href="http://www.flanesi.it/blog/tag/avvio-al-boot/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.flanesi.it/blog</link>
	<description>Il mio sito personale</description>
	<lastBuildDate>Mon, 19 Aug 2024 13:03:01 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
		<item>
		<title>eTRAYz &#8211; Avvio applicazioni al boot di sistema</title>
		<link>https://www.flanesi.it/blog/2011/03/21/etrayz-avvio-applicazioni-al-boot-di-sistema/</link>
		<comments>https://www.flanesi.it/blog/2011/03/21/etrayz-avvio-applicazioni-al-boot-di-sistema/#comments</comments>
		<pubDate>Mon, 21 Mar 2011 21:33:07 +0000</pubDate>
		<dc:creator>Flavio</dc:creator>
				<category><![CDATA[eTRAYz]]></category>
		<category><![CDATA[avvio al boot]]></category>
		<category><![CDATA[etrayz avvio automatico]]></category>
		<category><![CDATA[linux avvio al boot]]></category>
		<category><![CDATA[runlevel]]></category>

		<guid isPermaLink="false">http://flanesi.wordpress.com/?p=336</guid>
		<description><![CDATA[Quello che ci proponiamo di capire in questo articolo è come funziona l&#8217;avvio automatico delle applicazione al boot dell&#8217;etrayz, e cioè come funzionano in generale i runlevels di linux. &#160; Se vi interessa mettere le mani sul boot di linux, in generale, è bene sapere cosa sono i runlevels. Un runlevel è uno stato del [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flanesi.it/blog/wp-content/uploads/2011/03/etrayz-front.jpg"><img class="alignleft size-thumbnail wp-image-337" title="eTRAYz-front" src="http://www.flanesi.it/blog/wp-content/uploads/2011/03/etrayz-front.jpg?w=150" alt="" width="150" height="112" /></a></p>
<p>Quello che ci proponiamo di capire in questo articolo è come funziona l&#8217;avvio automatico delle applicazione al boot dell&#8217;etrayz, e cioè come funzionano in generale i <strong><a href="http://it.wikipedia.org/wiki/Runlevel" target="_blank">runlevels</a></strong> di linux.</p>
<p>&nbsp;</p>
<p><span id="more-336"></span>Se vi interessa mettere le mani sul boot di linux, in generale, è bene sapere cosa sono i <strong>runlevels</strong>.<br />
Un runlevel è uno stato del sistema in cui possono venire compiute solo determinate operazioni.</p>
<p>I runlevel in linux sono sette, enumerati da 0 a 6 (<em> sebbene esistano anche il 7, l&#8217;8 ed il 9 che però i normali Unix (e Linux con loro) non utilizzano</em>).<br />
Non esiste uno standard su cosa rappresenti ogni singolo runlevel, anche se alcuni sono riservati ed in generale si ha:</p>
<blockquote>
<ul>
<li> <span style="text-decoration:underline;">Runlevel 0:</span> <strong>/etc/rc0.d</strong> avvia la sequenza di arresto del sistema (shutdown).</li>
</ul>
<ul>
<li><span style="text-decoration:underline;">Runlevel 1:</span> <strong>/etc/rc1.d</strong> è detto <em>Single user mode</em> (&#8220;modalità ad utente singolo&#8221;): in  questo stato non vi sono programmi in esecuzione in background, e nessun  utente oltre all&#8217;amministratore ha accesso al sistema, per cui esso è  sotto il suo pieno controllo. È utile, ad esempio, per eseguire attività  di manutenzione come controlli sui dischi o aggiornare file di sistema,  dato che vi è la certezza che nessun processo li stia utilizzando e che  nessun utente possa intervenire all&#8217;insaputa dell&#8217;amministratore.</li>
</ul>
<ul>
<li><span style="text-decoration:underline;">Runlevel 2: </span><strong>/etc/rc2.d</strong> Per l&#8217;utente .</li>
</ul>
<ul>
<li> <span style="text-decoration:underline;">Runlevel 3:</span> <strong>/etc/rc3.d</strong> Per l&#8217;utente. <strong>Il 3 è il runlevel di default sull&#8217;eTRAYz.</strong></li>
</ul>
<ul>
<li> <span style="text-decoration:underline;">Runlevel 4:</span> <strong>/etc/rc4.d</strong> Per l&#8217;utente.</li>
</ul>
<ul>
<li> <span style="text-decoration:underline;">Runlevel 5:</span> <strong>/etc/rc5.d</strong> Per l&#8217;utente.</li>
</ul>
<ul>
<li> <span style="text-decoration:underline;">Runlevel 6:</span> <strong>/etc/rc6.d</strong> Il runlevel 6 è quello di reboot.  La macchina viene riavviata.</li>
</ul>
</blockquote>
<p>Gli script che di fatto permettono di gestire l&#8217;avvio o lo stop di un servizio sono in realtà nella directory <strong>/etc/init.d/</strong> (in questa cartella sono conservati i file binari, eseguibili, dei demoni installati) e possono essere utilizzati direttamente dall&#8217;utente per gestire i singoli processi.</p>
<p>I file presenti nelle cartelle dei runlevels <strong>/etc/rcX.d</strong> (X è il numero del runlevel) sono in realtà dei link (&#8220;<a href="http://it.wikipedia.org/wiki/Symlink" target="_blank">symlink</a>&#8220;) agli script nella cartella <strong>/etc/init.d/</strong><br />
Noterete che tali link sono preceduti da una <strong>S</strong> (&#8220;start&#8221;) o una <strong>K</strong> (&#8220;Kill&#8221;), seguite da un <strong>numero</strong>.</p>
<p>Le applicazioni precedute da &#8220;<strong>S</strong>&#8221; verranno avviate nel relativo runlevel, mentre quelle precedute da &#8220;<strong>K</strong>&#8221; verranno ovviamente killate.</p>
<p>Il numero di seguito alla lettera S oK rappresenta invece l&#8217;ordine con cui la sequenza degli script verrà eseguita all&#8217;interno di ogni runlevel.</p>
<p>&nbsp;</p>
<h2>ESEMPIO</h2>
<p>&nbsp;</p>
<p>Per fare un esempio supponiamo di avere lo script <strong>asterisk.sh</strong> per eseguire sul nostro etrayz l&#8217;applicazione asterisk (<a href="http://flanesi.wordpress.com/2011/02/23/etrayz-%E2%80%93-installiamo-asterisk-e-asteriskgui-%E2%80%93-parte-3/" target="_blank">come visto in altro articolo</a>)</p>
<p>ovviamente lo script si troverà in  <strong>/etc/init.d/asterisk.sh</strong>.</p>
<p>Per come sono strutturati in genere questi script potremo eseguire manualmente i comandi:</p>
<blockquote><p><strong>/etc/init.d/asterisk start</strong> avvia Asterisk</p>
<p><strong>/etc/init.d/asterisk stop</strong> ferma Asterisk</p>
<p><strong>/etc/init.d/asterisk restart</strong> ferma e riavvia Asterisk</p></blockquote>
<p>Per fare in modo che il nostro script Asterisk venga avviato in automatico ogni volta che si riavvia l’eTRAYz, dovremmo creare diversi symlink,  digitando i seguenti comandi:</p>
<blockquote><p><strong>ln -s /etc/init.d/asterisk /etc/rc0.d/K99asterisk<br />
ln -s /etc/init.d/asterisk /etc/rc1.d/K99asterisk<br />
ln -s /etc/init.d/asterisk /etc/rc2.d/K99asterisk<br />
ln -s /etc/init.d/asterisk /etc/rc3.d/K99asterisk<br />
ln -s /etc/init.d/asterisk /etc/rc4.d/K99asterisk<br />
ln -s /etc/init.d/asterisk /etc/rc5.d/K99asterisk<br />
ln -s /etc/init.d/asterisk /etc/rc6.d/K99asterisk</strong></p>
<p><strong>ln -s /etc/init.d/asterisk /etc/rc3.d/S99asterisk<br />
</strong></p></blockquote>
<p>In questo modo, all&#8217;avvio dell&#8217;eTRAYz,  lo script asterisk verrà eseguito all&#8217;interno del runlevel 3 con priorità 99 (cioè per ultimo) con l&#8217;opzione S in modo da avviare asterisk.</p>
<p>&nbsp;</p>
<h2><strong>ALTRO MODO DI AVVIO</strong></h2>
<p><strong><br />
</strong></p>
<p>Qualunque sia il runlevel usato, vi possono essere delle operazioni che  voi eseguite spesso in riga di comando, e magari preferireste che il  sistema all&#8217;avvio le eseguisse in automatico.</p>
<p>Oltre agli script in /etc/init.d/ c’è un’altro modo per far partire  programmi al boot, infatti ad ogni avvio viene eseguito il file  <strong>/etc/rc.local</strong>.</p>
<p>Se si vuol inserire un comando che richieda i privilegi  di root e non abbia bisogno di esser lanciato con una precisa priorità,  quella di /etc/rc.local è la soluzione più semplice.</p>
<p>Basterà infatti aggiungere il comando che vi interessa nel file <strong>/etc/rc.local</strong> inserendolo prima della riga &#8220;Exit 0&#8243;.</p>
<div class="al2fb_like_button"><div id="fb-root"></div><script src="http://connect.facebook.net/it_IT/all.js#appId=202722486445977&amp;xfbml=1" type="text/javascript"></script>
<fb:like href="https://www.flanesi.it/blog/2011/03/21/etrayz-avvio-applicazioni-al-boot-di-sistema/" send="true" layout="standard" show_faces="true" width="450" action="like" font="arial" colorscheme="light" ref="AL2FB"></fb:like></div>]]></content:encoded>
			<wfw:commentRss>https://www.flanesi.it/blog/2011/03/21/etrayz-avvio-applicazioni-al-boot-di-sistema/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
