# Manuale di &ksysv;

## Introduzione

Benvenuto nel System V Init Editor di &kde;, comunemente noto (e da qui in poi sarà il suo nome) come &ksysv;. Questa sezione introduce un po' di concetti e spiega che cosa si possa fare con &ksysv;.

## Una breve descrizione di System V Init

La seguente spiegazione è presa in prestito da tksysv (fonte di ispirazione per &ksysv;):

System V init sta diventando velocemente uno standard nel mondo &Linux; per controllare il lancio di programmi all'avvio. Questo perché è decisamente più facile da usare, più potente e flessibile del tradizionale init di BSD.

Non entro nei dettagli della storia in questa sede (soprattutto perché non la so :-).

L'eseguibile di init è collocato in `/sbin` e non in `/etc`. Questo è importante perché si potrebbe tentare di aggiornare una macchina a System V init senza necessariamente ripetere l'installazione e formattare. Il kernel di &Linux; cerca prima in `/etc` il proprio init, perciò assicurati di eliminare il tuo vecchio init da lì.

SysV init si differenzia pure dall'init BSD per il fatto che i file di configurazione sono in una sottocartella di `/etc` invece di risiedere direttamente in `/etc`. Questa cartella si chiama `rc.d`. Al suo interno si trovano `rc.sysinit` e le seguenti cartelle:

- `init.d/`

- `rc0.d/`

- `rc1.d/`

- `rc2.d/`

- `rc3.d/`

- `rc4.d/`

- `rc5.d/`

- `rc6.d`

`init.d` contiene un sacco di script. In sostanza, hai bisogno di uno script per ogni servizio che tu possa aver la necessità di avviare all'avvio o quando entri in un altro runlevel. I servizi includono cose come i servizi di rete, NFS, &Sendmail;, httpd, &etc;. I servizi non includono cose come `setserial` che devono solo essere lanciati una volta e poi fermati. Cose così dovrebbero andare nel file `rc.local`.

`rc.local` dovrebbe trovarsi in `/etc/rc.d` se ne vuoi uno. La maggior parte dei sistemi ne include uno anche se non fa poi molto. Puoi anche includere un file `rc.serial` in `/etc/rc.d` se hai bisogno di compiere operazioni specifiche sulla porta seriale all'avvio.

La catena degli eventi è come segue:

1. Il kernel cerca l'init in diversi posti e avvia il primo che trova.

2. init avvia `/etc/rc.d/rc.sysinit`.

3. `rc.sysinit` fa un mucchio di cose necessarie e poi avvia `rc.serial` (se esiste)

4. init avvia `rc.local`

5. init avvia tutti gli script per il runlevel predefinito

Il runlevel predefinito è stabilito in `/etc/inittab`. Dovresti avere una riga vicino all'inizio simile a:

    id:3:initdefault:

Da questo, guarderesti seconda colonna e vedresti che il runlevel predefinito è il numero 3, come dovrebbe essere nella maggior parte dei sistemi. Se lo vuoi cambiare, puoi modificare `/etc/inittab` a mano e cambiare il 3. Fai molta attenzione quando manometti inittab. In caso di pasticci, lo si può rimettere a posto riavviando e digitando:

    LILO boot: linux single

Questo comando dovrebbe consentirti di avviare in modalità a singolo utente per poter sistemare il problema.

Ora, come esegue gli script giusti? Se digiti ``ls` `-l`` nella cartella `rc3.d`, dovresti vedere qualcosa tipo:

    lrwxrwxrwx 1 root root 13 13:11 S10network -> ../init.d/network
    lrwxrwxrwx 1 root root 16 13:11 S30syslog -> ../init.d/syslog
    lrwxrwxrwx 1 root root 14 13:32 S40cron -> ../init.d/cron
    lrwxrwxrwx 1 root root 14 13:11 S50inet -> ../init.d/inet
    lrwxrwxrwx 1 root root 13 13:11 S60nfs -> ../init.d/nfs
    lrwxrwxrwx 1 root root 15 13:11 S70nfsfs -> ../init.d/nfsfs
    lrwxrwxrwx 1 root root 18 13:11 S75keytable -> ../init.d/keytable
    lrwxrwxrwx 1 root root 23 13:11 S80sendmail -> ../init.d/sendmail.init
    lrwxrwxrwx 1 root root 18 13:11 S90lpd -> ../init.d/lpd.init
    lrwxrwxrwx 1 root root 11 13:11 S99local -> ../rc.local

Quello che noterai è che non ci sono veri file nella cartella. Tutto quello che c'è lì è un collegamento a uno degli script nella cartella `init.d`.

I collegamenti hanno anche una `S` e un numero all'inizio. La `S` vuol dire avviare quel particolare script, mentre la `K` servirebbe a fermarlo. Il numero serve solo per motivi di ordinamento. Init avvierà tutti i servizi in base sull'ordine in cui compaiono. Puoi avere numeri duplicati, ma ti confonderanno e basta. Hai solo bisogno di usare un numero di due cifre, preceduto da una lettera `S` o `K` maiuscola per avviare o fermare i servizi di cui hai bisogno.

Come si avviano o si fermano i servizi? Semplice. Ogni script è scritto in modo da accettare un argomento che può essere `start` o `stop`. Puoi eseguire quegli script a mano, digitando alla riga di comando:

    /etc/rc.d/init.d/httpd.init stop

Per fermare il server httpd. Appena Init legge il nome e se ha una `K`, chiama lo script con l'argomento `stop`. Se avesse una `S` chiamerebbe lo script con un argomento `start`.

### Perché tutti questi runlevel?

Alcuni vogliono un modo semplice di configurare le macchine per avere più usi diversificati. Potrei avere un runlevel da server che avvia solo httpd, sendmail, networking, &etc;. Successivamente potrei avere un runlevel da utente che avvia tdm, applicazioni di rete, &etc;

## Fondamenti di ciò che appare sullo schermo

Qui imparerai a usare &ksysv;, che non dovrebbe essere difficile dato che è stato concepito per essere il più facile possibile.

### Mouse

Usare &ksysv; con un mouse o un altro dispositivo di puntamento è facile: semplicemente trascina una voce dall'area Servizi disponibili su di uno dei sei runlevel per avviarlo (o rispettivamente fermarlo) in quel runlevel.

Puoi anche spostare gli script tra i runlevel, o cambiarne la posizione in un certo runlevel trascinandoli in giro. Così facendo, si rimuove la voce dal suo runlevel (o posizione) originale. Questo non succede quando trascini una voce dall'area Servizi disponibili.

Le voci sono spostate quando le trascini in una nuova area. Per copiare un servizio in un runlevel diverso, devi selezionare Copia dal menu Modifica o da quello contestuale e Incolla nel runlevel di destinazione.

Il numero d'ordine di una voce a volte non può essere calcolato. In questo caso, si deve modificare il numero d'ordine delle voci circostanti prima di riprovare ad inserire il servizio.

I numeri d'ordine possono variare tra 00 e 99, ma non oltre.

Puoi cancellare le voci trascinandole sull'area del Cestino (indicata da un'icona che mostra un cestino dei rifiuti).

Attualmente non c'è modo di ripristinare le voci trascinate sul Cestino, quindi fai attenzione!

### Tastiera

Si può usare il tasto Tab per cambiare il fuoco sui diversi pannelli (Servizi disponibili, Runlevel 1 Start, Runlevel 1 Stop, &etc;) e i tasti cursore per muovere la selezione su e giù.

Per spostare una voce ad un runlevel diverso, Tagliala negli appunti (usando &Ctrl; X) e Incollala nel runlevel di destinazione (con &Ctrl; V).

Per cambiare manualmente il numero d'ordine o il nome delle voci, premi Invio per aprire la finestra delle proprietà. Usa il tasto Tab per passare tra i vari campi. Chiudi la finestra premendo ancora Invio per accettare le modifiche, o premi Esc per annullare ogni cambiamento.

### Le Voci Del menu

Un descrizione voce per voce del menu di &ksysv;.

#### Il menu File

A causa del pericolo di perdita di dati, tutti le voci di menu sotto File chiedono conferma prima di fare il loro lavoro.

File Ripristina la configurazione...

- Abbandona tutti i cambiamenti che hai fatto e ripristina l'ultima configurazione salvata.

&Ctrl; O File Apri...

- Apre una configurazione precedentemente salvata.

&Ctrl; S File Salva la configurazione

- Rende i tuoi cambiamenti permanenti. Il salvataggio non genera nessuna copia di sicurezza, perciò fai attenzione.

File Salva con nome...

- Salva una copia della nuova configurazione.

&Ctrl; L File Salva il log...

- Salva un registro dei cambiamenti

&Ctrl; P File Stampa il log...

- Stampa una copia del registro dei cambiamenti.

&Ctrl; Q File Esci

- Esce da &ksysv;.

#### Il menu Modifica

&Ctrl; Z Modifica Annulla

- Annulla l'ultimo cambiamento non salvato.

&Ctrl; Shift Z Modifica Rifai

- Ripete l'ultima azione annullata.

&Ctrl; X Modifica Taglia

- Taglia il servizio attualmente selezionato mettendolo negli appunti.

&Ctrl; C Modifica Copia

- Copia la voce selezionata negli appunti, senza rimuoverla dalla sua posizione originale.

&Ctrl; V Modifica Incolla

- Incolla il contenuto degli appunti nella posizione attuale del cursore.

Modifica Proprietà

- Apre la finestra delle proprietà dell'oggetto selezionato.

#### Il menu Strumenti

Strumenti Avvia il servizio...

- Avvia il servizio selezionato

Strumenti Ferma il servizio...

- Ferma il servizio selezionato

Strumenti Riavvia il servizio...

- Riavvia il servizio selezionato.

Strumenti Modifica il servizio...

- Modifica il servizio selezionato

#### Il menu Impostazioni

Impostazioni Mostra la barra degli strumenti

- Mostra o nasconde la barra degli strumenti.

Impostazioni Mostra la barra di stato

- Mostra o nasconde la barra di stato.

Impostazioni Mostra il Log

- Mostra o nasconde la finestra del registro dei cambiamenti

Impostazioni Salva impostazioni

- Salva le impostazioni attuali.

Impostazioni Configura le scorciatoie...

- Personalizza le scorciatoie da tastiera predefinite.

Impostazioni Configura la barra degli strumenti...

- Personalizza la barra degli strumenti.

Impostazioni Configura Editor di KDE per Init SysV...

- Personalizza il comportamento di &ksysv;

#### Il menu di Aiuto

&help.menu.documentation;

## Configurazione

Tutte le opzioni sono salvate in `$`TDEHOME`/share/config/ksysvrc`. Quelle predefinite sono prese dal file globale (`$`TDEDIR`/share/config/ksysvrc`), se disponibile, o altrimenti sono generate all'interno di &ksysv;. I cambiamenti alle impostazioni predefinite sono conservati nel tuo `ksysvrc` locale.

### Sezioni riconosciute

Le sezioni e i tasti riconosciuti, più i loro valori predefiniti.

#### [Impostazioni del percorso]

Parola chiave Predefinito Descrizione
- Percorso script `/etc/rc.d/init.d` Percorso agli script usati per avviare e fermare i servizi.
- Percorso runlevel `/etc/rc.d` Percorso alle sottocartelle dei runlevel.

#### [Colori]

Parola chiave Predefinito Descrizione
- Cambiato rosso Colore usato per le voci cambiate
- Nuovo blu Colore usato per le voci nuove

#### [Geometria]

Parola chiave Predefinito Descrizione
- Larghezza Larghezza della finestra di &ksysv;
- Altezza Altezza di &ksysv;

#### [Altre impostazioni]

Parola chiave Predefinito Descrizione
- Barra degli strumenti vero Se la barra degli strumenti è abilitata o meno
- Barra di stato vero Se la barra di stato è abilitata o meno
- Mostra log vero Se la finestra del log è mostrata o meno
- Fattore di scorrimento 80 100 - fattore di scorrimento = percentuale della finestra riservata alla visualizzazione del log

## Domande e risposte

Ho giocato un po' con il runlevel predefinito ed ora la mia macchina si riavvia in continuazione. Cosa posso fare?

Digita `linux single` al prompt di LILO e premi Invio per avviare il computer in modalità a utente singolo. Modifica il file `/etc/inittab` e cambia il runlevel predefinito in qualcosa di funzionante. Normalmente `3` dovrebbe essere sicuro.

La mia macchina si blocca subito dopo l'avvio

Vedere sopra alla domanda 1.

Ho pianificato l'avvio di alcuni servizi nel runlevel X usando &ksysv;, perché non stanno funzionando?

Se stai usando le distribuzioni SuSE o Delix (DLD), devi anche modificare un file specifico della distribuzione in `/etc`. Dai un'occhiata al manuale della tua distribuzione per i dettagli.

L'approccio per lanciare i servizi usati dalle distribuzioni sopra citate facilita la configurazione dei servizi per gli strumenti di configurazione proprietari che queste distribuzioni forniscono, ma sfortunatamente ciò non è standard. Gli autori di &ksysv; hanno in programma di scrivere un'estensione generica di questo approccio in un futuro ipotetico, ma non fateci troppo affidamento.

Se stai usando una distribuzione diversa, controlla di avere tutti i file di configurazione necessari al servizio, e se sono nelle posizioni giuste. Alcuni demoni, per esempio Apache, (noto anche come `httpd`) muoiono in silenzio se i loro file di configurazione mancano o sono configurati male.

## Semantiche standard dei runlevel

Queste variano a seconda della distribuzione, quindi questo è un elenco incompleto delle distribuzioni &Linux; più comuni. Se hai altre distribuzioni, per piacere invia una email all'autore e fagli aggiungere le informazioni in questo manuale.

&RedHat;

- Runlevel 0:

- halt (spegne la macchina)

Runlevel 1:

- Modalità a utente singolo.

Runlevel 2:

- Multi-utente con solo testo, senza NFS.

Runlevel 3:

- Multiutente con solo testo, con applicazioni di rete abilitate.

Runlevel 4:

- Non usato.

Runlevel 5:

- Multiutente X11 con applicazioni di rete abilitate.

Runlevel 6:

- Riavvio

## Riconoscimenti e licenza

&ksysv;, copyright© 1997-1998 di Peter Putzer

- Peter Putzer, putzer@kde.org - Sviluppatore

Documentazione:

- Peter Putzer, putzer@kde.org - Contenuto originale

- Eric Bischoff, e.bischoff@noos.fr - Revisore

Valerio Passini

Federico Zenith federico.zenith@member.fsf.org

&underFDL; &underGPL;

## Installazione

&install.intro.documentation; &install.compile.documentation;