[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Debian su 486



On Wed, Oct 03, 2001 at 06:54:51PM +0200, Linuxian wrote:
> Al limite quali sono i programmi assolutamente da far partire per avere 
> un sitema funzionante?

una shell.

Con 
init=/bin/bash
passato al kernel dal boot loader hai un sistema funzionante
che oltre al kernel ha caricato solo bash (coi permessi di root).
Certo, devi dare a mano 
mount -o remount,rw /
per poter fare qualcosa alle configurazioni ...

> questo per limitare i servizi che partono 
> all'avvio (i vari script in init.d) per avere qualche risorsa in piu'.

dopo un avvio normale (non il trucco con init=/bin/bash che dicevo) con 
pstree -aplun
vedi cosa ti e` partito
Smanetta con update-rc.d (o a mano coi symlinks, o con /etc/runlevel.conf
se hai installato il pacchetto file-rc) e edita inittab 
fino a che hai ucciso tutto. Per esempio:
portmap non farlo partire (uccidilo con update-rc.d)
at zappalo (dpkg --purge)
cron/anacron magari tienilo ma non farlo partire all'avvio
se non sei sicuro che lo userai
syslogd/klogd (e i vari k* che vedi sotto) se possibile lo terrei

init(1)
 |-(kflushd,2)
 |-(kupdate,3)
 |-(kswapd,4)
 |-(keventd,5)
 |-syslogd(137)
 |-klogd(139)
 |-cron(159)
 |-getty(162) 9600 tty1
 |-bash(163)
 |       `-pstree(340) -aplun

in /etc/inittab potresti addirittura commentare quasi tutte le righe
che lanciano le getty, o lasiarne una sola.
Anzi, anche *tutte* le puoi commentare, ma allora devi usare giochetti
come il seguente:

# Action on special keypress (ALT-UpArrow).
##kb::kbrequest:/bin/echo "Keyboard Request--edit /etc/inittab to let this work."
kb::kbrequest:/usr/bin/open -us -- /bin/bash --login

che apre una shell sulla prima console libera dell'utente al quale
appartiene la console corrente (ovvero root all'avvio ... hai il 
pieno e esclusivo controllo fisico della macchina, nevvero?)

Ricordati di usare spesso (=quando puoi, quando e` sensato farlo) exec 
davanti ai comandi: sostituisce la shell corrente con il comado che
segue. Per esempio, per diventare utente normale:
exec su - utente


Esempio per initttab con 3 terminali, due che si aprono in automatico
e uno che chiede il login:

# Format:
#  <id>:<runlevels>:<action>:<process>
1:2345:respawn:/sbin/getty 38400 tty1
2:23:respawn:/bin/login -f root </dev/tty2 >/dev/tty2 2>&1
3:23:respawn:/bin/login -f utente </dev/tty3 >/dev/tty3 2>&1
##2:23:respawn:/sbin/getty 38400 tty2
##3:23:respawn:/sbin/getty 38400 tty3
##4:23:respawn:/sbin/getty 38400 tty4
##5:23:respawn:/sbin/getty 38400 tty5
##6:23:respawn:/sbin/getty 38400 tty6



Reply to: