|
|
Miniguida su Linux 
|
di Captain
|
Sommario:
1. Premessa.
2. Cos'e' Linux ?
3. Cosa mi occorre per installare Linux?
4. La Shell Di GNU/Linux.
5. Il Processo del Boot.
6. Installazione di programmi.
Pacchetti RPM.
apt-get, dpkg, sorgenti e tarball.
7. Il Kernel.
Cosa è il kernel.
Configurazione del kernel.
Compilazione del kernel.
Documentazione relativa al kernel.
8. Linux e i Portatili.
Installazione.
L'orizzonte degli eventi.
Sospensione e sleep del portatile.
Cambiare la frequenza dela cpu.
9. Configurazione l'audio con ALSA.
1. Premessa
Questa guida e' indirizzata agli utenti che sono alle prime armi con il sistema
Linux. L'obiettivo e' quello di inizializzare il lettore, verso il mondo dei
sistemi unix-like.
2. Cos'e' Linux ?
Linux e' un sistema operativo, disponibile per diverse piattaforme hardware tra
cui anche i processori Intel o compatibili. Linux appartiene alla famiglia dei
sistemi UNIX (Solaris, AIX, HPUX,ecc),ma e' stato scritto per essere
compatibile con le specifiche POSIX e include estensioni proveniente dai
sistemi System V e BSD.
Linux in se stesso e' costituito solo dal Kernel, il nucleo centrale del
sistema operativo che controlla il funzionamento di tutto il computer. La
maggior parte delle applicazioni di contorno al sistema sono sviluppate dalla
GNU.
GNU e' un e' un acronimo ricorsivo e significa GNU is Not Unix (ovvero "GNU non
e' Unix"), e' nato nel 1983 da Richard Stallman, si basa su una gestione dei
diritti d'autore sul software libero.
Sito: http://www.gnu.org
Il kernel di Linux e' stato ideato da Linus Torvalds, uno studente finlandese
il primo rilascio del kernel e' avvenuto nel 1991.
Sia il kernel di Linux sia il software realizatto dal progetto GNU vengono
rilasciati sotto la licenza GPL (General Public Licence) oppure sotto la LGPL
(Library GPL). Queste licenze garantiscono sia la tutela del copyright da parte
dell'autore sia la possibilita' di poter modificare il codice sorgente da parte
dell'utente del software.
Il nome Linux fu attribuito a tale progetto solo in un secondo tempo, da parte
dell'amministratore di sistema che permisse l'upload del file sorgente del
kernel di Linus sul sistema ftp dell'universita'.
Il 5 ottobre del 1991, Linus invio il seguente "post" sul newsgroup
comp.os.minix:
|
"Do you pine for the nice days of Minix-1.1, when men were men and wrote their
own device drivers? Are you without a nice project and just dying to cut your
teeth on a OS you can try to modify for your needs? Are you finding it
frustrating when everything works on Minix? No more all-nighters to get a nifty
program working? Then this post might be just for you.
As I mentioned a month ago, I'm working on a free version of a Minix-lookalike
for AT-386 computers. It has finally reached the stage where it's even usable
(though may not be depending on
|
| |
what you want), and I am willing to put out the
sources for wider distribution. It is just version 0.02...but I've successfully
run bash, gcc, gnu-make, gnu-sed, compress, etc. under it."
|
Lo sviluppo del kernel di Linux e' ora portato avanti da Alan Cox, descitto da
Linus nel seguente modo:
"Note that nobody reads every post in linux-kernel. In fact, nobody who expects
to have time left over to actually do any real kernel work will read even half.
Except Alan Cox, but he's actually not human, but about a thousand gnomes
working in under-ground caves in Swansea. None of the individual gnomes read
all the postings either, they just work together really well."
3. Cosa mi occorre per installare Linux?
Un personal computer ...
.. una distribuzione di Linux ...
... e documentazione sulla distrubuzione
Quale personal computer mi occorre?
Per i computer i386 la configurazione minima prevede l'utilizzo di un i386/SX a
16MHz con 1 MB di RAM. Per installare una distribuzione attualmente sono pero'
necessari almeno 4MB di RAM piu' spazio su disco per uno file di swap.
Per un normale uso domestico un 486 a 100Mhz con scheda video da 2MB, 16MB di
RAM e un disco da 500MB rappresenta davvero un OTTIMA macchina.
Per un uso aziendale un qualsiasi Pentium con 32MB di RAM e' un ottimo server
sopratutto con uno o due dischi SCSI molto capienti.
4. La Shell Di GNU/Linux
Possiamo vedere i vari comandi della shell di Linux in questo sito :
http://guide.supereva.com/fortran/interventi/2002/06/107905.shtml
La shell di Linux puo essere considerata come un'interfaccia che permette
all'utente di interagire con il sistema. Quest'ultima puo essere utuliazzata in
console o in un terminale. Inoltre la shell è lo strumento piu potente messo a
disposizione per l'utente, attraverso il quale gestisce l'intero sistema.
Sono presenti su un sistema Linux diversi tipi di shell:
1. Sh
2. Bash
3. ksh
4. csh
5. zsh
6. tcsh
|
Per ognuna delle quali e' presente un manual page (man) nel quale potrete
trovare tutte le informazioni riguardanti le shell sopra elencate.
5. Il Processo del Boot
E' una macchina di Linux su sistemi x86 intel compatibili(x86: e' per
indicare un'architettura di microprocessori inizialmente sviluppata e prodotta
dall'Intel),il boot a diversi stadi che sono :
l'accessione al BIOS su rom definisce l'ordine dei device da utilizzare per
effettuare il boot;il boot sector del primo device di boot contiene il
codice, nel caso di Gnu/Linux il piu' diffuso e' Lilo.
IL bootloader e' un piccolo programma utilizzato,come suggerisce il nome
stesso.per il boot del sistema.
Il Lilo e' un acronimo di "LInux LOader";il loader lancia il caricamento del
kernel,che si copia in memoria ed esegue i controlli e il riconoscimento
dell'hardware; nel fine del caricamento del kernel si esegue il processo di
init,e' il padre di tutti i processi,esso gestisce il caricamento di tutti gli
altri programmi da eseguire per completare il boot.
Il funzionamento del booloader e' assai complicato ma lo si puo' sintetizzare e
semplificare in poche frasi..
- in un momento,il BIOS della macchina carica il bootloader
- questo in seguito,carica il kernel del sistema o i bot sectors di altri
sistemi operativi (come windows) passando ad altri programmi la successiva
operazione di boot (COMMAND.COM in windows)
A questo punto la funzione del boot loader e' terminata ed inizia la vera e
propria frase di bootstrap del sistema operativo.
6. Installazione di programmi
a) PACCHETTI RPM
RPM,e' una utilita' che ci permette di istallare e disinstallare e
aggiornare,interrogare,verificare ,costruire pacchetti software.
RPM,permette di istallare programmi gia compilati con una facilita' e rapidita'
molto semplice sul nostro sistema operativo(OS).
Esso e' usato su molte distrubuzione di Linux ad esempio su RedHat,e' molto
importante utilizzare gli RPM adatti sul nostro sistema;gestisce
automaticamente le (dependencies),se proviamo a installare un RPM che richiede
librerie o programmi non presenti o non abbastanza aggiornati,il sistema ci
dara' un errore e ci verra' indicato quali file che mancano;invece se proviamo
a disinstallare un package che contiene dei file utilizzati da altri
programm(file in comune),ci verra' indicato un messaggio di errore.
Gli RPM automaticamente distribuiscono i file di un pacchetto nelle directory
giuste (logs in /var/log, file di configurazione in /etc/, binari in /usr/bin o
/usr/sbin, script di startup in /etc/rc.d/init.d/ ecc.) e verificano la
presenza di conflitti o installazioni piu' recenti.
Ma anche esso a dei sui svantaggi in anzi tutto si usano dei file gia
compilati,e nn sempre gli RPM vengono resi disponibili in tempi brevi.
I comandi di istallazione dei RPM :
|
rpm -i [opzioni] [pacchetti]
Installazione pacchetti RPM
rpm -U [opzioni] [pacchetti]
Aggiornamento di pacchetti RPM
rpm -e [opzioni] [pacchetti]
Disinstallazione di pacchetti RPM
rpm -q [opzioni] [pacchetti]
Interrogazione di pacchetti RPM
rpm -V [pacchetto]
Verifica pacchetto RPM
|
b) APT-GET,DPKG,SORGENTI E TARBALL:
Il Tarball piu' comunemente chiamato l'archivio dei sorgenti,si presenta molto
spesso come una vera e propria struttura che contiene i file sorgenti e anche
la documentazione per utilizzo e la compilazione del sotfware,file binari e
script che ci aiutano nella procedura di installazione.
I file vengono per prima cosa archiviati come unico file con il programma
tar,per poi essere compressi con Gzip o Bzip2.
Ma in questo caso non esiste una vera procedura di istallazione cioe' per la
compilazione dei sorgenti e' importantissimo leggere la documentazione che e'
insieme ai sorgenti (README).In questa guida inserira' la sintassi di default
per la compilazione dei sorgenti:
./configure [ opzioni ] Verifica le dipendenze e crea il Makefile.
make [ opzioni ] Attraverso il Makefile creato precedentemente compila i
sorgenti e installa
Questi tipi di file li possiamo trovare in CD ma anche scaricando programmi da
internet..Tipicamente la procedura di installazione si riassume in questi passi
(leggere sempre i file INSTALL o README per le effettive istruzioni di
installazione).
Alcune opzioni usate dal tar sono :
|
-c crea un nuovo archivio.
-f se usato con l'opzione -c, utilizza il nome di file specificato per la creazione
del file tar. Se usato con l'opzione -x, estrae dall'archivio il file specificato.
-t visualizza l'elenco dei file nel file tar.
-v visualizza lo stato dei file in fase di archiviazione.
-x estrae i file da un archivio.
-z comprime il file tar con gzip.
-j comprime il file tar con bzip2.
|
Il tar come detto prima viene usato per scompattare/comprimere un file con
estensione tar.gz o tar.bz2. Le sintassi sono queste:
Per i tar.gz :
|
tar xzvf pacchetto.tgz
installpkg pacchetto.tgz
|
Per i tar.bz2 :
|
tar xvf pacchetto.tar.bz2
o ancora
tar xjvf pacchetto.tar.bz2
|
Gestire l'installazione di un pacchetto con estensione .deb e quindi per distro
Gnu/Linux in particolar modo Debian,Ubuntu e' semplice, bastera' digitare da
terminale il seguente comando
Installazione dei pacchetti :
|
dpkg --install pacchetto.deb
oppure nella forma contratta :
dpkg -i pacchetto.deb
|
Rimozione dei pacchetti :
|
dpkg --remove pacchetto
e la relativa forma contratta
dpkg -r pacchetto
|
Rimozione pacchetti e relative configurazioni :
|
dpkg -P pacchetto
|
Installazione da repository :
|
apt-get install nomepacchetto
|
7. Il kernel
a) Cosa è il kernel.
Il Kernel è la parte più importante del nostro sistema operativo. Si tratta di
un codice che si occupa della gestione delle risorse presenti nel nostro
computer e le rende direttamente accessibili agli altri programmi.
In parole molto semplici, il kernel è un mediatore che serve a far interagire
il software con l'hardware lavorando a basso livello.
Esistono diverse famiglie di kernel sul sistema Linux:
di cui ogni famiglia presenta upgrade differenti da un kernel della famiglia
precedente.
b) Configurazione del kernel.
per intervinire sulla configurazione del kernel occorre innanzitutto
procurarsene i sorgenti dal sito http://www.kernel.org .
Il kernel a cui facciamo riferimento e' della famiglia 2.6,gli accorgimenti
suggeriti rimangono validi in liena di massina per il kernel 2.4...e ora
scarica l'ultima versione del kernel :D
salvare l'archivio di sorgente nella directory /usr/src e decomprimerlo con:
tar xjvf linux<VERSIONE>.tar.bz2
|
Posizionare nella directory creata dal precedente comando:
Per eliminare i file e i collegamenti generati da un'eventuale compilazione
precedente,e il file .config che contiene il salvataggio della configurazione
corrente,lanciare:
Per avviare il programma di gestione della configurazione lanciare:
"Si hanno a disposizione diversi font-end di configurazione del kernel. Dalla
directory dei sorgenti e' possibile lanciare make config,make menuconfig,make
xconfig,make gcconfig,make kconfig per poter vedere e provare i varu software
di gestione della configurazione."
A questo punto vedremo il programma per la configurazione del kernel.
Si tratta di abilitare o meno le varie voci suddivise in sezioni e
sottosezioni.
Generalmente e' possibile abilitare una funzionalita' in modalita' built-in
oppure tramite modulo.La modalita' built-in consiste che la funzionalita' viene
caricata staticamente al momento del caricamento del kernel.
Modalita' modulo significa che la funzionalita' puo' essere caricata o rimossa
dal kernel mentre esso e' in esecuzione.
Durante la configurazione del kernel, si consiglia di non inserire tutte le
voci necessarie in modalita built-in o module.
Questo comporterebbe la creazione di un kernel monolitico o modulare, ognuno
dei quali ha vantaggi e svantaggi.
Il kernel monolitico ha tutto incluso, quindi non necessita del caricamento di
moduli per periferiche, o altro, quindi piu comodo, il suo svantaggio sta nel
fatto che avendo un kernel monolitico predisposto per molte periferiche,device
o altro, si va a creare un kernel pesante, il che potrebbe influire sulle
prestazioni della computer.
Un kernel modulare, invece, segue un procedimento di creazione dell'immagine,
simile al kernel monolitico. Il vantaggio del kernel modulare, a differenza del
monolitico, permette di attivare e disattivare moduli mentre il kenrnel e' in
esecuzione, come citato precedentemente, e presenta un immagine piu snella. Lo
svantaggio maggiore sta nel fatto che un kernel modulare è fonte di molteplici
errori per incompatibilita' tra moduli.
Il consiglio per i meno esperti è di creare un kernel che non sia ne modulare,
ne monolitico, per evitare problemi vari, e di selezionare solamente le voci
necessarie.
Le prime ricompilazioni del kernel saranno dure :) ma con il passar del tempo,
con l'acquisizione dell'esperienza necessaria, sarete in grado di creare una
configurazione perfetta per la vostra macchina.
Altro punto critico degli user, che si lanciano nella ricompilazione del
kernel, e dove incontrano maggiore difficoltà,è nella selezione dell'hardware
presente sul sistema, domandandosi: "Che voci devo selezionare? Quali sono i
miei componenti?".
Ci sono vari modi per poter conoscere i componenti del proprio computer.
1. Aprirlo e guardare ogni componente, leggerne il modello..ecc..
2. Leggere il log di avvio.
3. Lanciare , da user root, le utilità: dmesg, lspci, lsusb, lsraid.
|
La rete:
Nel menu principale del programma di getsione della configurazione selezioniamo
la voce Device Drivers,che contiene la categoria di supporto alla rete.
Per poter usare i servizi di rete occorre abilitare il supporto di rete nel
kernel,tramite la sezione Networking Options.
In questa sezione e' consigliabilire abilitare le seguenti voci:
- Packet Socket.
- Network Packet Filtering.
- Unix Domain Sockets.
- TCP/IP Network.
- IP Netfilter Configuration.
|
c) Compilazione del kernel.
Il passo successivo e' la compilazione del kernel, per effettuare questo si usa
la sequenza di comandi make da root.
1: # make clean
2: # make bzImage
3: # make modules
4: # make modules_install
|
Il primo make serve a eliminare i file creati da una precendete
compilazione,mentre il secondo effettua la compilazione vera e propria creano
l'immagine del kernel;per quetso motivo questo comando puo' richiedere molto
tempo:
1: # make clean
2: # make bzImage
|
Se tutto va a buon fine e non appaiono messaggi di errore si ottiene il nuovo
kernel in /usr/src/linux-version/arch/i386/boot/bzImage.
Ora e' possibile procedere con la compilazione e installazione dei
moduli,usando sempre il comando make (sempre da root):
3: # make modules
4: # make modules_install
|
I moduli creati verranno installati nella directory /lib/modules/.
Eseguite queste operazioni e' necessario rendere disponibile al sistema boot il
nuovo kernel.
per effettuare questo copiare il nuovo kernel nella directory boot:
ATTENZIONE: CREARE UNA COPIA DELLA VECCHIA IMMAGINE NEL KERNEL PER EVITARE, NEL
CASO IN CUI QUALCOSA NON SIA ANDATA BENE.
# cp /usr/src/linux-version/arch/i386/boot/bzImage /boot/vmlinuz-version
# cp /usr/src/linux-version/System.map /boot/System.map
|
Quindi arrivati a questo punto modificare il file /etc/lilo.conf, in modo tale
che si il sistema al riavvio carichi il nuovo kernel.
Un esempio del file /etc/lilo.conf e' :
|
1ba32
boot=/dev/hda
install=/boot/boot-menu.b
map=/boot/map
delay=20
prompt
timeout=150
vga=normal
#Linux-new version begins#
image=/boot/vmlinuz-version
root=/dev/hda2
label=Linuz
read-only
#Linux-new version ends#
#Linux-old version begins#
image=/boot/vmlinuz
root=/dev/hda2
label=LinuxOLD
read-only
#Linux-old ends#
|
PS. Per maggiori informazioni fare riferimento al man lilo.conf(5).
Per rendere effettivi i cambiamenti e modificare il Master Boot Record bisogna
eseguire il comando lilo con l'opzione -v che ha un effetto di rendere l'output
dettagliato:
nel caso in cui vogliate fare una prova della scrittura dell'MBR lanciare
nel caso in cui il suddetto comando riporti errori, controllare il file
/etc/lilo.conf
E in questo momento e' possibile riavviare il pc e logicamente verificare le
modifiche.
Al riavvio,dopo esserci autenticati come root,verificheremo i messaggi del
kernel con il comando dmesg.
per verificare i moduli che sono caricati dal kernel all'avvio,useremo il
comando:
E' possibile caricare i moduli anche a sistema gia' avviato,usando il comando
modprobe, un esempio:
Effettua un tentativo di caricamento del modulo relativo alla scheda di rete
e100.
Per disattivare il modulo e quindi le funzionalita' della scheda di rete
utilizziamo il comando rmmod.
d) Documentazione relativa al kernel.
La compilazione del kernel puo' risultare un po ostica per chi si avvicina al
mondo Linux..ma comunque assieme hai sorgenti ci viene rilasciato anche una
documentazione che e' possibile trovare nelle varie directory.
8. Linux e i Portatili
a) Installazione.
Installazione ed ottimazione del sistema operativo sui computer portatili, per ottimizzare le prestazioni
e gestire nel miglior modo gli strumenti per il risparmio energetico.
Un computer laptop puo' gestire le proprie funzioni avanzate (gestione batteria) attraverso 2 modi
standard,APM & ACPI. Il primo,piu' vecchio, e' stato praticamente abbandonato nei portatili di ultima
generazione a favore del secondo e tenendo conto che anche i portatili non molto recenti usano ormai ACPI
e noi focalizzeremo le nostre attenzioni su quest'ultimo.
Le maggiori distrubuzioni sono realizzate tenendo conto di questo standard e richiamano i moduli adatti
nella fase di avvio del sistema, quindi controlliamo che sia installato il demone ACPID e che il relativo
servizio sia in funzione :
e quindi scrivere, in caso negativo, se si usa una Debian o derivate :
o il comando della distribuzione utilizzata per installare pacchetti.
b) L'orizzonte degli eventi
Il demone acpid non fa altro che mettersi in ascolto di cio' che avviene in un file (/proc/acpi/event),
eseguendo dei programmi appositi ogni volta che si presenta un particolare "evento", in relazione agli
accadimenti gestibili da ACPI: inserimento o estrazione della batteria, collegamento o scollegamento
dell'alimentatore, pressione del pulsante di accensione del portatile e cosi via.
Vediamo come interpretare questi messaggi.
Innanzitutto, disattiviamo momentaneamente acpid, cosi da impedire comportamenti accidentali (ad esempio,
comunemente questo demone viene configurato di default per fare uno shutdown (arresto del sistema) non
appena si preme il tasto di accensione, cosa non proprio indicata se vogliamo soltanto far esperimenti con
l'ACPI:
A questo punto, in un terminale scriviamo:
Ora non ci resta che fare tutte le prove del caso, partendo magari dal classico inserimento della batteria
nel portatile e segnando da qualche parte i risultati che compaiono via via sullo schermo. Ma a cosa puo'
servirci tutto questo? E' sufficiente portare un esempio: su alcuni portatili, l'ACPI ha un fastidioso
bug che fa alzare la temperatura della CPU non appena si inserisce o si toglie "a caldo" la batteria
oppure il cavo per l'alimentatore; la soluzione e' in un piccolo script da richiamare al momento del
bisogno.
Piuttosto che eseguire ogni volta lo script, ovviamente, sarebbe molto più comodo poterlo far richiamare
in automatico per tutte le occorrenze del problema. Ecco come fare: la directory /etc/acpi/events
contiene un file per ogni evento ACPI, la cui struttura e' la seguente:
event=nome_evento
action=file_da_eseguire
|
Nel caso in esame, il nostro file /etc/acpi/events/acpi_bug e' composto dalle due righe:
event=processor
action=/etc/acpi/acpi_bug.sh
|
L'evento "processor" e' stato ricavato dalla lettura di /proc/acpi/event ed intercorre ogni qual volta nel
portatile vengono inserite o tolte batteria o alimentatore mentre /etc/acpi/acpi_bug.sh contiene
semplicemente il richiamo allo script di correzione del bug. In modo simile, e' possibile stabilire quali
accorgimenti prendere nel caso si chiuda o si riapra il monitor del laptop (solitamente, si tratta
dell'evento "button[ /]lid"),oppure si prema il tasto di accensione ("button[ /]power").
c) Sospensione e sleep del portatile
Una funzione estremamente comoda nell'uso quotidiano di un laptop e' quella della cosiddetta "sospensione
su disco": invece di spegnere direttamente il computer, si crea una copia della memoria su disco rigido,
copia che viene letta alla successiva accensione, con relativo ripristino della sessione di lavoro
precedente; il beneficio di tutto cio' e',chiaramente, quello di un riavvio più veloce della macchina, con
in più la praticita' di avere il nostro computer nello stato esatto in cui l'avevamo lasciato. Per poter
sfruttare il Software Suspend (swsusp) attualmente presente nei sorgenti del kernel, e' necessario far uso
di una partizione di swap come "deposito" per i nostri dati; innanzitutto assicuriamoci di avere a
disposizione un'area di swap di almeno il 30% più grande del nostro quantitativo di ram. Ad esempio, con
256MB di ram sara' consigliabile esser provvisti di una swap di almeno 330MB.
Quindi, nel caso in cui il nostro kernel non abbia il swsusp abilitato,sara' necessario provvedere ad
aggiungere questa funzione. Lanciamo "make menuconfig" (o la relativa versione grafica), quindi entriamo
nella sezione "Power management options (ACPI, APM)" del menu principale e selezioniamo le voci "Power
Management support" e "Software Suspend" e ricompiliamo il kernel. Fatto cio', non resta altro che istruire
il nostro boot loader (grub o lilo), indicando la partizione da cui fare il resume dei dati di sistema;
per ottenere questo e' sufficiente aggiungere ai parametri del kernel "resume=/dev/hda2" (/dev/hda2 e' la
nostra partizione di swap). Se utilizziamo grub una entry adatta sara' , percio', simile alla
seguente:
title kernel 2.6.8.1-3-k7
root (hd0,0)
kernel /boot/vmlinuz-2.6.8.1-3-k7 root=/dev/hda1 ro resume=/dev/hda2
initrd /boot/initrd.img-2.6.8.1-3-k7
savedefault
boot
|
Ma come sospendere effettivamente la macchina? Possiamo farlo a mano? (dando da root il comando "echo 4 >
/proc/acpi/sleep"), ma la scelta migliore e' certamente quella di utilizzare lo script suspend.sh. Vista
la delicatezza dell'operazione e visto che alcune parti del nostro sistema possono non reagire
correttamente alla sospensione, e' consigliabile fare qualche esperimento e stabilire adeguatamente quali
moduli e quali servizi fermare durante il processo e poi riavviare una volta che il sistema viene fatto
ripartire. Si parla, invece, di "sleep" (stato di riposo, letteralmente) quando il sistema e le
periferiche vengono poste in un regime di bassa alimentazione e lo stato della macchina salvato in
memoria; purtroppo, la gestione dello sleep sotto ACPI e' ancora in stato ampiamente sperimentale ed e'
molto probabile che sul nostro portatile esso non funzioni o, peggio ancora, non permetta il corretto
"risveglio" della macchina (del resto, la stessa documentazione del kernel e' molto chiara in merito visto
che consiglia, senza troppi giri di parole, di abilitarlo solo nel caso in cui si partecipi allo sviluppo
dei driver stessi). Detto cio', se proprio vi sentite temerari, per far uso di questa funzione sara'
sufficiente abilitare il relativo modulo nel kernel ("Sleep States", da Power management options, ACPI
Support) e battere sulla tastiera, dopo la necessaria ricompilazione, "echo 1 > /proc/acpi /sleep".
d) Cambiare la frequenza della cpu
Come e' noto, uno dei componenti che maggiormente consumano la preziosa carica della batteria e' il
processore; negli ultimi anni, con lo sviluppo di CPU sempre più veloci ed avide di energia, sono stati
escogitati, per ridurre il problema, alcuni stratagemmi. Quello più importante consiste nella gestione
dinamica della velocita' della CPU: la politica comune e' quella di avere una velocita' bassa di base ed
aumentarla via via che le richieste di carico si fanno più pesanti. Per ottenere questo e' necessario
avere abilitato nel kernel il CPU Frequency scaling (cpufreq); nel caso si utilizzi una distribuzione
recente ed il suo kernel "prefabbricato", e' molto probabile che lo si abbia installato come modulo; in
tale evenienza, bastera' aggiungere in /etc/modules il nome del modulo adatto, a seconda della famiglia
di CPU utilizzata; ad esempio, se si possiede un AMD Athlon K7, si dovra' inserire il modulo chiamato
powernow-k7, e cosi via. Se il nostro kernel non ha il supporto per il cpufreq, bisogna ricompilare.
La sezione che ci interessa e', di nuovo, "Power management options (ACPI, APM)": entriamo in "CPU
Frequency scaling" e selezioniamo:
[*] CPU Frequency scaling
'powersave' governor
'userspace' governor for userspace frequency scaling
CPU frequency table helpers
|
Quindi scegliamo il modulo adatto al nostro microprocessore.. ad esempio:
AMD Mobile Athlon/Duron PowerNow!
Una volta ricompilato ed installato il nuovo kernel, per cambiare la frequenza corrente bastera' fornire
il valore desiderato ad un file; per abbassare la velocita' fino a 600 MHz si dovra' quindi
scrivere:
echo 600000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed
|
E' possibile, inoltre, automatizzare il cambio di frequenza con dei programmi appositi; fra questi vi
consiglio powernowd. Questo software si basa esclusivamente sul carico del processore e, nella
configurazione di default, permette di passare immediatamente alla frequenza più alta non appena il
carico tocca l'80%, scemando pian piano la velocita' non appena si giunge sotto la soglia del 20%.
:)
9. Configurazione l'audio con ALSA
Come prima cosa da effettuare apriamo un terminale (eterm,aterm,rxvt,ecc), ed
eseguiamo /etc/init.d/alsa-utils stop per disattivare il server sonoro, e subito
dopo con alsaconf per accedere al programma di configurazione.
Alsa cerchera' la scheda audio presente nel vostro PC.
Dopo averla identificata possiamo scegliere il modulo da caricare,vale anche per
quelle ISA, dopo aver caricati il kodulo apparira' un messaggio per chiedere se
modificare il file /etc/modprobe.conf,e dopo un altro per confermare la fine
dell'operazione.
Penne USB
Pen Drive letteralmente ha il significato di disco-penna, e' un dispositivo di
memoria di massa basato su celle di memoria "Flash", piu' semplicemente di un
dispositivo EEPROM collegato a una porta usb.
Dopo aver spiegato il significato di pen Drive passiamo al suo funzionamento e
al suo utilizzo :
In anzi tutto apriamo un terminal (konsole,eterm,aterm.. ) dopo logghiamoci come
root,inseriamo ora, la penna-sub ed eseguiamo i seguenti comandi:
cd /mnt (ci spostiamo nella directory /mnt)
mkdir penna (creiamo in /mnt la directory penna)
mount /dev/sdb1 /mnt/penna (montiamo la penna-usb su /mnt/penna)
cp nome_file /mnt/penna (copiare un file nella directory /penna)
umount /dev/sdb1 (smontiamo la penna-usb).
Hard disk esterno :
L'hard disk o disco rigido e' un dispositivo utilizzato per la memorizzazione di
dati,nel nostro caso tratteremo l'utilizzo di un hard disk esterno. In anzi
tutto apriamo un terminal (konsole,eterm,aterm.. ) dopo logghiamoci come root,inseriamo
ora,hard disk esterno ed eseguiamo i seguenti comandi:
cd /mnt (ci spostiamo nella directory /mnt)
mkdir hd (creiamo in /mnt la directory hd)
mount /dev/sda1 /mnt/hd (montiamo hard disk su /mnt/hd)
cp nome_file /mnt/hd (copiare un file nella directory /hd)
umount /dev/sda1 (smontiamo hard disk).
Utilizzo di un Cd-Rom :
Il CD-ROM e' un dispositivo di memorizzazione digitale , l'unita' cd-rom invece
è un dispositivo che ci permette solo la lettura.
Le unità CD-ROM comuni:
* Unità CD-ROM SCSI
(Da CD_ROM HOWTO) Qualsiasi unità CD-ROM SCSI con una dimensione di blocco di
512 o 2048 byte dovrebbe funzionare con Linux. Questa caratteristica è inclusa
nella maggior parte delle unità CD-ROM sul mercato.
* Unità CD-ROM EIDE (ATAPI) (IDECD)
Sono supportate quasi tutte le unità a velocità doppia, quadrupla e sestupla,
incluse
o Mitsumi FX400
o Nec-260
o Sony 55E
Le unità CD-ROM proprietarie:
* Aztech CDA268-01A, Orchid CDS-3110, Okano/Wearnes CDD-110, Conrad TXC, CyCDROM
CR520ie/CR540ie/CR940ie (AZTCD)
* Creative Labs CD-200(F) (SBPCD)
* Funai E2550UA/MK4015 (SBPCD)
* GoldStar R420 (GSCD)
* Kotobuki (SBPCD)
* Lasermate CR328A (OPTCD)
* LMS Philips CM 206 (CM206)
* Longshine LCS-7260 (SBPCD)
* Matsushita/Panasonic CR-521/522/523/562/563 (SBPCD)
* MicroSolutions Backpack, portdrive parallela (BPCD)
* Mitsumi CR DC LU05S (MCD/MCDX)
* Mitsumi FX001D/F (MCD/MCDX)
* Optics Storage Dolphin 8000AT (OPTCD)
* Sanyo CDR-H94A (SJCD)
* Sony CDU31A/CDU33A (CDU31A)
* Sony CDU-510/CDU-515 (SOMYCD535)
* Sony CDU-535/CDU-531 (SONYCD535)
* Teac CD-55A SuperQuad (SBPCD)
Tutte le unità CD-ROM dovrebbero funzionare in modo simile per la lettura dei
dati. Esistono numerosi problemi di compatibilità con le utilità di riproduzione
dei CD. (in particolare con le unita' NEC).
Passiamo alla praticita':
In anzi tutto apriamo un terminal (konsole,eterm,aterm.. ) dopo logghiamoci come
root,inseriamo ora,il cd-rom ed eseguiamo i seguenti comandi:
cd /mnt (ci spostiamo nella directory /mnt)
mkdir hd (creiamo in /mnt la directory cdrom)
mount /dev/hdc /mnt/cdrom (montiamo il cd-rom su /mnt/cdrom)
ls /mnt/cdrom (per vedere il contenuto dei dati nel cdrom)
umount /mnt/cdrom (smontiamo il cdrom)
oppure
eject (smontiamo il cdrom).
Come si arresta un processo o un'applicazione bloccata?
Quando un'applicazione non ne vuole proprio sapere di sbloccarsi l'unico rimedio
e' ucciderla o killarla.
Sono disponibili strumentisuia grafici (Xkill) e sia da riga di comandocome kill.
Per terminare un applicazione o un processo bloccato,come prima cosa e'
neccessario visualizzare i processi attivi con il comando
ps -ax
oppure
ps aux |grep nome-processo o applicazione
dopodiche' basta individuare il PID associato alla applicazione bloccata ed
eseguire
kill PID
oppure
kill -9 pid_dell'applicazione
L'opzione -9 indica il segnale SIGKILL, per ottenere l'elenco dei possibili
segnali da individuare basta eseguire kill -1
In casi particolaro puo' essere utilizzato il comando fuser, per esempio per il
CD,il floppy,la penna USB,ecc.
fuser -v /dev/cdrom (individua il processo che occupa il cdrom)
fuser -k /dev/cdrom (invia un segnale di kill al processo e lo termina).
Come si verifica se ci sono settori danneggiati sul disco?
Di questo compito si occupa il comando fsck e le sue numerosi varianti,a secondo
del file system utilizzato dalla partizione da controllare.
Ad esempio per esaminare una partizione con file system Ext3 bisogna eseguire:
fsck.ext3 -c /dev/hdaX (dove hda indica il disco e X il numero della partizione)
Per visualizzare tutti i comandi disponibili per gli altri file system basta
digitare fsck e premere il tasto tabulazione.
Backup e controllo dell'MBR :
Per fa si di creare una copia di backup nell'MBR (Master Boot Record), il
settore di avvio del hd dove viene installato il boot loader e archiviata la
tabella delle partizioni,
il metodo piu' semplice e' utilizzare il comando dd, con questo tool e'
possibile salvare il contenuto dei primi 512 byte del disco (l'MBR appunto) in
un file:
dd if=dev/hda of=MBR.img bs=512 count=1
In questo caso l'intero MBT e' stato salvato nel file MBR.img
Qundi per controllare il contenuto eseguiamo: od -xa MBR.img
cosi se MBR dovesse risultare corrotto e non piu' funzionante lo si puo'
rispristinare con :
dd if= MBR.img of=/dev/hda bs=512 count=1
Ringraziamenti:
Questa miniguida su Linux e' stata realizzata da Captain captain[at]hackroom[dot]org
con l'ausilio di alcuni componenti del progetto hackroom...
ringrazio SDNS per le correzioni del lavoro...
un ringraziamento va' a DiOne per averla messa in formato html nel sito...
e un immancabile grazie a Tidus che ha partecipato con me alla stesura di questa guida
(spero abbiate imparato qualcosa di utile... in questo magnifico mondo GNU/Linux)
|
|