[Primipassi] 3 quesiti

Sergio Ballestrero s.ballestrero@c-sistemi.it
Lun 11 Dic 2000 11:36:03 CET


On Sat, 9 Dec 2000, theold wrote:

> Date: Sat, 9 Dec 2000 18:38:11 +0100
> From: theold <theold@aruba.it>
> Reply-To: primipassi@firenze.linux.it
> To: primipassi@firenze.linux.it
> Subject: [Primipassi] 3 quesiti
> 
> Salve,
> avrei bisogno di un aiuto su tre argomenti (ho la Red Hat 6.2):
> 
> - Come si fa ad attivare il Bloc-Num della tastiera automaticamente ad
> ogni riavvio di Linux ?

[root@pcsash HOWTO]# pwd
/usr/doc/HOWTO
[root@pcsash HOWTO]# grep -5i numlock Config-HOWTO
       /sbin/kbdrate -s -r 16 -d 500  # or whatever you like

  To load the key table, issue /etc/rc.d/init.d/keytable start.  Other
  special keys will be considered in the following sections.

  To enable NumLock on by default, add these lines to
  /etc/rc.d/rc.sysinit:

       for tty in /dev/tty[1-9]*; do
         setleds -D +num < $tty
       done
--
       keycode 91  = KP_Decimal

  Make sure that your /etc/X11/XF86Config does not contain these three
  lines:

         ServerNumLock
         Xleds
         XkbDisable

  and in case, comment them out. To re-enable the keypad, you'll issue
  the command xmodmap .Xmodmap.num.



 
> - Uno script da avviare ad ogni ripartenza è necessario metterlo in
> .../init.d/ con un collegamento nel .../rc.X, o c'è un modo più
> elementare ? (magari mettendo lo script in una particolare direcory o
> chiamandolo in un modo particolare tipo autoexec.bat del dos)

 Quello e' il metodo standard per le funzioni di sistema - daemon etc.

 Se hai qualche piccola cosa _di sistema_, mettila in rc.local (ad
esempio, puo' essere il posto giusto per gli hdparm per settare gli HD
ATA):
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.

 per capire perche' l'init ha questa struttura e quando vengono chiamati
gli script, man init inittab

 Se e' qualcosa per/del singolo utente, in .bash_profile, che viene
eseguito al login.

 Per tutti gli utenti, mettilo in /etc/profile.d/

> - Alcuni script sono abbastanza comprensibili, altri hanno istruzioni
> piuttosto complesse che non riesco a capire. Esiste un manuale su
> internet, possibilmente in italiano, che spiega la sintassi per la
> scrittura di uno script ?

 da www.linux.it dovresti provare un po' di link. Oppure prova 
www.google.com/linux

 per la sintassi di base, help al prompt di bash

 per gli switch un po' particolari, man bash

 Nella RH, gli script in init.d "includono" il file 'functions'

 Mi sento buono oggi, quindi vi tocca la lezioncina :^) :
 diamo un'occhiata a unscript di init SysV semplice, httpd:

-----------------------------------------------------------------------

#!/bin/sh
#
# Startup script for the Apache Web Server
#
# chkconfig: 345 85 15

* il commento chkconfig dice a LinuxConf o altri gestori degli script
* di init stile 'System V', in quali livelli va messo lo script (quando
* viene attivato), e con quali priorita' risp. per start e stop

# description: Apache is a World Wide Web server.  It is used to serve \
#	       HTML files and CGI.

* anche questo viene usato da LinuxConf, per presentare il servizio. 

# processname: httpd
# pidfile: /var/run/httpd.pid
# config: /etc/httpd/conf/access.conf
# config: /etc/httpd/conf/httpd.conf
# config: /etc/httpd/conf/srm.conf

* Linuxconf li usa per controllare se il deamon e' stato riavviato dopo un 
* cambiamento nei file di configurazione
* Fanno parte di una specifica "extended SysV init" usata su RH, SUSE,
* Mandrake, e altri.

# Source function library.
. /etc/rc.d/init.d/functions

# See how we were called.
case "$1" in

* $1 e' il primo parametro sulla riga di comando

  start)
	echo -n "Starting httpd: "
	daemon httpd -d /etc/httpd

* daemon e' una function definita in 'functions'
* fa partire un processo in background
* dopo aver controllato che non sia gia' in esecuzione

	echo
	touch /var/lock/subsys/httpd

* httpd ci pensa da solo a fare un file /var/run/httpd.pid
* /var/lock/subsys/httpd 'registra' che questo servizio 
* e' stato correttamente avviato tramite init

	;;
  stop)
	echo -n "Shutting down http: "
	killproc httpd

* da 'functions'. uccide il daemon con quel nome, cercando il pid 
* prima in /var/run, e se necessario fra i nomi di processo,
* chiamando /sbin/pidof, o al peggio nell'output di ps.

	echo
	rm -f /var/lock/subsys/httpd
	rm -f /var/run/httpd.pid
	;;
  status)
	status httpd

* da 'functions', controlla pidof, /var/run/nomedaemon.pid e
* /var/lock/subsys/nomeservizio per capire se e' in esecuzione, e se 
* l'avvio e' stato esegiuto correttamente.

	;;
  restart)
	$0 stop
	$0 start
	;;
  reload)
	echo -n "Reloading httpd: "
	killproc httpd -HUP

* alcuni daemon hanno questa caratteristica di
* riavviarsi e rileggere i propri file di configurazione,
* quando ricevono uno signale HUP 
* vedi kill -l, man kill,  man 7 signal

	echo
	;;
  *)
	echo "Usage: $0 {start|stop|restart|reload|status}"
	exit 1
esac

exit 0

-------------------------------------------------------------------------

Ciao,
  Sergio

-- 
--------------------------------------------------------------------------
 Things will get better despite             Sergio Ballestrero
our efforts to improve them.                  Sergio.Ballestrero@cern.ch
	-- Will Rogers                             S.Ballestrero@iname.com





Maggiori informazioni sulla lista primipassi