Configurare Slackware Linux
|
Guida rapida alla
configurazione di Slackware Linux
|
Indice
1. Inizializzazione
2. Gestione utenti
3. Gestione
pacchetti
4. Ambiente grafico
5. ppp
6. Network
7. Filesystem
Inizializzazione
Qui analizzeremo la prima parte del processo di inizializzazione del
sistema.
Il primo programma a venir eseguito a parte il kernel linux, è init.
Questo programma legge il file /etc/inittab per vedere come caricare il
sistema. Esegue lo script /etc/rc.d/rc.S per preparare il sistema prima
di andare nel tuo desiderato runlevel.
Il file rc.S abilita la tua memoria virtuale, monta il filesystem,
pulisce alcune directory di log, inizializza le periferiche plug and
play, carica i moduli del kernel, configura periferiche PCMCIA, setta
le porte seriali e carica gli script System V (se ve ne sono).
Ci sono alcuni scripts in /etc/rc.d che rc.S chiamerà per completare il
suo lavoro:
rc.S: questo è il vero e proprio script di inizializzazione del sistema.
rc.modules: carica i moduli del kernel. Cose come la tua scheda di
rete, supporto per ppp ed altro sono caricate da qui. Se questo script
trova il file rc.netdevice, lo chiama.
rc.pcmcia: cerca e configura ogni periferica PCMCIA che potresti avere
sul tuo sistema. questo è utile per gli utenti di laptop (portatili)
che probabilmente possiedono schede di rete o modem PCMCIA.
rc.serial: configura le tue porte seriali caricando i comandi setserial
appropriati.
rc.sysvinit: cerca script System V per il runlevel desiderato e li
esegue. questo è discusso nei dettagli più sotto.
I runlevels
Dopo che l'inizializzazione del sistema ha avuto luogo, init si muove
per inizializzare il runlevel appropriato.
Un runlevel descrive lo stato nel quale la tua macchina girerà.
Precisando meglio, il runlevel dice ad init se accetterai o meno login
multiutenti, se vuoi o meno attivare i servizi di rete e se desidererai
utilizzare il sistema grafico di login o quello testuale (agetty).
Se desideri modificare il runlevel di default di slackware, devi
modificare il file /etc/inittab, ed in particolare la linea
id:3:initdefault:.
I files che definiscono i diversi runlevels in slackware sono i
seguenti:
- rc.0: arresta il sistema (runlevel 0). Di default questo file è un
symlink a rc.6.
- rc.4: startup multiutente (runlevel 4) ma in ambiente grafico
utilizzando KDM, GDM o XDM come manager del login al posto di agetty.
- rc.6: ravvia il sistema (runlevel 6).
- rc.K: startup in modalità utente singolo (runlevel 1).
- rc.M: modalità multiutente (runlevel 2 e 3) ma con lo standard login:
agetty. Questo è il runlevel di default in slackware.
Inizializzazione rete
I runlevels 2, 3 e 4 fanno partire i servizi di rete. I seguenti files
sono responsabili della inizializzazione della rete:
rc.inet1: creato da netconfig, questo file è responsabile per la
configurazione vera e propria della interfaccia di rete.
rc.inet2: viene eseguito dopo rc.inet1 e fa partire servizi di rete
basilari.
rc.atalk: fa partire servizi AppleTalk.
rc.httpd: si occupa di lanciare il web server apache.
rc.samba: fa partire i servizi di condivisione dei files e stampanti
per windows.
rc.news: lancia il news server.
Compatibilità System-V
A partire da Slackware 7.0 è stata introdotta la compatibilità per il
System V init.
Molte distribuzioni linux fanno uso di questo stile al posto dello
stile BSD. Praticamente, con il system-v, ogni runlevel ha una
sottodirectory per gli script di inizializzazione, al contrario, lo
stile BSD ha uno script per ogni runlevel.
Lo script rc.sysvinit cercherà i tuoi eventuali scripts system-v
presenti in /etc/rc.d quando il runlevel è appropriato.
Questo è utile in quanto alcuni software commerciali installano scripts
system-v per funzionare (ad esempio vmware lo fa).
Altri files
Esistono altri files oltre a quelli elencati in precedenza, sono di
secondaria importanza e vengono lanciati da quelli più rilevanti.
È possibile modificare tanto questi scripts come quelli elencati in
precedenza con un semplice editor di testo al fine di personalizzarli.
Ecco come si chiamano e qual è il loro compito specifico:
rc.cdrom: se abilitato, questo script cercherà un cdrom in un drive e
lo monterà sotto /mnt/cdrom se lo trova.
rc.gpm: questo script fa partire gpm, questo programma serve per
copiare ed incollare il testo in console usando il mouse.
rc.ibcs2: fa partire il supporto intel binary compatibility.
rc.local: contiene comandi spedicifi per lo startup del tuo sistema.
Questo file è vuoto dopo una installazione fresca di slackware dato che
è riservato agli amministratore di sistema i quali possono aggiungere
comandi per lanciare applicazionidurante il boot. Questo script viene
eseguito dopo che tutta l'inizializzazione ha preso luogo.
NOTA:
Se desideri che uno o più script non vengano eseguiti, è sufficente
eliminare il permesso in esecuzione sul file in questione, ad esempio
con un chmod a-x rc.scriptinutile.
Gestione
utenti
La creazione di un utente
'normale' è un passo necessario dopo l'installazione di slackware.
Infatti l'unico utente a venire creato durante l'installazione è
l'utente root. Questo è l'utente con pieni privilegi sul sistema cioè
l'amministratore di sistema. Avendo pieni poteri su tutto se sbagli
qualcosa potresti danneggiare in teoria l'intero filesystem
compromettendo l'installazione.
Per questo motivo è necessario creare un utente comune con adduser ed
utilizzare questo utente _sempre_ a meno che non vi sia la reale
necessità di eseguire qualcosa da root.
Questo serve a fare meno danni al sistema in caso di problemi.
Per il resto slackware è configurato in modo da usare passwords shadow,
così in aggiunta ai files standard /etc/passwd e /etc/group, c'è anche
un file /etc/shadow.
Nel caso vi occorresse saperlo, slackware non usa il sistema di
autenticazione PAM ed usa MD5.
Aggiungere utenti.
Slackware linux rende la creazione di un nuovo utente molto facile.
Tutto cio che devi fare è di eseguire lo script /usr/sbin/adduser. Ti
presenterà una serie di domande e completerà tutti i passi necessari
per rendere funzionante l'account appena creato.
Dopo che l'account è configurato, puoi utilizzare i seguenti files per
gestirlo:
/usr/bin/passwd (cambia la password)
/usr/bin/chfn (cambia le 'finger information')
/usr/bin/chsh (cambia la'login shell' dell'utente)
Rimuovere utenti.
La cancellazione di un utente richiede la modifica di alcuni files e
rimuovere alcune cose, ma è abbastanza semplice. Questi passi sono
necessari per rimuovere un utente dal sistema:
rimuovere la linea in /etc/passwd. da root apri il file /etc/passwd e
trova la linea corrispondente all'account che vuoi rimuovere e
cancellala.
rimuovere il nome dell'utente da /etc/group. devi rimuovere l'username
da ogni gruppo nel file /etc/group.
rimuovere la linea in /etc/shadow. stesso processo come il passo 1.
cancellare la home directory. da root, fi un rm -rf sulla home dir
dell'account.
cancella il file di spool della mail. da root devi cancellare il file
/var/spool/mail/[USERNAME]
Un altro approccio alla rimozione di un utente è il comando userdel (si
trova in /usr/sbin) puoi usarlo per fare tutto quello elencato qui
sopra. Leggi le man pages per ulteriori informazioni.
Disabilitare un utente.
Disabilitare un account è facile e preferibile alla cancellazione in
alcuni casi. Dalle man page di passwd(1):
"User accounts may be locked and unlocked with the -l and -u flags. The
-l option disables an account by changing the password to a value which
matches no possible encrypted value. The -u option re-enables an
account by changing the password back to its previous value."
L'opzione -l disabilita un account cambiando la password che coincide
con nessun valore criptato.
L'opzione -u ri-abilita l'account riportando la password al suo valore
precedente.
Gestione
pacchetti
Il sistema di gestione dei pacchetti in slackware utilizza tar files
compressi in modo comune (gzip). Il sistema consente di tener traccia
dei pacchetti che installi, rendendo facile aggiornarli o rimuoverli,
anche a mano.
Slackware fornisce un programma interattico per gestire i tuoi
pacchetti. Puoi usare pkgtool per gestire l'aggiunta e la rimozione dei
pacchetti dal tuo sistema.
Inoltre puoi anche utilizzare dei comandi dalla console per fare le
stesse cose che fa pkgtool. Vediamoli nel dettaglio.
installpkg
Scrivendo installpkg [nomepacchetto].tgz puoi installare pacchetti sul
tuo sistema. Ci sono anche alcune opzioni che è possibile dare:
-warn: genera una specie di report di quello che accadrebbe se tu
installassi il pacchetto e spedice il report allo 'standard output'.
-m: crea un pacchetto con il nome che specifichi dai files, le
directories, e le subdirectories nella dir corrente.
-r: installa i contenuti della directory corrente e le sotto
directories come se fosse un pacchetto con il nome che tu specifichi.
upgradepkg
Aggiorna un pacchetto che è già installato con il pacchetto
specificato. Se i pacchetti hanno lo stesso nome, allora dovrai solo
eseguire upgradepkg nomepacchetto per l'aggiornamento. Se il nuovo
pacchetto ha un nome diverso da quello già presente sul sistema, allora
dovrai usare upgradepkg nomevecchio%nomenuovo. Non aggiungere spazi tra
i nomi dei due pacchetti.
removepkg
Nella sua forma più semplice, removepkg rimuoverà il pacchetto con il
nome che tu specifichi. La sintassi generale è removepkg nomepacchetto.
Esistono anche alcune opzioni che è possibile specificare:
-warn: genera un report di quello che accadrebbe se tu rimuovesse il
pacchetto e lo spedisce allo 'standard out'. Non rimuove il pacchetto.
-preserve: questa opzione ricostituirà il 'subtree' del pacchetto sotto
/tmp/preserved_packages/nomepacchetto, dove nomepacchetto è il nome del
pacchetto che specifichi.
-copy: questo ricostruisce una copia del pacchetto sotto
/tmp/preserved_packages/nomepacchetto, ma non lo rimuove (ha lo stesso
effetto di -warn -preserve).
-keep: salva i files temporanei creati da removepkg. Utile per
propositi di debug.
Ambiente
grafico
Per utilizzare correttamente
ed al meglio l'ambiente grafico è necessario configurare XFree86.
XFree86 è il server grafico che ti consente, utilizzando un window
manager, di usare agevolmente programmi con interfacce grafiche in
linux. In pratica da' a linux una interfaccia simile a quella di
windows o di un qualsiasi altro sistema operativo con interfaccia
grafica.
Per configurare XFree86 ci sono vari modi:
xf86cfg
xf86config
xfree86setup
Il tool di configurazione migliore è probabilmente xf86config. è un
semplice script che è possibile usare in console. Ti presenta una serie
di domande necessarie a configurare al meglio il server X. Prima di
cominciare sarebbe meglio prendere in mano i manuali del vostro monitor
e della scheda video in quanto sarà necessario inserire dati importanti
come ad esempio l' hsynch e quella verticale che sono indispensabili
per ottenere il meglio dal vostro monitor.
Le domande sono in inglese, ma sono molto semplici da comprendere.
In caso troviate difficile utilizzare xf86config o non abbiate i dati
relativi al monitor, potete utilizzare xf86cfg che fa a grandi linee le
stesse cose di xf86config ma ha una interfaccia grafica.
Una volta configurato il tutto, sarà sufficente usare il comando startx
in console per fare partire l'ambiente grafico. Nel caso la risoluzione
non fosse quella desiderata, utilizzate i tasti ctrl alt
numpad+/numpad- per modificare la risoluzione.
Se volete cambiare il windowmanager, utilizzate il comando xwmconfig.
ppp
In slackware hanno incluso un programma chiamato pppsetup per
configurare il tuo sistema per utilizzare il tuo account dialup.
condivide aspetto ed è molto simile a netconfig.
Per eseguire il programma, accertati di essere loggato come root. poi
scrivi pppsetup per 'caricarlo'. dovresti vedere una schermata come
questa:
Il programma ti presenterà una serie di domande, alle quali devi dare
risposte appropriate. Cose come il device corrispondente al modem, la
stringa di inizializzazione del modem ed il numero di telefono del tuo
ISP. alcuni oggetti avranno un valore di default, che puoi accettare
nella maggior parte dei casi.
Dopo l'esecuzione del programma, creerà due programmi, ppp-go e
ppp-off. questi sono usati rispettivamente per fare partire e fermare
la connessione PPP. i due programmi sono in /usr/sbin e necessitano di
essere eseguiti con privilegi di root.
I files in /etc/ppp/
Per la maggior parte degli utenti, eseguire pppsetup sara sufficiente.
comunque, ci potrebbe essere l'esigenza di modificare alcuni valori
utilizzati dal demone PPP
Tutte le informazioni di configurazione sono mantenuti in /etc/ppp.
segue una lista delle funzioni dei diversi files:
ip-down: questo script viene eseguito da pppd dopo che la connessione
ppp è terminata.
ip-ip: questo script viene eseguito da pppd quando c'è una connessione
ppp stabilita con successo. Inserisci qui qualsiasi comando che vuoi
venga eseguito dopo che la connessione viene stabilita.
options: opzioni di configurazione generale per pppd.
options.demand: opzioni di configurazione generali per pppd quando
viene eseguito in modalità demand dialing.
pppscript: i comandi inviati al modem.
pppsetup.txt: il log di quanto hai inserito quando hai eseguito
pppsetup.
Network
Il modo preferibile per
configurare la tua rete è attraverso l'utilizzo del programma
netconfig. Esegui questo programma da root e ti verranno presentate una
serie di domande alle quali rispondere. Il programma creerà il file
rc.inet1 (in /etc/rc.d).
Ti servirà anche il supporto per la tua scheda di rete compilato nel
kernel (staticamente o come modulo). Il programma netconfig può anche
interrogare il tuo sistema al fine di trovare una scheda di rete e di
abilitarla. Altrimenti puoi sempre modificare il file
/etc/rc.d/rc.modules e selezionare la tua scheda di rete.
Puoi, ovviamente, anche modificare i files di configurazione della rete
a mano. Sono /etc/rc.d/rc.inet1 e /etc/rc.d/rc.inet2.
Filesystem
/bin: in questa directory
sono immagazzinati programmi essenziali al funzionamento del sistema
operativo, ad esempio comandi di shell e programmi tipo ls.
/boot: qui ci sono files di boot relativi a LILO.
/dev: block e character device files.
/etc: files di configurazione e sistema di inizializzazione.
/home: home directories per tutti gli utenti tranne root.
/lib: librerie essenziali (come ad esempio le librerie di sistema di C)
e moduli per il kernel linux.
/mnt: mountpoint generici.
/opt: qui slackware immagazzina il contenuto di pacchetti software
opzionali. Slackware installa KDE in questa directory.
/proc: mountpoint del filesystem proc per iterazione con il kernel.
/root: home directory di root.
/sbin: binari di sistema, contiene programmi eseguiti da root durante
il boot.
/tmp: directory temporanea. Tutti gli utenti hanno accesso in lettura e
scrittura in questa directrory.
/usr: programmi relativi agli utenti come ad esempio X11, netscape,
pine, etc.
/var: questa directory contiene files di log del sistema, files lock,
spool mail e spool della stampante.