Linux Slackware ha una gestione dei moduli di avvio tutta particolare.
Il primo script che viene eseguito dopo il kernel, è init. Questo legge il file /etc/inittab per scegliere la modalità di avvio.
Subito dopo esegue lo script etc/rc.d/rc.S per preparare il sistema alla selezione del runlevel desiderato, abilitando la memoria virtuale, montando il filesytem, inizializzando le periferiche e caricando gli altri script.
Gli altri script a venire eseguiti, sono tutti presenti nella cartella /etc/rc.d/. I principali sono:
Finita l'inizializzazione del sistema, si procede con la selezione del runlevel selezionato.
Il compito dei runlevel è quello di stabilire il modo di avvio della macchina e i servizi da lanciare di conseguenza.
Ad esempio, in base al runlevel scelto, verrà impostata la modalità di login, se ad utente singolo o multiutente, se grafico o testuale etc.
Il runlevel predefinito (multiutente testuale su Slackware) è impostato nel file /etc/inittab, ed in particolare è impostato alla linea id:3:initdefault.
Mentre gli script specifici di ogni livello sono contenuti /etc/rc.d/rc.* ma vediamoli nel dettaglio.
I runlevel rc.4 e rc.M richiamano e lanciano altri script per l'inizializzazione della rete, quali:
Come avrete potuto notare, nella directory /etc/rc.d/ ci sono altri file oltre a quelli elencati, ad esempio:
Nella directory /etc/rc.d/ alcuni file non sono eseguibili (attributo x). Questo è dovuto al fatto che all'avvio vengono lanciati solo i file con permesso di esecuzione, quindi se volete che uno script non venga lanciato, basterà togliergli l'attributo di esecuzione con il comando:
chmod a-x rc.*****
Vediamo ora come è organizzato il filesystem di linux Slackware, directory per directory.
/bin contiene i comandi principali per l'esecuzione del sistema operativo.
/boot contiene i file necessari al boot loader (LILO di default)
/dev contiene la mappatura delle periferiche. Es. hda = periferica collegata su ide1 master, hdb = periferica collegata su ide1 slave...
/etc qui ci sono i file di configurazione del sistema.
/home la directory principale degli utenti (tranne root).
/lib contiene le librerie essenzili per il sistema.
/mnt contiene i punti di montaggio generici per le periferiche. Es: /mnt/cdrom indica il lettore CD.
/opt contiene i pacchetti opzionali installati da Slackware. Di solito solo KDE.
/proc punto di montaggio per l'interazione proc con il kernel di linux.
/root la directory principale per l'utente root.
/sbin qui sono immagazzinati i comandi di sistema eseguibili solo da root.
/tmp directory temporanea alla quale tutti hanno accesso sia in lettura che in scrittura.
/usr programmi a disposizione degli utenti.
/var contiene i log di sistema e tutti quei file gestiti dai processi del sistema.
Buona regola è quella di non usare l'utente root nella normale fa se di utilizzo del sistema. Per fare questo occorre creare un nuovo utente. Vediamo come fare.
La creazione di un nuovo utente in Slackware è molto semplice. Basta infatti eseguire il comando adduser e seguire le istruzioni a video.
Una volta create l'utente ci sono alcuni comandi utili per gestirlo, quali:
Anche per la creazione è prevista una procedura facilitata attraverso l'utilizzo del comando userdel.
Quello che viene eseguito dal comando, può essere fato anche a mano, editando alcuin file. Vediamo quali:
Piuttosto di rimuovere un utente, a volte è meglio disabilitarlo. Per fare questo occorre usare il comando passwd con l'opzione -l e -u.
L'opzione -l, infatti, disabilita un account cambiando la password in un valore criptato che non coincida con nessun altro.
L'opzione -u invece, serve per riabilitare l'utente, ripristinando la password iniziale.
Slackware utilizza un sistema di installazione a pacchetti (oovero file tar-gzip compressi) che hanno estenione .tgz e ne registra le installazioni e le rimozioni, rendendone facile l'aggiornamento o la rimozione.
Per gestirli si ha a disposizione un programma interattivo, pkgtool, che permette di vedere i pacchetti installati, di aggiungerne di nuovi o di rimuoverne di vecchi; oppure si possono usare i comandi specifici, vediamoli.
Per installare un singolo pacchetto, si può usare il comando:
installpkg nomepacchetto.tgz
Per aggiornare i pacchetti installati, se hanno lo stesso nome si userà semplicemente:
upgradepkg nomepacchetto.tgz
Invece se il nome è diverso, allora si dovrà specificare il nome precedente e quello nuovo nel seguente modo:
upgradepkg nomevecchio%nomenuovo.tgz
Per rimuovere un pacchetto, si può usare il comando:
removepkg nomepacchetto.tgz
Se installate Linux Slackware come secondo sistema operativo, ed il primo utilizza un filesystem NTFS (Windows 2000 o XP), probabilmente vorrete avere la possibilità di accedere ai dati salvati.
Anche se è disponibile una versione sperimentale per la scrittura, purtroppo per ora il supporto al filesystem NTFS garantito è di sola lettura. Vediamo come procedere per far riconoscere la nostra partizione NTFS.
Dovete editare il file /etc/fstab ed aggiungere questa riga:
/dev/hda1 /win ntfs auto,user,ro 0 0
dove:
/dev/hda1 è la partizione che corrisponde alla tua partizione NTFS.
/win è la cartella (che dovrai crearti) dove vuoi che venga montato il filessytem
ntfs è il tipo di filessytem
auto indica che il filesystem viene montato all'avvio
user indica chi ha accesso a tale partizione
ro indica che si può accedere in modalità di sola lettura (read-only)
Editare il file /etc/X11/XF86Config e spostarsi alla sezione "Core Pointer's & Input Device. Modificare il protocollo da "PS/2" a "IMPS/2" e aggiungere queste due rige:
Option "ZAxisMapping" "4 5"
Option "Emulate3Buttons" "no"
Salvare il file e riavviare X.
Come avrete notato, con Linux Slackware il pc non si spegne da solo. Questo è dovuto al fatto che il supporto per la gestione dell'alimentazione è disabilitato.
Ovviamente si può risolvere il problema e anche abbastanza facilmente. Basta editare il fiel /etc/rc.d/rc.modules e cercare la riga ####### APM support #######.
Sotto questa riga, troverete un comando commentato (ovvero preceduto da un cancelletto), decommentatelo eliminando il cancelletto, salvate il file.
Dal prossimo riavvio il pc, all'halt, si spegnerà da solo.
Per configurare la suddetta scheda audio, editate il file /etc/rc.d/rc.modules e cercate la riga che inizia con ### Sound Support ### e aggiungete queste due righe:
echo "Carico i moduli per la scheda audio AC97"
/sbin/modprobe ac97_codec
/sbin/modprobe i810_audio
Salvate il file e lanciate X per provare l'audio.
Le schede video nVidia offrono sul sito dei driver specifici per ogni modello.
Basterà quindi andare sul sito e scaricarsi i driver adatti. Di solito sono 2 file da scaricare:
Una volta scaricati procedete con la scompattazione dei file e la successiva configurazione:
tar xzf NVIDIA_kernel-****.tar.gz
tar xzf NVIDIA_GLX-****.tar.gz
cd NVIDIA_kernel-****
make install
cd ../NVIDIA_GLX-****
make install
Fatto questo, potrete eliminare i file sorgenti e le cartelle createsi con la scompattazionee.
Il passo successivo sarà quello di far sapere al server X della presenza di un nuovo driver.
Per fare questo, editate il file /etc/X11/XF86Config e spostatevi nella sezione "Module", qui decommentate la riga "Load glx" (se è già decommentata lasciatela così).
Fatto questo, spostatevi alla sezione "Graphic Device" e modificate il driver da "nv" a "nvidia".
Salvate il file e avviate X.
Per configurare Apache secondo le proprie esigenze, bisogna editare il file /etc/apache/httpd.conf
Per le configurazioni, o vi leggete i commenti oppure andate sul sito www.apache.org e troverete sicuramente tutte le informaioni sulle direttive del fiel di configurazione.
Per modificare le impostazioni di PHP, basta editare il file php.ini presente nella directory /etc/apache
Come per Apache, i commenti all'interno del file non mancano... decommentate e commentante a piacimento; ricordatevi però che per usare PHP, dovrete tornare nel file di configurazione di Apache e decommentare la riga che richiama il file mod_php.conf presente alla fine.
Uno dei problemi più fastidiosi per chi è abbituato a lavorare con MySQL sotto Windows, è la configurazione iniziale.
Infatti occorrono alcuni comandi non proprio elementari per un neofita. Innanzitutto dovete rinominare il file my-****.cnf in my.cnf.
Gli asterischi stanno ad indicare la versione più adatta per il vostro computer. Di solito con un pc desktop con una buona quantità di RAM, my-large.cnf è l'ideale.
Spostatevi nella cartella /var/lib, guadagnatevi i diritti di root (con il comando "su") e cambiate l'owner per la directory mysql e tutte le sotto-directory con il comando:
chown -R mysql/mysql mysql
Adesso potete lanciare il server MySQL con il comando:
/usr/bin/safe_mysql &
Se volete che MySQL parta all'avvio del computer, dovete copiare il file mysql.server in /etc/rc.d/
Per ottenere una prima sicurezza di base, occorre innanzitutto controllare quali porte sono aperte sul nostro computer e da quale servizio sono gestite.
Per fare questo basterà lanciare il comando:
netstat -l
che fornirà un elenco di porte aperte sul nostro sistema.
Dopo aver visto che servizi sono in esecuzione sulla nostra macchina, procediamo con il fermare quelli che non ci servono.
I primi servizi che è consigliabile chiudere sono quelli lanciati dal super demone inetd. Per fare questo dobbiamo editare il file /etc/inetd.conf e commentare (inserire un cancelletto # all'inizio della riga) tutti i servizi che non ci servono.
Se non avete esigenze particolari, potete commentare tutto TRANNE il servizio di autenticazione AUTH.
A questo punto potete riavviare il pc e controllare di nuovo le porte rimaste aperte.
Ovviamente non è solo inet ad aprire le porte, ma anche altri demoni, che se non ci sono di nessuna utilità, possiamo tranquillamente arrestare.
Ricontrollando con netstat le porte ancora aperte, procediamo ad identificare il servizio che le usa. PEr fare questo si usa il comando fuser, vediamo:
fuser -v porta/protocollo es: fuser -v 22/tcp 22/tcp root 23424 ... sshd
Come potrete immaginare, sshd è il nome del processo che ha aperto la porta 22, mentre 23424 è l'identificatore del processo (pid) che ci permette di rintracciare il processo.
Se vogliamo arrestare il demone sshd dovremmo eseguire il seguente comando:
kill -9 23424
Così facendo, ovviamente, arrestate il servizio solo fino al prossimo riavvio. Se volete che tale demone non venga più eseguito, dovrete andarlo a ricercare nei file di configurazione nella cartella etc/rc.d/.
Documento rilasciato secondo la "Licenza per la documentazione libera GNU v.1.1".
XMLHttpRequest, una guida pratica con la spiegazione di un esempio concreto.
Se usate internet, di sicuro vi sarete trovati di fronte a delle sequenze di parentesi e segni di punteggiatura, magari non capendo cosa volessero dire...