[>a2374.html>] [<a2372.html<] [^a2.html^]


Capitolo 288.   Avvio e arresto del sistema

288.1   Avvio ed arresto del sistema

Come si arresta il sistema? Come si riavvia?

---------

Per arrestare il sistema dai il comando:

# shutdown -h now[Invio]

oppure:

# init 0[Invio]

Per riavviare il sistema:

# shutdown -r now[Invio]

o:

# init 6[Invio]

288.2   Disabilitare l'APM all'avvio

Sto avendo dei problemi con un portatile che si blocca all'avvio molto probabilmente a causa dell'APM. È possibile disabilitarlo all'avvio?

---------

Al prompt di LILO digita (ipotizzando che linux sia il nome che hai inserito nel lilo.conf per il sistema linux):

LILO boot: linux apm=off[Invio]

Così dovrebbe partire senza abilitare l'APM.

288.3   Come fermare l'arresto o il riavvio del sistema una volta che se ne è impartito il comando

Non c'è la possibilità di annullare il comando di arresto o di riavvio? A volte mi accorgo che avrei voluto fare ulteriori operazioni sul sistema ma non sono riuscito a bloccarne il riavvio per eseguirle.

---------

Per fermare il riavvio (o l'arresto) devi dare il comando:

# shutdown -c[Invio]

(-c: cancel shutdown) ma normalmente non puoi farlo perché appena dai il comando di riavvio, le console vengono disattivate. Se invece si posticipa il riavvio con il comando:

# shutdown -r ore:minuti &[Invio]

(il sistema si riavvierà alle ore:minuti), è possibile interrompere il riavvio con:

# shutdown -c[Invio]

288.4   Opzione -n dello shutdown

Usando shutdown con l'opzione -n il riavvio o lo spegnimento della macchina sono velocissimi. Penserei di usare sempre questa opzione, definendo un alias in .bashrc. È pericoloso?

---------

Direi di sì.

Hai letto la man page di shutdown?

-n     [DEPRECATED] Don't call init(8) to do
       the  shutdown but  do it ourself.  The use of this
       option is dis-couraged, and its results are not
       always what you'd expect.

-n     [SCONSIGLIATO] Non impartite init(8) per lo
       shutdown ma fatelo voi.  L'utilizzo di questa opzione 
       è sconsigliato, e i risultati ottenuti
       non sono quelli che ci si aspettava.

288.5   Concedere la possibilità di arrestare il sistema a tutti gli utenti

Come spiego a Linux che voglio che tutti gli utenti possano effettuare lo spegnimento senza per questo dotarli di ulteriori privilegi?

---------

si può fare o selezionando l'attributo del set user ID per il comando shutdown:

# chmod 4755 /sbin/shutdown[Invio]

(così il comando shutdown verrà sempre eseguito come se fosse lanciato dall'utente root)

oppure una via più raffinata (e selettiva) è quella di creare un utente tipo questo:

halt:x:0:0:,,,:/home/halt:/sbin/halt

così l'arresto del sistema lo possono fare tutti e solo quelli che hanno la password per quell'utente.

288.6   Permessi per riavviare il sistema

Come si fa ad assegnare ad un utente il permesso di riavviare il sistema senza che intervenga l'utente root?

---------

Con sudo. (man sudo per maggiori informazioni)

Devi modificare il file /etc/sudoers con il seguente comando:

$ visudo[Invio]

(che sarebbe il vi per sudo con controllo congruenza ecc.)

e aggiungere una riga tipo questa:

pippo   pluto=/sbin/shutdown -[hr] now

dove pippo è l'utente e pluto il nome della macchina. -[hr] significa che può lanciare sia shutdown -h che -r.

Una volta fatte le modifiche, l'utente pippo dovrà impartire:

$ sudo shutdown -h now[Invio]

e gli verrà chiesta la password per proseguire con l'arresto o il riavvio.

288.7   Come vietare agli utenti la possibilità di riavviare con Ctrl-Alt-Canc

È possibile fare in modo che un utente non root non possa usare tale combinazione di tasti?

---------

Devi commentare la riga con ctrlaltcanc in /etc/inittab.

288.8   Loadlin

Come posso far partire Linux senza LILO?

---------

Devi solo copiarti i vari kernel in una directory del Dos/Windows e scompattarli usando Loadlin (è possibile usare:

install=c:\linux\Loadlin.exe

nel config.sys o Loadlin.exe

in una riga dell'autoexec.bat o ancora usare un batch file appropriato).

Esempi:

rem C:\LINUX\LINUX2.BAT
rem l'immagine corrisponde al kernel 2.2.2
rem la partizione è la seconda di un disco SCSI
@pause
@echo Premere Ctrl-C per interrompere
C:\LINUX\LOADLIN C:\LINUX\bzImage.222 root=/dev/sda2 ro

rem C:\LINUX\LINUX_R.BAT
rem l'immagine corrisponde al kernel 2.0.36 della Red Hat
rem la partizione è la seconda di un disco IDE master
@pause
@echo Premere Ctrl-C per interrompere
C:\LINUX\LOADLIN C:\LINUX\vmlinuz2.036 root=/dev/hda2 ro

rem C:\LINUX\SINGLE.BAT
rem l'immagine corrisponde al kernel 2.0.36 della Red Hat
rem la partizione è la seconda di un disco IDE slave
rem NOTARE L'OPZIONE SINGLE PER PARTIRE IN MONOUTENZA
@pause
@echo Premere Ctrl-C per interrompere
C:\LINUX\LOADLIN C:\LINUX\vmlinuz2.036 single root=/dev/hdb2 ro

288.9   Impostazione di runlevel a 0; il sistema si accende e si rispegne

Facendo alcuni esperimenti ho impostato involontariamente il runlevel a zero e adesso in fase di caricamento dopo il montaggio del file system la macchina si spegne. Cosa posso fare per rimediare?

---------

Al prompt di LILO scrivi:

# linux init=/bin/bash[Invio]

(dove al posto di 'linux' metti l'etichetta scelta per caricare il tuo Linux). Una volta entrato dovrai montare a mano in modalità lettura-scrittura il file system root:

# mount -n -o remount,rw /[Invio]

ora puoi operare.

Un'altra soluzione è di dare un linux 1 e cambiare subito il runlevel.

288.10   Spegnimento automatico della macchina alla fine dello shutdown

Disponendo di un elaboratore con BIOS APM compatibile ho deciso di attivare le funzionalità di risparmio energetico dei nuovi Kernel tra cui c'è quella dello spegnimento automatico della macchina. Come faccio?

---------

Va inserito 'halt -p' al posto di 'halt' nel file /etc/rc.d/init.d/halt

--------------------------------------
case "$0" in
  *halt)
        message="The system is halted"
        command="halt -p"
        ;;
  *reboot)
--------------------------------------

Ovviamente dovrai avere ricompilato il kernel con il supporto APM, attivando l'opzione power off on shutdown.

288.11   Spegnimento con combinazione di tasti

Chi sa indicarmi come effetuare lo spegnimento del sistema con la pressione di una combinazione di 2 o 3 tasti?

---------

In /etc/inittab troviamo la seguente sezione:

# Trap CTRL-ALT-DELETE
ca::ctrlaltdel:/sbin/shutdown -t3 -r now

Sostituisci -r con -h. Quando premi [ctrl+alt+delete] al posto di riavviarsi si spegnerà.

288.12   Strana facoltà che ogni utente ha di dare il comando halt in Red Hat 6.1

Come mai ogni utente in Red Hat 6.1 può spegnere il sistema con halt o riavviarlo con shutdown -r?

---------

Per evitare che gli utenti comuni possano impartire i comandi halt e shutdown, basta creare il file:

/etc/halt.users

e aggiungere due righe ai file:

/etc/pam.d/halt e /etc/pam.d/shutdown in modo che risultino così:

        #%PAM-1.0
        auth       sufficient   /lib/security/pam_rootok.so
        auth       requisite    /lib/security/pam_listfile.so \
                   onerr=3Dfail sense=3Dallow item=3Duser file=3D/etc/halt.users
        auth       required     /lib/security/pam_console.so
        auth       required     /lib/security/pam_pwdb.so
        account    required     /lib/security/pam_permit.so

in questa maniera solo gli utenti menzionati in /etc/halt.users possono utilizzare i servizi di halt e di shutdown. Ovviamente il controllo della password dell'utente rimane, per essere sicuri che sia proprio l'utente che sta digitando.

288.13   Messaggio di benvenuto all'avvio

Mi piacerebbe che il mio sistema, all'avvio, visualizzasse un messaggio scritto in testo semplice.

---------

Se, vuoi che compaia durante il LILO basta mettere in /etc/lilo.conf la riga:

message= /percorso/nomefile

e rilanciare LILO.

All'avvio ti apparirà la scritta contenuta in /percorso/nomefile.

Se puoi installi lilo-color (lo trovi su Freshmeat) puoi avere il messaggio colorato. Per avere un messaggio al login di GNU/Linux c'è welcome2l reperibile in rete.

Esiste anche linuxlogo configurabile e personalizzabile.

Se ricompilate il kernel col supporto per fbcon, avrete la possibilità di fare apparire durante l'avvio del sistema il pinguinone preferito in modalità grafica e avrete pure la possibilità di cambiare l'insieme di caratteri, il numero di colonne sullo schermo ed altre amenità.

Completo la ricapitolazione:

se il messaggio lo volete prima del messaggino del LILO

in lilo.conf: message=/percorso/nomemessaggio (eventualmente usando lilo color).

se lo volete durante il procedimento di avvio

fbcon ricompilando il kernel

quando chiede il login:

welcome2l - linuxlogo

dopo

/etc/issue + modifica a rc.local che lo riscrive ogni volta.

288.14   Aggiunta disco rigido, messaggio di errore all'avvio: «KERNEL PANIC: VFS: Unable to mount root fs on 03:03»

Avevo solo un disco rigido, con due partizioni: hda1 per Windows 98 e hda2 per Linux. Ho installato Red Hat 6.0 e ho messo LILO sulla partizione Linux in modo che reinstallando Windows 98 LILO rimanesse. All'avvio mi veniva chiesto se partire con Windows 98 o con Linux con Windows 98 come valore predefinito.

Ora però ho comprato un nuovo disco rigido. L'ho montato come primario (quindi il vecchio C è diventato D). Ho cancellato Windows 98 dal vecchio e l'ho installato sul nuovo.

Ora all'avvio parte Windows 98 ma non riesco più ad accedere a Linux...

Ho provato a disabilitare da BIOS il primo hard disk. Linux si avvia correttamente, parte LILO che mi chiede con quale sistema operativo partire: Windows 98 o Linux. Scelgo Linux e inizia a caricarsi.

Ecco il problema: durante l'avvio si ferma con questo messaggio di errore: KERNEL PANIC: VFS: Unable to mount root fs on 03:03.

---------

Avvia dal CD della Red Hat 6.0 o dal dischetto di avvio quindi carica Linux con:

linux 1 root=/dev/hdXY initrc= initrd=[Invio]

(mi sembra che initrc= sia superfluo ma non si sa mai...)

Dopo ciò modifica /etc/fstab mettendo la nuova partizione di root, e fai la stessa cosa per /etc/lilo.conf. Lancia quindi LILO e riavvia.

Se sul nuovo disco primario non c'è nessuna partizione Linux dovrai installare LILO nel master boot record.

Non fare mai nessuna di queste operazioni se:

  1. non sai esattamente quello che stai facendo (mi riferisco soprattutto alla modifica di /etc/lilo.conf)

  2. non hai un floppy di boot per ognuno dei sistemi operativi presenti sul tuo sistema

Il sistema non funziona più perché LILO, non trova più Linux su hda2 come prima. Devi avviare da dischetto, e dire a LILO che deve cercare Linux non su hda2, ma su hdb2 (se ora il disco vecchio è come secondario sulla stessa catena IDE) o su hdc2 (se è primario sulla seconda catena IDE).

288.15   Messaggio di errore all'avvio: kernel panic

Ho ricompilato il kernel e all'avvio mi appare il messaggio:

Kernel panic; che vuol dire? Non ho apportato nessun cambiamento alla mia macchina dall'ultima ricompilazione.

---------

Quando ricompili il kernel, puoi mettere tutto quello che vuoi come modulo (anzi, lo consiglio caldamente). Le uniche cose che non puoi mettere come modulo sono i driver che ti servono all'avvio. Quindi, ad esempio, se hai compilato il filesystem ext2 come modulo oppure i dischi IDE come modulo, allora il kernel non potrà partire.

288.16   Messaggio di errore all'avvio: swapon: warning: /dev/hda1 has insecure permissions 0660, 0600 suggested

Sono andato a controllare il file /var/log/boot.log, per vedere se c'erano dei problemi all'avvio di Linux e ho trovato alcune cose che non capisco. Ecco i seguenti messaggi;errore:

Jun 24 13:17:19 galileo swapon: swapon: warning: /dev/hda1 has insecure permissions 0660, 0600 suggested

---------

Accedi al sistema come utente root e digita:

# chmod 0600 /dev/hda1[Invio]

In questo modo cambierai i permessi di /dev/hda1 da:

-rw-rw----

a

-rw-------

288.17   Messaggio di errore all'avvio: /dev/hdxy :UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY

Poco prima di accedere alla shell, mi vengono segnalati una serie di «multiple duplicate inode» e viene visualizzato il seguente messaggio:

/dev/hda3 :UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY

(i.e.)without -a or -p options

---------

dai il comando:

# e2fsck /dev/hdxy[Invio]

dovrebbe funzionare, nel tuo caso probabilmente ti chiederà di clonare inode e messaggi similari; tu rispondi affermativamente. Un messaggio di questo tipo vuol dire che il filesystem si è danneggiato molto gravemente, e se il comando e2fsck manuale non funziona, probabilmente è irrecuperabile. Forse hai spento il computer senza avere prima avviato la procedura di shutdown, o è andata via la corrente.

288.18   Messaggio di errore all'avvio: Parallelizing fsck version x.yy

Durante un riavvio il sistema dice che ha problemi di coerenza (inconsistency) sul filesystem, di lanciare manualmente fsck senza opzioni -a o -p.

Il problema è che lancio fsck (ho provato tutti i parametri) e non succede nulla. Es.:

# fsck (qualunque cosa anche sbagliata o inesistente)

e il sistema risponde:

Parallelizing fsck version 1.14

Che fare?

---------

Gli devi dire di quale filesystem fare il controllo:

# fsck /dev/hda1[Invio]

oppure dai:

# e2fsck /dev/xxx[Invio]

(è equivalente)

LDR --- Copyright © 1999-2000 Gaetano Paolone --  bigpaul @ pluto.linux.it

[>a2374.html>] [<a2372.html<] [^a2.html^]