SysVinit (Italiano)

From ArchWiki
Revision as of 11:25, 24 June 2011 by Maveloth (Talk | contribs) (Custom Keyboard Request)

Jump to: navigation, search

This template has only maintenance purposes. For linking to local translations please use interlanguage links, see Help:i18n#Interlanguage links.


Local languages: Català – Dansk – English – Español – Esperanto – Hrvatski – Indonesia – Italiano – Lietuviškai – Magyar – Nederlands – Norsk Bokmål – Polski – Português – Slovenský – Česky – Ελληνικά – Български – Русский – Српски – Українська – עברית – العربية – ไทย – 日本語 – 正體中文 – 简体中文 – 한국어


External languages (all articles in these languages should be moved to the external wiki): Deutsch – Français – Română – Suomi – Svenska – Tiếng Việt – Türkçe – فارسی

Tango-preferences-desktop-locale.pngThis article or section needs to be translated.Tango-preferences-desktop-locale.png

Notes: please use the first argument of the template to provide more detailed indications. (Discuss in Talk:SysVinit (Italiano)#)
Nota: Questo articolo è in fase di traduzione. Seguite per ora le istruzioni della versione inglese.

init è il primo processo che viene eseguito una volta che il kernel Linux è stato caricato. Il programma di init di default usato da Arch è Template:Filename ed è fortniro dal pacchetto Template:Package Official. La parola init in questo articolo si riferirà a sysvinit.

inittab è il file di configurazione dell'avvio per init e si trova in Template:Filename. Esso contiene le cartelle per init o quali programmi o script eseguire quando si entra in uno specifico runlervel.

Tip: Consultare Template:Codeline e Template:Codeline per una descrizione più comleta e formale.
Tip: Sebbene Arch utilizzi init, la maggiorparte del lavoro viene delegato ai principali script di boot. Questo articolo traterà principalmente init ed inittab; per maggiori informazioni sul processo di avvio di Arch consultare Arch Boot Process.

Parametri del kernel correlati

Per utilizzare un altro programma di init (es. systemd), aggiungere init=/bin/systemd o simile alla riga del kernel in GRUB. Per cambiare il runlevel in cui il sistema effettua il boot, semplicemente aggiungere il runlevel desiderato n alla riga del kernel. Un comune uso di questo può essere trovato in qeusto articolo. Notare se si utilizza un programma di init diverso da sysvinit, il parametro del runlevel potrebbe essere ignorato.

Panoramica di init e inittab

init è sempre il processso 1 ed, all'infuori della festione dell'area di swap, è il processo genitore per tutti gli altri processi. Può essere notato meglio quale ruolo svolge init nella gerarchia dei processi del proprio sistema usando il comando Template:Codeline:

Template:Command

Oltre alle comuni inizializzazioni del sistema (come suggerisce il nome), init si occupa del riavvio, dello spengimento e del avvio in recovery mode (single-user-mode). Per supportare tutto questo inittab raggruppa queste voci in diversi runlevel. I runlevel usati da Arch sono 0 per lo spengimento, 1 (oppure S che è un suo alias) per il single-user-mode, 3 per il normale boot (multi-user-mode), 5 per X e 6 per il riavvio. Altre distribuzioni possono adottare altre convenzioni, ma l'uso dei runlevel 0, 1 e 6 è universale.


Al momento dell'esecuzione, init scansiona inittab ed effettua le appropriate azioni. Una voce di inittab ha questa forma:

id:runlevels:action:process

Dove Template:Codeline è un identificatore univoco per la voce (solo un nome, non influisce su init), e Template:Codeline è una stringa (non delimitata) di runlevel. Se il runlevel in cui entra init compare in Template:Codeline, allora Template:Codeline verra svolta, eseguendo Template:Codeline. Alcune Template:Codeline speciali potrebbero portare init ad ignorare Template:Codeline ed adottare un corrispondente metodo. Maggiori spiegazioni seguono nella sezione successiva.

Cambiare runlevel

Dopo che il sistema è stato avviato, è possibile invocare Template:Codeline per dire ad init di cambiare il runlevel ad Template:Codeline. init quindi legge inittab e "confronterà il runlevel Template:Codeline con quello attuale - effettuando il kill dei processi non presenti nel nuovo runlevel e svolgendo le azioni non presenti nel vecchio runlevel. I processi presenti in entrambi i runlevel rimarranno invariati. La procedura di kill dei procsessi attualmente è un poco complessa; per maggiori informazioni e dettagli tecnici consultare la pagina di manuale di init.x; again, technical details can be found in the init manpage.

init non consulta inittab. Sarà necessario invocare Template:Codeline esplicitamente per applicare le modifiche di inittab. Il comando Template:Codeline farà si che init riesamini inittab ma non cambierà runlevel.

inittab

In questa sezione saranno esaminate le voci comuni di inittab, nel solito ordine in ci appaiono nel file inittab di default usado da Arch. Successivamente verranno fatti alcuni esempi per aiutare a creare le proprie voci di inittab.

Attenzione: Testare sempre il file Template:Filename modificato usando il comando Template:Codeline prima di effettuare un riavvio, oppure eventuali errori di sintassi potrebbero impedire l'avvio del sistema.

Default Runlevel

Il runlevel di default è il numero 3. Decommentare o aggiungere questo se si preferisce avviare il sitema nel runlevel 5 (che è comunemente usato per avviare X) come default:

id:5:initdefault:

Principali Script di Boot

Questi sono gli script di init principali di Arch.

rc::sysinit:/etc/rc.sysinit
rs:S1:wait:/etc/rc.single
rm:2345:wait:/etc/rc.multi
rh:06:wait:/etc/rc.shutdown

Avvio in Single User

A volte il kernel può fallire ad avviarsi, a causa di un file system corrotto o di un disco rotto, file chiave mancanti eccetera. In questo caso la propria immagine di init puà automaticamente entrare in single-user mode che permette di effettuare il login come root ed usa Template:Filename invece di Template:Filename per controllare il processo di login. Si può entrare in single-user mode aggiungendo la lettera S alla linea di comando del kernel nella configurazione di GRUB, LILO, o syslinux. Se si vuole eseguire qualcosa di diverso da Template:Codeline, specificarlo in questa voce.

su:S:wait:/sbin/sulogin -p

Gettys and Login

These are crucial entries that run the gettys on your terminals. Most default configurations will have several gettys running on ttys1-6 which is what pops up on your screen with the login prompt. Also see openvt, chvt, stty, and ioctl.

c1:234:respawn:/sbin/agetty 9600 tty1 xterm-color
c5:5:respawn:/sbin/agetty 57600 tty2 xterm-256color

Ctrl-Alt-Del

Quando viene premuta la sequenza di tasti speciali Template:Keypress+Template:Keypress+Template:Keypress, questa voce determina l'azione che verrà eseguita.

ca::ctrlaltdel:/sbin/shutdown -t3 -r now

Programmi X

Se non si è interessati al debub, è possibile avviare ogni tipo di applicazione tramite Template:Filename. Un programma utile da avviare è il login manager desiderato quando si entra nel runlevel 5, multi-user-x-mode. Nel seguente esempio si può vedere come avviare slim entrando nel runlevel 5.

x:5:respawn:/usr/bin/slim >/dev/null 2>&1
#x:5:respawn:/usr/bin/xdm -nodaemon -confi /etc/X11/xdm/archlinux/xdm-config

Script Power-Sensing

Template:Codeline può comunicare con gli UPS (gruppi di continuità) ed eseguire processi in base allo stato del'UPS. Ecco alcuni esempi:

pf::powerfail:/sbin/shutdown -f -h +2 "Power Failure; System Shutting Down"
pr:12345:powerokwait:/sbin/shutdown -c "Power Restored; Shutdown Cancelled"

Combinazioni di tasti personalizzati

Le seguenti linee aggiungono funzioni personalizzate quando una sequenza di tasti speciali vengono premuti. Si possono modificare queste sequenze per effettuare ciò che si preferisce, seguendo la sintassi di ctrl-alt-del

kb::kbrequest:/usr/bin/wall "Keyboard Request -- edit /etc/inittab to customize"

Trigger the kbrequest

You can trigger the special key sequence kbrequest by sending the WINCH signal to the init process (1) as root (via sudo). In this example, the command:

kill -WINCH 1

Causes wall to write to all ttys:

Broadcast message from root@askapachehost (console) (Wed Oct 27 14:02:26 2010):  
Keyboard Request -- edit /etc/inittab to customize

See Also

External Links