<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="it">
	<id>https://lugman.org/index.php?action=history&amp;feed=atom&amp;title=Speed_up_boot_slack</id>
	<title>Speed up boot slack - Cronologia</title>
	<link rel="self" type="application/atom+xml" href="https://lugman.org/index.php?action=history&amp;feed=atom&amp;title=Speed_up_boot_slack"/>
	<link rel="alternate" type="text/html" href="https://lugman.org/index.php?title=Speed_up_boot_slack&amp;action=history"/>
	<updated>2026-05-05T08:14:42Z</updated>
	<subtitle>Cronologia della pagina su questo sito</subtitle>
	<generator>MediaWiki 1.43.3</generator>
	<entry>
		<id>https://lugman.org/index.php?title=Speed_up_boot_slack&amp;diff=138&amp;oldid=prev</id>
		<title>Fausto: Creata pagina con &quot;SlackWare è una distribuzione molto snella ed elegantemente semplice come struttura. A differenza della stragrande maggioranza delle altre distribuzioni, SlakWare è fondamen...&quot;</title>
		<link rel="alternate" type="text/html" href="https://lugman.org/index.php?title=Speed_up_boot_slack&amp;diff=138&amp;oldid=prev"/>
		<updated>2013-10-06T07:41:34Z</updated>

		<summary type="html">&lt;p&gt;Creata pagina con &amp;quot;SlackWare è una distribuzione molto snella ed elegantemente semplice come struttura. A differenza della stragrande maggioranza delle altre distribuzioni, SlakWare è fondamen...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nuova pagina&lt;/b&gt;&lt;/p&gt;&lt;div&gt;SlackWare è una distribuzione molto snella ed elegantemente semplice come struttura. A differenza della stragrande maggioranza delle altre distribuzioni, SlakWare è fondamentalmente un sistema BSD-like in cui al termine del bootstrap viene chimato il processo &amp;#039;&amp;#039;init&amp;#039;&amp;#039;, ossia il primo processo del sistema. Questo processo in funzione del &amp;#039;&amp;#039;runlevel&amp;#039;&amp;#039; chiama uno specifico script contenuto nella directory /etc/rc.d il quale, a sua volta chiama in sequenza altri script presenti, salvo qualche eccezione, in questa directory.&lt;br /&gt;
&lt;br /&gt;
Normalemte ogni a file di questa directory compete lo startup di uno specifico servizio, demone o funzione. I files sono chiamati con rc.[nome_servizio]; per esempio lo script a cui compete l&amp;#039;attivazione del demone SSH si chiama &amp;#039;&amp;#039;rc.sshd&amp;#039;&amp;#039;, il quale internamente chiamerà proprio l&amp;#039;eseguibile &amp;#039;&amp;#039;sshd&amp;#039;&amp;#039; (dove la &amp;#039;d&amp;#039; finale sta proprio per demone). se ora si entra in questa directory tramite shell, eseguendo il comando &amp;#039;&amp;#039;ls --col -al&amp;#039;&amp;#039; dovrebbero comaprire tutti i files presenti di cui è riportato uno stralcio di seguito:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
drwxr-xr-x   2 root root  1152 2006-12-17 12:05 ./&lt;br /&gt;
drwxr-xr-x  49 root root  5336 2007-07-07 17:16 ../&lt;br /&gt;
lrwxrwxrwx   1 root root     4 2006-04-24 16:14 rc.0 -&amp;gt; rc.6*&lt;br /&gt;
-rwxr-xr-x   1 root root   893 2003-01-29 22:43 rc.4*&lt;br /&gt;
-rwxr-xr-x   1 root root  5764 2005-08-01 20:12 rc.6*&lt;br /&gt;
-rwxr-xr-x   1 root root  1989 2004-06-21 16:04 rc.K*&lt;br /&gt;
-rwxr-xr-x   1 root root  8178 2007-03-11 19:35 rc.M*&lt;br /&gt;
-rwxr-xr-x   1 root root 10996 2005-08-04 21:29 rc.S*&lt;br /&gt;
-rwxr-xr-x   1 root root   466 2004-11-05 09:20 rc.acpid*&lt;br /&gt;
-rwxr-xr-x   1 root root  1650 2005-07-22 20:41 rc.alsa*&lt;br /&gt;
-rw-r--r--   1 root root  1032 2003-02-02 04:47 rc.atalk&lt;br /&gt;
[...]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Tutti i files che appaiono verdi o con l&amp;#039;asterisco finale sono files eseguibili (come si nota dalla stringa dei permessi iniziale in cui compare la x per owner, group e users).&amp;lt;br&amp;gt;I files che presentano un solo carattere dopo la stringa &amp;#039;&amp;#039;rc.&amp;#039;&amp;#039; (identificabili con il comando &amp;#039;&amp;#039;ls rc.?&amp;#039;&amp;#039;) sono i files che vengono caricati in funzione del runlevel i quali a loro volta eseguono tutti gli script che gli competono se questi file sono eseguibili. Per fare ciò viene controllata l&amp;#039;eseguibilità come segue:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
if [ -x /etc/rc.d/rc.inet1 ]; then&lt;br /&gt;
  . /etc/rc.d/rc.inet1&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
In questo caso viene controllato se lo script che configura l&amp;#039;hardware di rete è eseguibile e se lo è, viene eseguito.&lt;br /&gt;
&lt;br /&gt;
E&amp;#039; chiaro che un primo metodo per velocizzare il boot è rendere non eseguibili gli script. Per fare questo si può dare da root il comando&lt;br /&gt;
&amp;lt;pre&amp;gt;chmod 644 rc.[nome_servizio]&amp;lt;/pre&amp;gt;che imposta i diritti di lettura e scrittura.&amp;lt;br&amp;gt;&lt;br /&gt;
Tipicamente viene tolta l&amp;#039;esecuzione agli script che configurano l&amp;#039;hardware che sul computer non è presente come rc.pcmcia su vecchi sistemi che non presentano queso connettore, oppure che configurano servizi che non sono richiesti o che sono stati sostituiti con altri (come spesso si fa con sendmail per esempio); alcuni servizi invece si disabilitano perchè è possibile caricarli con altri metodi, ossia configurando /etc/inetd.conf. Un esempio è SAMBA: andando a decommentare le tre riche relative a questo servizio in /etc/initd.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
netbios-ssn    stream  tcp     nowait  root    /usr/sbin/smbd  smbd&lt;br /&gt;
netbios-ns     dgram   udp     wait    root    /usr/sbin/nmbd  nmbd&lt;br /&gt;
#La riga seguente è bene non commentarla anche se si usa rc.samba in modo da attivare il sistema di configurazione via web&lt;br /&gt;
swat           stream  tcp     nowait.400 root /usr/sbin/swat  swat&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
è possibile rendere inattivo rc.samba.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;hotplug&amp;#039;&amp;#039;&amp;#039;: esistono però degli script che eseguono alcune funzioni fondamentali, come l&amp;#039;inizializzazione di hotplug o di udev. Il primo di questi in particolare svolge alcune operazioni che possono essere tranquillamente eseguite in parallelo. Quindi una soluzione per accelerare il tutto è porre una &amp;#039;&amp;#039;&amp;amp;&amp;#039;&amp;#039; alla fine del comando relativo a hotplug. Hotplug viene chiamato dallo script rc.M al quale occorre apportare la modiffica appena descritta:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
if cat /proc/mounts | grep -wq sysfs ; then&lt;br /&gt;
  if ! grep -wq nohotplug /proc/cmdline ; then&lt;br /&gt;
    if [ -x /etc/rc.d/rc.udev ]; then&lt;br /&gt;
      if [ -d /dev/.udev/failed ]; then&lt;br /&gt;
       for i in /dev/.udev/failed/*; do&lt;br /&gt;
         echo &amp;quot;add&amp;quot; &amp;gt; &amp;quot;${i}/uevent&amp;quot;&lt;br /&gt;
       done&lt;br /&gt;
      fi&lt;br /&gt;
    elif [ -x /etc/rc.d/rc.hotplug ]; then&lt;br /&gt;
      . /etc/rc.d/rc.hotplug start &amp;amp;       # &amp;lt;-- Mando il processo in background&lt;br /&gt;
    fi&lt;br /&gt;
  fi&lt;br /&gt;
elif [ -x /etc/rc.d/rc.hotplug -a -w /proc/sys/kernel/hotplug ]; then&lt;br /&gt;
  if ! grep -wq nohotplug /proc/cmdline ; then&lt;br /&gt;
    . /etc/rc.d/rc.hotplug start &amp;amp;         # &amp;lt;-- Mando il processo in background&lt;br /&gt;
  fi&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Questo tipo di modifica è applicabile anche ad altri script presenti come rc.pcmcia, chiamato anch&amp;#039;esso in rc.M.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;fc-chache&amp;#039;&amp;#039;&amp;#039;: un altro punto in cui vi può essere una notevole perdita di tempo è l&amp;#039;aggiornamento della chache dei fonts, ossia quando viene chiamato il seguente script:&lt;br /&gt;
&amp;lt;pre&amp;gt;# Update the X font indexes:&lt;br /&gt;
if [ -x /usr/X11R6/bin/fc-cache ]; then&lt;br /&gt;
  echo &amp;quot;Updating X font indexes:  /usr/X11R6/bin/fc-cache&amp;quot;&lt;br /&gt;
  /usr/X11R6/bin/fc-cache &amp;amp;                # &amp;lt;-- Mando il processo in background&lt;br /&gt;
fi&amp;lt;/pre&amp;gt;&lt;br /&gt;
e anche in questo caso si può porre il processo in background. Si noti comunque che &amp;#039;&amp;#039;fc-cache&amp;#039;&amp;#039; impiega tanto più tempo quanti più font sono presenti nel sistema.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;ldconfig&amp;#039;&amp;#039;&amp;#039;: viene chiamato anch&amp;#039;esso in rc.M (tipicamente appena prima di &amp;#039;&amp;#039;fc-chache&amp;#039;&amp;#039;) e come di consueto lo si può porre in background.:&lt;br /&gt;
&amp;lt;pre&amp;gt;# Update all the shared library links:&lt;br /&gt;
if [ -x /sbin/ldconfig ]; then&lt;br /&gt;
  echo &amp;quot;Updating shared library links:  /sbin/ldconfig&amp;quot;&lt;br /&gt;
  /sbin/ldconfig &amp;amp;&lt;br /&gt;
fi&amp;lt;/pre&amp;gt;&lt;br /&gt;
Questo comando non fa altro che ricreare tutti i link simbolici alle librerie di sistema. Questo lavoro, oltre che ad essere molto lento, è a mio avviso inutile perchè i link ci sono già e non ha senso aggiornarli se non si installano (o aggioprnano) nuove librerie. Inoltre sia che si compili, sia che si installi un pacchetto .tgz, il comando ldconfig viene sempre chiamato; al più per precauzione è sufficiente che lo lanci l&amp;#039;utente root al termine dell&amp;#039;aggiornamento. Per questo a mio avviso questa istruzione può essere commentata:&lt;br /&gt;
&amp;lt;pre&amp;gt;# Update all the shared library links:&lt;br /&gt;
if [ -x /sbin/ldconfig ]; then&lt;br /&gt;
  echo &amp;quot;Updating shared library links:  /sbin/ldconfig -- NON ESEGUITO --&amp;quot;&lt;br /&gt;
  #/sbin/ldconfig&lt;br /&gt;
fi&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039;&amp;lt;br&amp;gt;&lt;br /&gt;
#le moditiche qui suggerite sono arbitrarie e non necessarie.&lt;br /&gt;
#questo tipo di modifiche sono sate testate fino a SlackWare 11 e SlAMD64 11.&lt;br /&gt;
#quanto riportato è solo frutto dell&amp;#039;esperienza e delle prove fatte.&lt;/div&gt;</summary>
		<author><name>Fausto</name></author>
	</entry>
</feed>