Scarica questo libro nel formato PDF

Transcript

Scarica questo libro nel formato PDF
Linux per Principianti
Il computer ed il sistema
operativo
Il computer
ed
il sistema operativo
Il computer si sta diffondendo sempre di più nella vita quotidiana di tutti noi come uno
strumento indispensabile. Infatti, oltre che aiutarci in quasi ogni lavoro immaginabile,
sembra che sia un oggetto che permette di divertirci (pensate ai videogiochi, ai filmati
multimediali, alla musica in formato digitale, alle chat), di comunicare (è inutile soffermarsi
retoricamente sull’impatto di internet nei contatti personali), e persino di risolvere piccoli e
grandi problemi quotidiani (prenotare biglietti vari, trovare offerte speciali, scoprire notizie
che ci interessano).
Ci proponiamo di darne una visione più ampia durante questo corso, che rimarrà sempre
ad un livello da principiante, per mettere in risalto gli aspetti più elementari del sistema del
pinguino. Speriamo comunque di non tralasciare nulla che possa invogliare a passare da
principiante ad esperto.
Ma cosa rende possibile tutto ciò? Ed i personal computer di oggi sono davvero tanto
differenti da quelli di dieci anni fa, con cui a malapena si potevano scrivere lettere dai
caratteri squadrati, con figure di scarsa qualità?
Il computer è composto di processore, che ha il compito di eseguire delle istruzioni su dati
(per esempio addizioni, sottrazioni, etc) e memoria, in cui le stesse istruzioni (insieme ai
dati su cui devono operare) sono memorizzate. In teoria, niente altro è necessario per
computare, anche se la dimensione della memoria pone un serio limite a ciò che può
venirvi immagazzinato. Per questa ragione sono stati introdotti i dischi, con capacità
elevate (al giorno d'oggi è possibile comprare dischi da quasi 100 gigabytes a prezzi
contenuti).
Agli albori del calcolo elettronico dunque gli scienziati (che usavano in condivisione dei
calcolatori gestiti da apposite strutture di ricerca) sapevano che processore avevano a
disposizione, quali erano i comandi per l'accesso in memoria, e codificavano i loro
programmi (cioè sequenze di istruzioni per il calcolo di funzioni più o meno complesse)
per essere eseguiti su quella specifica macchina. Cambiare luogo di ricerca poteva voler
dire dover riscrivere completamente i programmi se ne avevano bisogno di nuovo.
Inoltre, poichè sono stati messi in commercio più tipi di dischi, ognuno che metteva a
disposizione comandi un po' diversi, erano costretti ad imparare il linguaggio che ogni
disco che potevano usare parlava.
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
1
Linux per Principianti
Il computer ed il sistema
operativo
Ciò ha giustificato studi sui primi studi sulla possibilità di realizzare degli interpreti, che
qualsiasi hardware avessero da gestire, offrissero agli utenti gli stessi comando.
Nel caso di dischi, volendosi tenere a livelli davvero bassi, è sufficiente offrire un comando
di scrittura ed uno di lettura, e gestire la possibilità che il disco usato sia uno piuttosto che
un altro nel sistema operativo (l'interprete stesso).
Questo è stato solo il punto di partenza di un insieme di successi che ha aiutato la
diffusione del computer tra persone che mai avrebbero pensato di usare una macchia
creata per elaborare istruzioni matematiche il più velocemente possibile.
Avuta la prima astrazione del disco, che poteva essere visto come un pezzo
assolutamente standard, che non cambiava a seconda di chi lo produceva, si è iniziato a
pensare ad altre generalizzazioni che avrebbero reso possibile la vita all'utente. Infatti, per
gestire i dati era necessario cercare una porzione vuota del disco, ricordarsi quale era, ed
usarla per leggere e per scrivere. E' stato quindi introdotto il concetto di file system:
esattamente come quando in un ufficio consegnamo dei documenti è il personale ad
occuparsi di archiviarli e ritrovarli quando necessario (cosa che in Italia non sempre
funziona senza intoppi), era possibile pensare ad un ulteriore astrazione del disco come un
sistema per l'archiviazione di files, identificati da un nome (in genere più facile da ricordare
e più significativo per l'utente che dei numeri). Quando si vogliono scrivere dei dati, è
sufficiente chiedere al sistema operativo di aprire un nuovo file con un certo nome. A
questo punto è lui a dover controllare dove c'è dello spazio libero, occuparlo, e ricordarsi
che il file con quel nome è proprio lì, scrivendosi per esempio una tabella, che ad ogni
nome di file presente associa le posizioni che occupa sul disco. Per leggere un file, è
sufficiente chiedere al sistema operativo per nome, delegando a lui la consultazione della
tabella e del disco.
La semplificazione diventa ancora più drammatica se si pensa che, contestualmente
all'invenzione dei personal computer, cioè di computer dalla potenza di calcolo non
favolosa rispetto ai limiti tecnologici del momento, ma più che sufficiente per una persona
normale (cioè che non ha bisogno di fare calcoli quali per esempio traiettorie di sistemi di
meteoriti nei prossimi decenni). Sono stati introdotte infatti migliaia di periferiche con le
più svariate funzionalità: monitor, stampanti, videocamere, schede audio, scanner, mouse,
solo per citarne alcune tipologie), ognuno parlante un diverso linguaggio. Sarebbe davvero
improponibile per chi scrive un programma come un lettore di files musicali dover gestire
tutti i possibili dischi e tutte le possibili schede audio!!
Introducendo un unico custode della parte fisica della macchina, si ha che da un lato
questo può agire da interprete tra i programmi ed il computer, rendendo la vita agli
sviluppatori di software più facile, ed inoltre ne consente un uso condiviso. Ogni
programma chiede al sistema operativo di essere eseguito e di usare determinate risorse,
e questo permette al sistema operativo di eseguire più programmi insieme, un pezzettino
per volta (sfruttando il fatto che il processore è talmente veloce che dedicando alcuni
millisecondi ad ogni programma l'utente non nota la differenza), e concendendo le risorse
un po' ad ognuno: immaginatevi che succederebbe se un unico programma potesse
scrivere a video finchè non temina!
In Figura 1 è possibile vedere in modo molto schematico la struttura di un generico
sistema operativo: questo è un cuscinetto che ingloba un computer qualsiasi, e permette
alle applicazioni di vedere un'astrazione dello stesso, composta da servizi standard quali
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
2
Linux per Principianti
Il computer ed il sistema
operativo
disco, stampante, etc. Ad un'applicazione come un word processor (e a chi la scrive,
ovviamente) è sufficiente conoscere le chiamate che il sistema operativo mette a
disposizione per scrivere su disco, per accedere alla memoria, per mandare testo ed
immagini ad una stampante e per stampare a video.
Fig.1: struttura di un sistema operativo generico
Qual'è dunque la necessità di avere diversi sistemi operativi, se il loro scopo è quello di
dare una visione uniforme di una macchina eterogenea in potenza?
Prima di tutto ci sono necessità economiche. La Microsoft ha avuto un grande successo
perchè ha offerto un prodotto dal costo contenuto che potesse essere commerciato con i
primi personal computer, senza offrire nulla più di un filesystem e di un supporto minimo
all'esecuzione di programmi (mentre il costoso Unix offriva quanto di più all'avanguardia
possibile per l'epoca, su macchine di ben altro livello). Linux ha un grande futuro di fronte
grazie al suo essere free: più diventerà stabile e conosciuto, e più sarà conveniente per
aziende ed enti pubblici investire su questo sistema operativo.
Inoltre, ogni sistema operativo cura più alcuni aspetti a scapito di altri. MacOS, per
esempio, ha sempre vantato un'usabilità senza pari (affermazione assolutamente
criticabile), puntando però su un solo tipo di macchina (i computer Apple), ed eliminando
molti problemi legati alla presenza di hardware assolutamente eterogeneo. Linux si rivolge,
in principio, ad utenti più "smaliziati" del normale, che hanno voglia di conoscere un po'
meglio il computer e la rete, e che magari hanno voglia di essere coinvolti direttamente nel
suo sviluppo.
Ma le verità assolutamente non esistono, ed in principio Windows può essere più semplice
da usare di MacOS per qualcuno, come Linux può essere ormai installato ed usato anche
da totali profani dell'informatica, grazie ad interfacce grafiche che, volendo, emulano alla
perfezione quelle del sistema Microsoft.
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
3
Linux per Principianti
Il computer ed il sistema
operativo
In sintesi, ogni utente dovrebbe scegliere il sistema operativo che più lo soddisfa fidandosi
dell'esperienza propria e di altri. Non esiste la scelta migliore in assoluto, ma sicuramente
esiste una scelta ottimale per ognuno.
Linux è un sistema operativo orientato alle reti che punta ad un efficiente utilizzo del
computer. E' nato sotto una filosofia rivoluzionaria (di cui parleremo nella prossima lezione)
che predica la libera diffusione e la mancanza di segreti industriali sui programmi, ed è
aperto a tutti: ognuno è libero di riscriverne delle parti a suo piacimento, o di farle riscrivere
a qualcuno qualora non ne avesse le possibilità ma ne avesse bisogno. Allo stato attuale è
competitivo con i sistemi Microsoft, è corredato di software per tutte le necessità, e sta
diventando molto famoso ed usato.
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
4
Linux per Principianti
Un’introduzione
Un’introduzione
E' secondo me inoltre poco etico farsi pagare per dei programmi di cui non si garantisce il corretto
funzionamento (basta leggere i contratti distribuiti con ogni programma per trovare la clausola in cui
la società declina ogni responsabilità per incorretto funzionamento del software, impegnandosi al
più in assistenza). Immaginatevi se l'ingegnere, prima di consegnare un ponte, ci facesse firmare una
declinazione di responsabilità per un suo eventuale crollo causato dalla brezza marina!
In questa lezione analizzeremo come si pone Linux nel mondo dei sistemi operativi, partendo dalla
sua storia (solo alcune nozioni spicciole) ed arrivando agli ultimi sviluppi, puntando il dito su tutti
gli aspetti che lo rendono innovativo ed estremamente usabile.
In principio era Unix (che come ogni padre degli dei aveva a sua volta un importante genitore,
chiamato MULTICS, che verrà da lui ucciso, ed alcuni oppositori che non riusciranno mai davvero
a strappargli il potere).
La storica prima versione di Unix è stata creata nei Bell Labs, un dipartimento dell'AT&T, nel
lontano 1969 (trenta anni in informatica corrispondono a diverse ere geologiche nella storia della
terra), ed era uno strumento orientato alla ricerca scientifica che doveva permettere l'accesso di più
utenti ad una stessa macchina. Era stato scritto interamente in assembler (cioè un linguaggio molto
vicino a quello della macchina su cui doveva funzionare), e non poteva essere usato per questo
motivo su tutti i computer presenti ai Bell Labs. Nel 1973 vide la luce la mitica quinta edizione di
Unix, scritta in un linguaggio nuovo e rivoluzionario per l'epoca: il C. Ciò permise di portare il
sistema operativo virtualmente su tutte le macchine con piccole modifiche al codice, e diede il via
alla diffusione di Unix in tutto il mondo scientifico ed industriale.
Unix ha continuato ad evolversi seguendo la ricerca nel campo dei sistemi operativi, con alcune
scissioni che hanno portato a differenti versioni del sistema contemporaneamente sul mercato, ma è
sempre rimasto un sistema operativo orientato ad utenti di un certo livello che avessero accesso a
computer molto potenti (relativamente all'epoca) e sofisticati.
Negli anni '80 arrivarono due fattori a cambiare le carte in tavola.
Da una parte la rivoluzione dei personal computers: IBM lanciò una serie di microcomputer dalla
modestissima potenza, ma dal costo sufficientemente contenuto da poter essere affrontato da piccole
imprese e da famiglie benestanti. Serviva ovviamente un sistema operativo semplice abbastanza da
poter essere eseguito su queste macchine, e dal costo ugualmente contenuto. La gara per la
produzione di tale sistema operativo fu vinto da una piccolissima azienda americana chiamata
Microsoft, con un programma chiamato DOS (Disk Operative System), che innescò una storia che
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
1
Linux per Principianti
Un’introduzione
arriva fino ai Windows XP/2000/NT dei giorni nostri.
Dall'altra parte, un'associazione americana chiamata GNU (GNU's Not Unix, un gioco di parole
ricorsivo), il cui manifesto è opera di Richard Stallman, denunciava il fatto che tutto il software
esistente era proprietario o, in parole povere, interamente in mano a chi lo produceva, che si
guardava bene dal rivelarne il codice sorgente, in modo da evitare che altre persone potessero
migliorare i programmi o adattarli ai loro scopi senza interpellare gli stessi autori, che ovviamente
volevano essere ben remunerati per il loro lavoro. Lo scopo della GNU era dunque di mettere a
disposizione dell'umanità dei programmi "free", cioè dal codice pubblico e liberamente
rintracciabile sulla rete. Un'idea rivoluzionaria, che ha portato grandissimi programmatori ad
impegnarsi nella realizzazione di software di ottimo livello gratuitamente. In questo periodo sono
nati moltissimi programmi oggi di comunissimo uso sia in ambito Unix/Linux che (un po' meno)
Windows.
Era quello un periodo chiamato delle cattedrali: pochi grandissimi capimastri si riunivano e
progettavano dei software mastodontici di grande innovazione, senza aiuti dall'esterno. Ma poi
lasciavano che chiunque usasse il loro software liberamente, ne conoscesse i segreti e lo potesse
cambiare a proprio piacimento.
Agli inizi degli anni '90 dunque c'erano principalmente due grandi attori sulla scena: Unix corredato
da una serie di programmi "free" sempre migliori e più completi, che garantiva prestazioni di tutto
rispetto, ma su macchine di un certo tipo (non acquistabili da chiunque), e Microsoft con il suo
DOS, che girava su macchine quasi giocattolo (compatte alla realtà tecnologica del tempo), e che
non garantiva niente più dei servizi di base, ma ad un costo piuttosto ridotto.
L'accelerazione nello sviluppo tecnologico e la diffusione di Internet hanno quindi avuto un ruolo
determinante nello sviluppo degli eventi. Il primo fattore ha permesso di iniziare a pensare la
creazione di sistemi operativi "seri" anche per personal computer, mentre il secondo ha reso
possibile la circolazione e lo scambio di idee su vasta scala ad una velocità sino a quel momento
impensabile.
Nel 1991 infatti un ventunenne finlandese di nome Linus Torvalds scrisse su un newsgroup di utenti
Minix (una versione "free" di Unix, ma dalle limitatissime funzionalità) che stava iniziando a
scrivere un sistema operativo completo "free", e chiedeva suggerimenti ed aiuti. E' l'atto ufficiale di
nascita di Linux, che da allora ha avuto uno sviluppo impensabile al principio, e che già dopo
pochissimi anni era usabile da utenti esperti, e continuava a migliorare sensibilmente. Proprio Linux
ha portato ad un nuovo sistema di sviluppo software, evoluzione di quello delle cattedrali, chiamato
di tipo bazaar. Un gruppo di programmatori inizia un progetto, ma chiunque ne abbia la voglia e le
capacità può liberamente inserirsi nel progetto e contribuire, in modo del tutto trasparente. Inutile
dire che ciò ha portato ad un'accelerazione impensabile nello sviluppo dei programmi, ma
soprattutto nel loro miglioramento: se un utente trova un errore, e può correggerlo, lo fa,
pubblicando poi la correzione, altrimenti segnala il problema e qualcuno se ne occuperà al più
presto.
La Microsoft intanto non stava a guardare, e nel 1995 presentò il sistema operativo Windows 95,
che cominciava ad avere caratteristiche di tutto rispetto (ma pur sempre arretrate rispetto a Unix, ed
in alcuni casi anche del giovane Linux), e che è stato un successo commerciale incredibile (ma
prevedibile, vista la situazione di quasi monopolio e gli investimenti fatti in pubblicità).
A questo punto, conclusa questa piccola ed incompleta parentesi di storia, è possibile fare alcune
considerazioni per meglio comprendere le caratteristiche di Linux, visto che è sempre bene pensare
a cosa un sistema operativo offra prima di installarlo.
Linux è nato quando la tecnologia dei personal computer era piuttosto matura, ed è quindi nato già
corredato di importanti caratteristiche quali la possibilità di eseguire più programmi allo stesso
tempo (DOS non la prevedeva, e le prime versioni di Windows 95 non erano certo impeccabili sotto
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
2
Linux per Principianti
Un’introduzione
questo aspetto). Dunque ha un'eccellente gestione dei "processi", che permette di far partire i
programmi, e di terminarli qualora diano dei programmi. E' quasi impensabile che l'intero sistema
operativo si blocchi, lasciando come unica opzione lo spegnimento della macchina (sono invece
tristemente famose le schermate blu dei ari Windows, e lo stesso XP tanto decantato non ne è del
tutto libero).
Linux inoltre è nato su Internet, e dunque ha come parte integrante la gestione della rete. Anche a
noi utenti umani, sensibilmente più lenti delle macchine e delle trasmissioni su rete, è possibile
notare delle differenze quando si usa Linux piuttosto che sistemi della Microsoft!
Il sistema a bazaar consente inoltre una diffusione delle informazioni impensabile in altri ambiti: è
pur vero che le case produttrici di hardware forniscono assistenza solo per Windows (anche se le
cose stanno gradualmente cambiando), ma lo fanno a pagamento. In ambiente Linux invece esistono
migliaia di forum per gli utenti di qualsiasi programma (e dello stesso sistema operativo), milioni di
pagine su come fare qualsiasi cosa (gli HOWTO, di cui parleremo in una prossima lezione), e
moltissimi utenti che sono disponibilissimi ad aiutare con la loro esperienza chiunque abbia un
problema che loro possano risolvere.
Ed il tutto assolutamente GRATIS!
Fino a poco tempo fa Linux era un po' inaccessibile ai profani: era difficile installarlo, e non si
trovavano alcuni programmi di largo uso, mentre il fiore all'occhiello di Microsoft era la presenza di
un'interfaccia grafica a loro dire intuitiva, e l'esistenza di software rivolto a tutte le necessità: dai
giochi ai programmi di design professionali. Ciò è causato dalle diverse strade seguite: mentre in
Linux si è cercato di avere un sistema operativo stabile ed efficiente, che ora sta diventando anche
bello e facile da usare, la Microsoft ha puntato ad un programma bello da usare, che sta cercando
ora di rendere stabile.
Bisogna inoltre sfatare il mito che chi produca programmi per Linux non possa fare soldi. Esistono
numerosissime società quotate in borsa che lavorano esclusivamente con Linux, e grosse aziende
come IBM ed Apple usano sempre di più spftware "free". Infatti è vero che un software free deve
essere messo a disposizione gratuitamente e liberamente, ma niente vieta di venire pagati per la sua
prima creazione, per fornire assistenza professionale, per la creazione di modifiche necessarie, per
esempio, ad un'azienda (che poi non è tenuta a pubblicarle, purchè non le rivenda), o per la
creazione di manuali.
Abbiamo visto nella precedente lezione cosa sia in principio un sistema operativo e perché sia tanto
utile. E' stato inoltre chiarito come la presenza di più tipologie di sistema operativo nasca dalla
necesità di rispondere a diverse esigenze di diverse classi di utenti.
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
3
Linux per Principianti
Interfacce Grafiche
Interfacce Grafiche
Dalle precedenti lezioni dovrebbe essere chiaro che la parte grafica di un sistema
operativo non è altro che un programma che usa il sistema operativo stesso, esportandone
le funzionalità agli utenti umani in un modo meno asettico.
Windows ha da sempre nascosto questo aspetto, offrendo un'interfaccia grafica unica (al
più personalizzabile con i cosiddetti "temi") assolutamente indistricabile dal sistema stesso.
Ciò offre un vantaggio sulle prestazioni grafiche: il programma è più vicino al sistema
operativo in quanto ne fa parte, ed è molto più facile per i programmi accedere alle risorse
di grafica (ecco perché è un sistema più adatto ai videogiochi), ma d'altra parte offre un
grande punto di instabilità al sistema operativo: se la gestione grafica dovesse impazzire
per qualche motivo, non si può che spegnere il computer e partire di nuovo.
Linux invece è nato come sistema operativo testuale (basato cioè su "shell", su cui
torneremo nelle prossime lezioni), ed in parallelo è stato sviluppato (o meglio "portato" da
Unix) l'interfaccia grafica XFree. Questa parte come un vero e proprio programma (anche
se è possibile farla partire automaticamente come primo programma, dando l'illusione che
faccia parte del sistema stesso), e se per caso si bloccasse (evento assolutamente raro)
può essere terminata e fatta ripartire da una consolle testuale, senza riavviare la
macchina.
Anche se di fatto XFree86 è l'unica interfaccia gafica di Linux, in principio è possibile
scriverne una nuova qualora si abbiano delle idee innovative. Inoltre è scritta in modo da
offrire solo dei servizi basici essenziali, quali il disegno di finestre senza ornamenti e la
stampa a video di immagini. Tutto il resto è delegato a programmi di livello superiore,
lasciando aperta la strada a gestioni del Desktop e delle finestre davvero diverse tra loro.
XFree86, nella sua versione di base, può essere ammirato nella seguente immagine:
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
1
Linux per Principianti
Interfacce Grafiche
Si può vedere (a malapena, ad essere sinceri) una finestra contenente una "shell", da cui
si possono eseguire tutti i programmi (come netscape, il cliente di posta, etc), due icone
quadrate ed orrende di due altre finestre, ed un menù che offre le funzionalità di base quali
riduzione ad icona, ingrandimento di una finestra, uscita dall'interfaccia grafica.
Nonostante possa sembrare estremamente spartana, molti utenti la usano perché molto
semplice e priva di fronzoli, ed incredibilmente rapida.
Sono nati tantissimi "windows manager", cioè programmi che abbellivano il Desktop
consentendo la gestione più efficiente di finestre, programmi e menù.
Tra questi vorrei citare fvwm per motivi storici (è stato uno dei primi), che si può ammirare
nella seguente immagine:
e per motivi estetici Window Maker (nella prossima pagina).
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
2
Linux per Principianti
Interfacce Grafiche
Ovviamente, entrambi i gestori di finestre permettono di avere dei temi differenti (ed infatti
le immagini presentate sono relative a temi di due utenti, trovati in Internet) e di
personalizzare alcune cose, anche se in modo non del tutto intuitivo (spesso bisogna
editare dei difficili file di testo contenenti le definizioni). Inoltre non offrono alcuni strumenti
quali "bidone della spazzatura" e la possibilità di aprire un file con un semplice click del
mouse (che infatti non sono servizi da window manager).
Per questo motivo si è iniziato a pensare, ormai qualche anno fa, alla realizzazione di
programmi che gestissero il Desktop, che facessero uso a loro volta dei servizi del window
manager (ma che a sua volta doveva usufruire del gestore di desktop per alcune cose).
Sono stati creati dunque i programmi GNOME e KDE.
Ancora una volta, due programmi con due diverse filosofie.
KDE sembra infatti voler avvicinarsi il più possibile ad un'interfaccia Windows, il suo scopo
primario è quello della leggerezza: è un sistema assolutamente efficiente e di semplice
utilizzo.
Windows Maker
Gnome dal canto suo è un programma estremamente solido, creato per un perfetto
funzionamento su reti, grazie all'integrazione di numerosi servizi distribuiti.
Non esiste un migliore tra i due sistemi, in quanto ognuno è diretto a diversi utenti. Per
quando inizierete ad usare Linux, il mio consiglio è di provarli entrambi per una settimana,
scegliendo poi quello che vi soddisfa di più!
Entrambi sono corredati da una lunghissima lista di programmi, che tuttavia funzionano
con entrambi (anche se offrono il meglio con il gestore di Desktop per cui sono stati
creati!).
Il capitolo si conclude con due immagini, la prima riguardante lo Gnome;
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
3
Linux per Principianti
Interfacce Grafiche
e la seconda il KDE:
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
4
Linux per Principianti
Lezione 4
Esercitazione
E' davvero difficile proporre un'esercitazione che si dovrebbe mantenere teorica e su concetti
elementari.
Per questo motivo proporrò alcuni quesiti di base, fornendo delle risposte, ed inviterò alla ricerca di
informazioni su Linux in Internet, per far scoprire quanto sia facile trovare dati su questo sistema
operativo (anche se la stragrande maggioranza sono in inglese).
Le prossime esercitazioni saranno invece pratiche, da effettuarsi su una macchina in cui Linux è
stato installato e è in procinto di essere installato.
Domande:
1) Perché un programma è legato ad un sistema operativo?
2) Come decidere se far gestire un servizio al sistema operativo, o lasciarlo ad un programma
esterno?
3) E' possibile vivere senza interfacce grafiche?
Percorsi su internet.
Internet è una vera manna per chi cerca informazioni e risoluzioni di problemi sotto Linux!
Purtroppo molte pagine di grande utilità sono in inglese, ma tra i seguenti link ne segnalo alcune
anche in italiano.
Degli ottimi punti di partenza sono il sito http://www.linux.org (inglese) e
http://www.gnu.org/home.it.html (italiano).
Esiste un'associazione italiana chiamata erLUG con un ottimo portale su Linux
(http://erlug.linux.it/)
e
delle
riflessioni
su
Linux
(italiano)
all'indirizzo
http://www.pippo.com/linux.html.
Infine, vorrei segnalare il gruppo PLUTO di utenti Linux (e non solo) all'indirizzo
http://www.pluto.linux.it/
Propongo di visitare alcuni di questi siti ed iniziare a capire qualcosa in più sul mondo Linux da
cosa ne scrivono gli altri utenti.
Dalla prossima lezione invece cominceremo ad usarlo in pratica!
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
1
Linux per Principianti
Lezione 4
Risposte:
1) Come detto nella prima lezione, il sisema operativo offre una visione astratta del computer ai
programmi (ed ai programmatori).
Ciò significa che nella scrittura di un programma ci saranno istruzioni quali: aprifile("pippo"),
scrivi("ciao","pippo"), e così via, che, al momento di tradurre il tutto in un linguaggio
comprensibile alla macchina (compilazione), saranno tradotte come invocazioni al sistema
operativo. Ovviamente diversi sistemi operativi offriranno diverse funzioni, e quindi la traduzione
delle istruzioni sarà diversa. Inoltre sarà diversa la struttura del programma, perché ogni sistema
operativo ha bisogno di diverse informazioni.
2) Non è mai facile prendere una simile decisione. Per quanto detto nelle scorse lezioni, se si vuole
che il servizio sia gestito nella maniera più efficiente possibile, allora sarà meglio inglobarlo
direttamente nel sistema operativo. Ma questo vuol dire rendere più complicato e meno gestibile il
sistema stesso (già di per se molto complesso). Un errore nella gestione del nuovo servizio potrebbe
pregiudicare tutto il resto!
Se è invece possibile rinunciare ad un po' di velocità, allora è certamente meglio lasciare che se ne
occupi un programma indipendente, che possa sbagliare senza bloccare tutto.
3) Si, ma è maledettamente difficile. Esistono programmi testuali (dunque non grafici) per tutti gli
usi possibili. Ovviamente non è possibile vedere foto ed immagini, ma è possibile manipolare
immagini (per esempio ridurle, convertirle in altri formati, ruotarle, etc) con dei semplici comandi
testuali! E' possibile navigare, leggere la posta, ascoltare la musica e scrivere testi (anche con font
differenti) con comandi testuali.
Questo non toglie che poter avere più finestre per visualizzare più cose ed un mouse che con dei
semplici click permette di aprire nuovi programmi, gestire i nostri files, cambiare programma in
primo piano, sia una cosa estremamente utile (quasi indispensabile, ormai!).
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
2
Linux per Principianti
Lezione 5
Tante distribuzione un solo
sistema operativo
Dopo il primo modulo di teoria (comunque necessaria alla migliore comprensione di cosa sia
Linux), passiamo ora alla pratica.
In effetti si para di sistema operativo Lin2-Disk Xwindow Linuxux, ma non esiste una unica
versione di questo. Forse non sono nuovi alcuni nomi quali RedHat, Mandrake, Suse: sono le
cosiddette distribuzioni.
Il sistema operativo (cioè il nucleo comprendente tutte le caratteristiche di cui si è discusso nel
primo modulo) è sempre lo stesso, ed è la base di tutte le distribuzioni. La stragrande maggioranza
dei programmi Linux (cioè tutto meno che le utilità di sistema create appositamente per una
distribuzione) girano senza nessun problema sotto qualsiasi distribuzione, in quanto usano solo i
servizi offerti da Linux.
Problemi quali la gestione dell'avvio, la gestione da parte dell'utente di hardware quali stampanti o
modem, il modo in cui i programmi vengono installati, sono stati risolti da più persone in modo
diverso, causando la nascita di più distribuzioni di Linux.
Ogni distribuzione punta alla soddisfazione di una categoria diversa di utenti Linux, e conoscendole
tutte è possibile scegliere con consapevolezza.
Una distribuzione di prova che sta prendendo sempre più piede è la DemoLinux
(http://www.demolinux.org/) . In un unico cd infatti è presente un'intera distribuzione (basata su
Mandrake nella versione 1.0, su Debian nelle successive) che è possibile usare senza installare
niente sul computer. E' sufficiente permettere il boot da cd (con un'opzione del bios a cui si accede
appena dopo l'accensione del computer), e si potrà usare tranquillamente una vastissima gamma di
programmi Linux, da sostitutivi di Office a programmi di rete (è possibile anche collegarsi, anche se
le connessioni ADSL non sono finora del tutto supportate). Una scelta eccellente per chi non è
sicuro se fare il grande salto o no, che non costringe a faticare per provare, ma che non ha
assolutamente le prestazioni e la versatilità di una verisone installata su disco fisso.Ecco come si
presenta quando viene fatta partire:
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
1
Linux per Principianti
Lezione 5
La distribuzione Redhat è sicuramente una delle più diffuse tra utenti "normali", cioè non
eccessivamente smaliziati (anche se molti esperti la preferiscono comunque alle altre). Per questo
motivo è anche una delle più facili da procurarsi (è spesso allegata a molte riviste specializzate in
Linux), ed ha moltissima documentazione al riguardo (anche se la documentazione spesso riguarda
programmi Linux usabili con qualsiasi distribuzione). Da sempre ha puntato alla facilità d'uso e
all'offerta di programmi molto efficaci per la configurazione del computer.
E' considerata la sorella della Redhat, in quanto è (o meglio era) basata su di essa. Sta ottenendo
sempre più consensi in quanto spesso più rapida della RedHat nell'offrire aggiornamenti, e dalla
grafica molto accattivante, anche se forse un po' meno stabile.
ZipSpeak
E' una distribuzione commerciale, anche se le versioni precedenti alla più recente (comunque
piuttosto attuali) sono scaricabili gratuitamente. E' molto apprezzata per la stabilità e per la grafica,
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
2
Linux per Principianti
Lezione 5
anche se non è estremamente compatibile con le altre distribuzioni.
Da molti è considerata LA distribuzione linux, perché curata direttamente dalla fondazione GNU
(quella della rivoluzione del software "free", per intenderci). E' forse meno semplice da installare e
da mantenere per un utente inesperto, e non usa i pacchetti rpm (che vedremo presto cosa siano), ma
offre comunque un interessante sistema di pacchetti per la distribuzione dei programmi, ed è molto
stabile. E' usata tantissimo in ambito universitario o sui server in Internet.
Includo con un po' di malinconia la distribuzione su cui anni or sono mi sono fatto le ossa. La
Slackware è una distribuzione basica, sicuramente meno amica degli utenti di tutte quelle presentate
finora, ma di sicuro quella che fa imparare meglio cosa sia davvero Linux. In fondo le cose si
imparano davvero solo soffrendo e sbagliando! Non la consiglierei comunque ad un nuovo utente
non eccessivamente innamorato dei sistemi operativi.
Concludo questa carrellata con un sistema non Linux. Infatti esiste anche una versione free di Unix,
chiamata FreeBSD, molto apprezzata per la sua semplicità d'uso e stabilità. Moltissimi programmi
Linux sono stati portati anche su FreeBSD, ma ovviamente i pacchetti Linux non possono essere
installati direttamente. E' interessante usarla per capire come non ci sia solo Linux oltre a Windows!
L’ultima versione del sistema operativo per i computer Apple (il Mac OS X) è basato sul freeBSD, e
ne può quindi eseguire i programmi, offrendo così una grafica davvero incredibile (se non l’avete
mai visto, vi consiglio di cercarne delle immagini su internet) insieme ad una stabilità davvero
notevole.
Le opzioni non si esauriscono con la breve lista qui presentata, ma esiste una miriade di offerte,
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
3
Linux per Principianti
Lezione 5
quotidianamente in aumento. Quelle presentate sono tuttavia le più diffuse e famose, ed un utente
principiante raramente vorrà iniziare con altre distribuzioni.
Prima di partire con l'installazione, sarà meglio dunque pensare a quale distribuzione installare. In
questo corso verrà illustrata la Redhat 8.0, ma tutto ciò che verrà detto sarà più o meno valido anche
per Mandrake, Suse e Debian (con un po' di inventiva). Io propongo comunque di provare la
DemoLinux se la si ha a disposizione, e se si ha fretta di usare i primi programmi prima ancora di
scoprire come installare il sistema.
Se si installa una distrubuzione che dopo un po' di tempo non è soddisfacente, sarà possibile
cambiare distribuzione solo con grande fatica, e solo se il disco sarà stato partizionato con criterio
(ciò verrà spiegato nella prossima lezione), in modo da preservare i dati dell'utente e da dover
formattare solo la parte contenente i programmi, che verranno in seguito installati di nuovo.
Diverso è il discorso se si vuole installare una versione più recente della stessa distribuzione: in
generale le cose dovrebbero essere molto semplici, come se si facesse un'installazione semplificata
in cui il sistema operativo non chiede quasi nulla all'utente perché va a leggere i dati sulla versione
vecchia.
Se avete la curiosità di vedere quante distribuzioni esistono attualmente, potete fare un salto
aòò'indirizzo http://www.linux.org/dist/list.html (in inglese, ma e' interessante vedere solo l'elenco
dei nomi, senza necessariamente andarsi a leggere tutte le caratteristiche di ogni distribuzione). Si
va dalla "2-Disk Xwindow Linux" alla "ZipSpeak" (specializzata per utenti non vedenti).
Quasi tutte le distribuzioni, inoltre, sono scaricabili da internet gratuitamente. Se avete una
connessione a larga banda a disposizione, è possibile dunque procurarsi l'ultima versione del Linux
desiderato senza nessun costo. Esiste un sito specializzato nell'offerta di immagini cd di Linux
all'indirizzo http://www.linuxiso.org.
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
4
Linux per Principianti
Lezione 6
Coesistenza di più sistemi operativi
sullo stesso computer
E' possibile installare Linux su un computer in cui sia già installato Windows senza creare nessun
problema. Questo perché il disco può essere diviso in zone indipendenti (chiamte partizioni, da cui
deriva il verbo partizionare), ognuna delle quali accogli un sistema operativo diverso (o una parte di
esso).
Il disco fisso è una pila di dischi di materiale magnetico sottilissimi, ognuno dei quali è logicamente
diviso in tracce (cerchi concentrici contenenti dati memorizzati), ognuna delle quali è divisa in
settori, cioè una piccola sezione contenente una quantità fissa di dati (tipici valori del contenuto di
una traccia sono 2,4 o 8 kylobytes).
La prima traccia del primo settore del disco contiene i dati su cosa deve essere fatto dal computer
una volta che questo è stato acceso e ha fatto tutti i suoi controlli (quei messaggi sulla memoria, sui
dischi ed altro che vediamo ad ogni accensione).
Normalmente c’è solo l’indirizzo della prima istruzione di Windows, a cui il computer salta,
iniziando così il caricamento del sistema operativo Microsoft. E’ tuttavia possibile mettere
l’indirizzo di un altro programma, che fa cose differenti.
In particolare siamo interessati ai programmi cosiddetti boot managers, che hanno una lista di
sistemi operativi installati nel computer (con l’informazione su quale partizione usano), e chiedono
all’utente quale deve essere eseguito ad ogni avvio.
Dunque il primo passo da fare quando si vuole installare Linux è dunque quello di partizionare il
disco, lasciando una partizione per Windows, ed un'altra (o più d'una, come si vedrà) per il Linux.
Se avete più dischi, e ne volete dedicare uno interamente a Linux, non dovrete fare quanto si dice
in seguito, ma credo sia istruttivo per tutti vedere come le partizioni vengono create e gestite.
Quanto spazio riservare per Linux? Ovviamente ciò dipende da che uso ne volete fare, ma più se ne
riserva, meglio è!
Se volete solo provarlo, allora considerate che in circa un gigabyte e settecento megabytes potrete
installare tutti i programmi di cui avete bisogno, e tutto lo spazio in più che riserverete sarà lo spazio
dove poter memorizzare i vostri dati (documenti creati, mp3, video, etc), anche se potrete usare
anche la partizione Windows, qualora questa non sia di tipo NTFS. Se avete problemi di spazio,
potete installare il sistema di base in circa 500 megabytes, ma non aspettatevi di poter provare tutti i
programmi possibili!
Direi che almeno due gygabytes e mezzo sono consigliati, ma se avete un disco capiente, non
lesinate con lo spazio e riservate almeno 5 gigabytes!
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
1
Linux per Principianti
Lezione 6
Il programma di installazione della RedHat Linux non permette di modificare la dimensione di una
partizione Windows. Inoltre, neanche i programmi per la gestione di partizioni che conosco sotto
Linux (in particolare l’ottimo parted) lo permettono in caso di partizioni NTFS (usate da Windows
XP,NT,2000), per i motivi spiegati nell’esercitazione conclusiva del primo modulo.
Vi descrivo ora due metodi che dovrebbero andare bene per qualsiasi tipo di Windows avete nel
computer, e che sono piuttosto sicuri. La sicurezza totale si ha solo facendo un backup completo del
sistema Windows, magari masterizzandolo su alcuni cd. Se non intervengono disatri naturali,
comunque, i metodi qui esposti sono decisamente indolore (io li ho praticati più volte).
Il primo metodo prevede l’uso di un programma che bisogna comprare, ma è estremamente
semplice. Il secondo, invece, prevede un software che si può scaricare, in versione di prova
completamente funzionante, del tutto gratuitamente, ed è appena più difficile.
Entrambi i programmi girano su Windows.
- Metodo #1: Partition Magic
Partition magic è un eccellente programma per la gestione di partizioni, molto semplice, intuitivo e
con una versione in Italiano.
L’unico difetto che ha è che non è gratuito (nonostante abbia un costo contenuto, per un semplice
utente), e va dunque comprato (o preso in prestito da qualche amico che lo possiede, visto che è un
programma che verrà usato solo una volta).
Lanciando il "Partition Magic", se non avete mai armeggiato con le partizioni, si vedrà il disco (o i
dischi, se ne avete più di uno) come un'unica partizione (se avete già modificato le partizioni, allora
probabilmente il discorso seguente sarà un po’ noioso).
Come si vede nella Figura 1, io ho un solo disco con un’unica partizione, di 10 Gigabytes, di tipo
NTFS (perché uso Windows XP).
Figura 1: Avvio di Partition Magic
La mia versione di Partition Magic è la 8.0, quindi forse sarà leggermente diversa da quella che
avete voi. Non temete: le operazioni che vi mostro sono possibili in tutte le versioni che ho provato!
Facendo click con il tasto destro sopra il disco (Figura 2), apparirà un menù da cui dobbiamo
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
2
Linux per Principianti
Lezione 6
scegliere la voce “Ridimensiona/Sposta” (la prima nella mia versione).
Figura 2: Primo passo
Quando apparirà il menù che vediamo in Figura 3, basterà trascinare il lato destro del rettangolo
fino ad arrivare ad un valore del campo “spazio libero dopo” che era quello che ci eravamo prefissi
(io ho riservato cinque gigabytes).
Figura 3: Ridimensionare Windows
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
3
Linux per Principianti
Lezione 6
Dando conferma, appare la nuova situazione del disco, con una partizione NTFS ed un po’ di spazio
non ancora allocato, che sarà il nostro Linux (vedi la Figura 4).
Basta confermare ancora una volta (il tasto in basso a sinistra, o il pallino verde con il segno
dell’OK in alto a destra), ed il gioco è fatto. In alcuni sistemi questa operazione può durare un
tempo abbastanza lungo, ma farà tutto il programma.
Figura 4: La nuova situazione
Premendo sul bottone "Fine", ed effttuando l'aggiornamento dalla finestra principale (nella Figura 1
è uno dei due bottoni in basso a sinistra).
Potete a questo punto partire con l'installazione di Linux veria e propria, come vedremo nella
prossima lezione.
Un'ultima curiosità: il Windows XP che vedete nelle figure allegate a questa lezione gira
interamente su una macchina Linux, in un emulatore. Impareremo nelle ultime lezioni come si può
fare, se proprio avete la necessità di eseguire un programma Windows anche sotto Linux!
- Metodo#2: Boot it NG
Se non vi potete permettere di acquistare Partition Magic, esiste un altro metodo completamente
gratuito, basato sull’uso di un programma molto piccolo (circa quattrocento kilobytes), chiamato
Boot It Next Generation, che si può trovare (in versione di prova gratuita ma perfettamente
funzionante per trenta giorni) all’indirizzo http://www.terabyteunlimited.com/bootitng.html. La
versione più recente al momento della scrittura di questo documento è la 1.42, ma anche le
successive dovrebbero andare più che bene.
Una volta scaricato il file zip contenente il programma, scompattatelo in una cartella temporanea
(che cancellerete appena completate le operazioni qui descritte), ed eseguite il file bootitng.exe.
L’esecuzione (con una grafica decisamente spartana) inizia con la richiesta di accettazione della
licenza, a cui dovrete rispondere “yes” (Figura ).
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
4
Linux per Principianti
Lezione 6
Figura 5: Avvio di bootitng.exe
A questo punto, dovrete creare un dischetto di boot (Figura 6). Disabilitate per sicurezza l’opzione
“VESA Video” (talvolta causa problemi), ed abilitate “Extended VGA”, quindi premete invio sulla
voce “Build a diskette in the A: (1.44MB) drive”. Si passa da una parte all’altra del menù premendo
il tasto TAB, e ci si muove tra le opzioni con i tasti freccia.
Figura 6: Creazione del dischetto
Vi verrà chiesto a questo punto di inserire un dischetto nel drive e di premere Enter. Inserite un
dischetto che avete già formattato, per sicurezza, e premete Invio. Al termine dell’operazione,
confermate con un altro Invio ed uscirete dal programma. Senza estrarre il dischetto dal lettore
floppy, chiudete Windows, entrate nel Bios del vostro sistema (tasto [canc] o [F2] subito dopo
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
5
Linux per Principianti
Lezione 6
l’accensione del computer), e mettete il seguente ordine di boot: A,CDROM,C. Salvate ed uscite.
Se avete fatto le cose giuste, a questo punto, invece del solito Windows, dovrebbe partire il
programma di partizionamento (Figura 7).
Figura 7: Programma di partizionamento
Qui dovete premere il tasto “Cancel”, perché non vogliamo installare il boot manager (installeremo
quello di Linux), e vi ritroverete nella parte principale del programma (Figura 8).
Premete con il mouse sull’icona “Partition Work”, ed arriverete alla schermata descritta in Figura 9.
Da qui, premendo sul tasto “Resize”, vi apparirà la mascherina mostrata in Figura 10.
Introducete la dimensione in modo che il valore di “size” (cioè la dimensione attuale del disco)
meno il valore che inserite sia la dimensione che volete lasciare per Linux. Nel mio caso, essendo il
disco di dieci gigabytes, con una nuova dimensione di cinque gigabytes, ne resteranno altri cinque
per il Linux. Confermate con il tasto “Ok” (vi verrà chiesta un’altra conferma, a cui dovete sempre
dire “Ok”), e vi apparirà la nuova situazione (Figura 11).
Premete sul tasto “Close”, e quindi sull’icona “Reboot”, dopo aver tolto il dischetto dal lettore.
Dovrebbe partire Windows senza nessun problema, ma con uno spazio su disco ridotto della
dimensione che avete riservato per Linux!
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
6
Linux per Principianti
Lezione 6
Figura 8: Boot It NG
Figura 9: Gestione delle partizioni
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
7
Linux per Principianti
Lezione 6
Figura 10: Ridimensionamento della partizione
Figura 11: La nuova situazione
Come ultima curiosità, il Windows che avete visto in queste immagini girava in una macchina
virtuale sotto Linux, come si vede dalla fotografia del mio Desktop in Figura 12!
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
8
Linux per Principianti
Lezione 6
Figura 12: Windows sotto Linux
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
9
Linux per Principianti
Lezione 7
Configurazione di base di rete
Trovato lo spazio necessario a Linux, è giunto il momento di partire con l'installazione vera e
propria!
Come già detto, se avete i cd (sono tre per la versione 8.0, ma basta anche solo il primo, se vi
accontentate di non avere tutti i programmi) contenenti la Redhat 8.0 potrete seguire passo per passo
questa lezioni, mentre se avete una versione un po' più vecchia, o una Mandrake, non avrete grossi
problemi.
Bisogna dire al computer che si vuole fare il boot dal lettore cd, e questo lo si fa dal bios. Appena si
accende il computer basta premere [canc] (o [F2] in alcuni computer) per entrare nel BIOS, che è
dove si possono controllare alcuni aspetti del vostro computer. Tra i vari menù ce ne dovrebbe
essere uno chiamato "Boot" o "Advanced Bios Features", o qualcosa di simile.
All'interno ci dovrebbe essere una lista di device da cui fare il boot, che normalmente comprende il
floppy disk, il disco fisso ed in terza posizione il lettore cd. Basta spostare in prima posizione
quest'ultimo per essere pronti con l'installazione!
A titolo di esempio, in Figura 1 è presentato il menù del mio computer, ma essendo un portatile è
probabilmente molto diverso dal vostro.
Figura 1: Sequenza di boot nel Bios
Riavviando, con il primo cd di Linux dentro il lettore cd, se tutto è stato fatto bene, dovrebbe
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
1
Linux per Principianti
Lezione 7
apparire la schermata in Figura 2.
Non fatevi scoraggiare dall'inglese, saranno solo poche schermate, e premete invio per continuare.
Dopo il caricamento di una parte di sistema operativo, un menu vi propone di fare il controllo del cd
per essere sicuri di portare a termine l'installazione, o di continuare (opzione skip). Potete
tranquillamente continuare se il vostro cd non ha avuto incidenti che vi facciano temere per la sua
incolumità, risparmiando un po' di tempo. A questo punto, dopo una schermata di benvenuto (Figura
3) a cui potete (e dovete) rispondere "ok", vi verrà chiesto di scegliere la lingua (Figura 4).
Figura 2: Schermata iniziale
Figura 3: Schermata di benvenuto
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
2
Linux per Principianti
Lezione 7
Figura 4: Selezione della lingua
Posizionatevi su italiano e premete su "Next" (se non funzionasse il mouse, come in alcuni casi,
muovetevi nella lista con le frecce, confermate con "Invio" e spostatevi dalla lista ai pulsanti con il
tasto "Tab".
Una nuova schermata (Figura 5) vi chiederà che tipo di mouse avete collegato, e di solito è un
"generic 3 button" o "generic wheel" se ha la rotellina. Dovete solo scegliere se è un PS/2 (con
l'attacco rotondo) o USB (con l'attacco piatto), ed il gioco è fatto.
Figura 5: Selezione del mouse
Vi verrà chiesto che tipo di installazione desiderate (Figura 6), e potrete scegliere tra 5 opzioni (di
cui l'ultima è l'aggiornamento): scarterei “Personalizzata” perché ancora troppo disorientante per un
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
3
Linux per Principianti
Lezione 7
principiante, e server, perché rivolta a chi mette su un server su internet.
Di solito è una buona scelta iniziare con "Desktop personale", perché installa una buona quantità e
varietà di programmi, mentre workstation è per utenti con bisogno programmi più specialistici, tra
cui linguaggi di programmazione ed alcuni server (che potrete in ogni caso installare in seguito).
Figura 6: Scelta del tipo di installazione
Ed in men che non si dica siamo arrivati alla scelta delle partizioni (Figura 7). Se credevate di aver
esaurito tutto con i passi della scorsa lezione, vi sbagliavate, perché per avere un’installazione di
Linux davvero funzionale, è necessario completare l’opera già intrapresa.
E’ vero che scegliendo l’opzione di partizionamento automatico l’installazione andrebbe avanti
senza dover fare niente, ed avremmo comunque un Linux perfettamente funzionante, ma è sempre
meglio separare i dati di sistema da quelli dell’utente. Questo perché è molto più facile fare dei
backup, tenere tutto in ordine, e si corrono meno rischi qualora si decida di fare un aggiornamento
del sistema.
Il file system di Linux è composto da una serie di directory “standard”, nel senso che le troverete in
tutte le distribuzioni, ed hanno un uso molto preciso.
Tra esse in particolare ricordiamo (notate che il separatore delle directory è / come negli indirizzi
internet, e non \ come in Windows):
• / La directory di base, in cui tutte le altre sono contenute equivalente a C:\ in Windows)
• /usr/ La directory che contiene quasi tutti i programmi (vagamente equivalente a
C:\Programmi\ in Windows)
• /home/ La directory che contiene i dati dell’utente (vagamente equivalente a C:\Documenti\
in Windows, ma con la differenza che in Linux è quasi l’unico posto dove gli utenti non
amministratori possono scrivere dati)
Le directory non citate saranno descritte in una delle prossime lezioni.
Ogni directory, oltre che gestita normalmente dal filesystem, può essere “montata” da un’altra
partizione del disco, o addirittura da Internet!
In quasi tutte le università, per esempio, esiste un server che contiene il disco che usano tutti gli
utenti su tutti i computer, ed ogni computer “monta” la directory /home dalla rete. In questo modo,
da qualsiasi computer lavorino, hanno sempre gli stessi dati!
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
4
Linux per Principianti
Lezione 7
Figura 7: Gestione delle partizioni
Per questo motivo creeremo una partizione ulteriore, che destineremo ad essere montata come
/home/, ed avremo bisogno di un’ulteriore partizione da lasciare al gestore della memoria perché la
usi come spazio di swap.
Selezionando l’opzione “Partizionamento manuale con Disk Druid”, ci ritroveremo in una
schermata come quella di Figura 8.
Ci ricorda ancora una volta che abbiamo una partizione Windows, e dello spazio non ancora
asegnato, che ora provvederemo ad allocare.
Fate click con il mouse su “Libero”, e premete sul tasto “Nuovo”. Dovrebbe apparire una
mascherina simile a quella presentata in Figura 9.
Cominceremo dallo spazio di swap. Selezionate dal menu “Tipo di filesystem” la voce “swap”, e
mettete come dimensione il doppio della vostra memoria RAM. Nel mio caso, avendo 256 Mb di
memoria, ho indicato 512 Mb (è una regola diffusa anche se non sempre è la migliore scelta).
Accertatevi che sia selezionata l’opzione “Dimensioni stabilite” e confermate.
A questo punto, premendo ancora “Nuovo”, scegliete come “Mount Point” (la prima voce) /, date
come dimensione 2500 megabytes (anche 3000 se avete scelto di dedicare almeno 5 gigabytes,
meno se non avete tanto spazio), e confermate come prima.
E’ la volta della directory /home. Ancora una volta fate click su “Nuovo”, mettete come “Mount
point” proprio “/home”, ed invece della dimensione scegliete l’opzione “Occupa fino alle
dimensioni massime consentite”.
Dando conferma dovrebbe apparirvi una situazione simile a quella di Figura 10 (probabilmente le
partizioni avranno un ordine diverso, ma è il loro numero che è importante).
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
5
Linux per Principianti
Lezione 7
Figure 8: Disk Druid
Figure 9: Scelta del punto in cui "montare"
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
6
Linux per Principianti
Lezione 7
Figure 10: Le partizioni sono fatte
Il passo successivo è quello della scelta del boot manager (Fig. 11), ovvero del programma che,
quando accenderete il computer in futuro, vi permetterà di scegliere tra Windows e Linux. Lilo è un
ottimo e semplice programma, ma forse Grub è più indicato ad un principiante, ed è più carino
graficamente. Posizionatevi con il tasto sopra la scritta “DOS” e premete su “Modifica”.
Vi suggerisco di cambiare il nome in un più comprensibile Windows, e di selezionare l’opzione
“Immagine di destinazione predefinita”, e di dare “Ok”, dando conferma anche alle due schermate
successive (mettete una password al boot manager solo se ne avete davvero bisogno, ma Linux è già
protetto da password!).
Si può a questo punto configurare la rete (se avete una scheda di rete, in caso di modem si può agire
anche in seguito), come si vede dalla Figura 12. Se siete su una rete, dovreste avere le informazioni
richieste come indirizzo IP, DNS, etc (o dovreste sapere se potete usare un servizio di
autoconfigutrazione DHCP). In caso di dubbio, potete controllare da Windows, sul pannello di
controllo alla voce "Rete", o chiedere al vostro amministratore di rete.
Potete quindi configurare il firewall (Figura 13), cioè un programma che cerca di proteggere una
macchina connessa ad Internet: un livello di protezione medio è sempre indicato, e non dovrebbe
causare nessun problema (come a volte succede con un livello alto, se non si sa cosa ciò comporti).
Seguono alcune semplici domande su lingue da supportare (italiano di sicuro), e sul fuso orario.
Quindi viene chiesto di scegliere una password e di digitarla due volte (Figura 14).
ATTENZIONE!
Questa è la password dell'amministratore del sistema (che si chiama root), ed è importantissimo
sceglierne una non facile, e non dimenticarla. Scrivetela da qualche parte per sicurezza!
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
7
Linux per Principianti
Lezione 7
Figure 11: Configurazione del boot manager
Figure 12: Configurazione della rete
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
8
Linux per Principianti
Lezione 7
Figure 13: Configurazione del firewall
Figure 14: Scelta della password di root
Quindi bisogna creare un utente diverso da root: ciò è consigliabile perché accedendo a Linux come
generici utenti (e non amministratori) non avremo troppo potere, ed i danni che potremo fare
saranno limitati.
Premete sul tasto “Aggiungi”, e dovrebbe comparire una mascherina simile a quella di Figura 15.
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
9
Linux per Principianti
Lezione 7
Figure 15: Aggiunta di utenti
Inserite tutti i dati e confermate con un “Ok”, quindi andate “Avanti”.
La configurazione base è completata, e credo non sia stata troppo difficile!
Nella prossima lezione parleremo di pacchetti e software da installare.
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
1
Linux per Principianti
Lezione 8
Scelta dei pacchetti da
installare
La lezione precedente si è interrotta dopo aver scelto le opzioni base del sistema che stiamo per
installare: in realtà nella maggioranza dei casi si è trattato di confermare proposte fatte dal
computer.
A questo punto bisogna scegliere cosa installare, ma sarà utile parlare del concetto dei "pacchetti".
In quasi tutte le distribuzioni Linux, il software viene distribuito in pacchetti, che nella Redhat
hanno nome (ed estensioni) "rpm". Un pacchetto non è altro che un contenitore di software e di
informazioni relative al software stesso. In particolare viene associato ad un pacchetto il nome del
programma che contiene (seguendo una regola standard per ogni distribuzione su come assegnare i
nomi), la versione di questo, di quali altri programmi ha eventualmente bisogno, e con quali altri
non può assolutamente coesistere.
Un sistema di questo tipo permette di tenere una lista di tutti i programmi installati nel sistema, con
la loro versione. Ciò facilita l'installazione di versioni più recenti di programmi, che si andranno a
sostituire a quelle correntemente installate (e non ad affiancarsi, come spesso accade in Windows), a
meno che non si vogliano esplicitamente due versioni differenti allo stesso tempo. E' anche un
ottimo metodo per evitare di installare un programma, e alla prima esecuzione avere un errore del
tipo: "Non si è trovato il tal programma necessario per l'esecuzione". Molti programmi, ad esempio,
hanno bisogno di librerie particolari che non sono distribuite con il programma stesso (è la filosofia
del bazaar, di cui abbiamo già discusso!). E' inoltre più difficile disinstallare un programma
contenente files indispensabili ad altri ptrogrammi che restano installati, offrendo notevoli garanzie
di sicurezza e molti vantaggi nella manutenzione del sistema.
Di solito esistono tools che permettono di trovare un pacchetto (e tutti quelli da cui esso dipende)
molto facilmente in Internet, facilitando il reperimento di programmi non presenti nel cd di
installazione (parleremo di queste utilities nel prossimo modulo). Se poi un programma che
interessa non dovesse esistere come pacchetto per la distribuzione scelta (evento non molto
probabile per Redhat, a parte per software davvero nuovissimo - cioè pubblicato da meno di una
settimana), è sempre possibile procurarsi i files sorenti (che per la filosofia del software "free"
devono essere a disposizione di tutti) e ricompilarli. Sembra difficile a parole, ma vedremo come in
tantissimi casi ciò non sia altro che una sequenza di 4 o 5 semplici comandi, lasciando fare tutto alla
macchina. E' tuttavia sempre assolutamente meglio usare i pacchetti, perché offrono maggiori
garanzie di ordine e di funzionamento!
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
1
Linux per Principianti
Lezione 8
Tornando all'installazione di Linux, è giunto il momento di scegliere cosa correderà il sistema di
base che useremo. In Figura 1 si vede come si potrebbe lasciare che Linux stesso decida, in base alla
tipologia di sistema che abbiamo deciso di installare in precedenza (Desktop personale), ma io
propongo di selezionare l'opzione "Personalizzare i pacchetti da installare" per dare un'occhiata a
cosa ci viene proposto e per correggere alcune dimenticanze. E' sempre meglio non lasciare troppa
iniziativa ai programmi, perché per quanto sofisticati e recenti, sono pur sempre delle
approssimazioni che non sempre rispondono alle nostre necessità (e che mai potranno sostituire
completamente un essere umano).
Figura 1: Scelta dei pacchetti da installare
Dopo aver confermato, ci viene proposta una lista minimamente dettagliata di categorie di software
(Figura 2), in cui io aggiungerei il KDE Desktop Environment (se fosse deselezionato e se non avete
problemi di spazio) e System Tools. Vi consiglio ancora di scegliere "Selezione individuale dei
pacchetti" per avere un po' più di dettaglio.
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
2
Linux per Principianti
Lezione 8
Figura 2: Lista di software che si può installare
Al passo successivo potrete vedere qualche dettaglio in più sui programmi che state per installare,
con le dimensioni richieste da ognu categoria facendo click con il mouse su “Dettagli”, accanto ad
ogni categoria una lista dei programmi inclusi in essa. Se non conoscete un programma, vi
sconsiglio di inserirlo o rimuoverlo dalla lista, questa è un'operazione che potrete fare in seguito,
quando conoscerete meglio il sistema.
Figure 3: Lista dettagliata del software
Dopo aver confermato, l'installazione vera e propria partirà, e tutto ciò che avete richiesto verrà
copiato sul disco fisso (può essere necessario un tempo più o meno lungo). Se non è possibile
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
3
Linux per Principianti
Lezione 8
installare tutto quello che volete, il programma di installazione si interromperà prima di buttarsi a
capofitto nell'installazione, e potrete tornare indietro per togliere qualche programma dalla lista, o
ripartire da zero, creando una partizione più grande per Linux (in 2 gigabytes comunque dovrebbe
entrare tutto senza problemi). Intanto avrete un po’ di pubblicità su RedHat che vi verrà proposta
durante tale fase (Figura 4).
Vi verrà chiesto di cambiare il cd nel lettore nel momento in cui il programma ne avrà bisogno, e
non dovrete fare altro che assecondarlo!
Con ciò si conclude questa lezione, mentre nella prossima vedremo i passi da fare per completare
(finalmente) l’installazione.
Figura 4: Installazione del software
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
4
Linux per Principianti
Lezione 9
Ultimi ritocchi
La scorsa lezione ci siamo interrotti sulla fase di copia del software sul disco rigido. Ora vediamo
come completare l’opera ed avere un sistema con Linux funzionante.
La prima cosa da fare è creare un dischetto di boot (Figura 1), in modo da poter avviare Linux da
dischetto qualora il boot manager fosse installato male (ipotesi molto remota) o Windows si
riappropiasse del primo settore del disco (molto più probabile). A questo scopo, dovrete solo
preparare un dischetto formattato, inserirlo nel lettore floppy, ed andare “Avanti”.
Figure 1: Creazione di un dischetto di boot
E’ il momento di configurare l’interfaccia grafica (Xfree86). Mentre un tempo questa era
un’impresa abbastanza ardua, oramai si è ridotta alla conferma delle scelte fatte dal computer,
tranne che nel caso di alcune schede video molto particolari.
In Figura 2 si vede la schermata in cui bisogna scegliere la propria scheda video, se diversa da
quella proposta. Se non trovate la vostra, scegliete “Generic VGA”, e dovrete in seguito cercare su
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
1
Linux per Principianti
Lezione 9
Internet i driver corretti.
Nella schermata proposta in Figura 3 bisogna fare l’analogo per il monitor. Se non ci fosse proprio il
vostro modello, nessuna paura! L’opzione “Generic monitor” (con accanto la risoluzione massima
che può supportare il vostro schermo), o “Generic LCD monitor” in caso di un monitor a cristalli
liquidi andranno più che bene.
Quindi bisogna configurare la risoluzione desiderata (1024x768 e 1280x1024 sono le scelte più
comuni) ed il numero di colori desiderati (più sono e meglio si vedrà il vostro desktop!), come si
vede in Figura 4.
Figura 2: Scelta della scheda video
Figura 3: Scelta del monitor
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
2
Linux per Principianti
Lezione 9
Figure 4: Configurazione della risoluzione
L’installazione è teminata, non vi rimane che togliere il cd dal lettore, e riavviare.
Se il boot manager è stato installato correttamente, dovrebbe apparirvi una schermata simile a quella
in Figura 5, da cui dovrete selezionare la voce “Linux” per far partire il nuovo sistema operativo.
Figure 5: Schermata di boot
Dopo il caricamento di numerosi programmi (come in Figura 6), si arriverà alla fase degli ultimi
ritocchi (Figura 7).
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
3
Linux per Principianti
Lezione 9
Figure 6: Caricamento di Linux
Figure 7: Ultimi ritocchi
Configurate la data e l’ora, se non fossero corrette (se l’ora differisse di un’ora da quella reale,
provate a selezionare l’opzione di “Orologio impostato su GMT”, e se non va inserite l’orario
giusto).
Quindi controllate che il sistema abbia trovato la giusta scheda audio, facendogli suonare la prova
audio.
Se siete connessi ad Internet, potete iscrivervi alla RHN (RedHat Network), in modo da avere
sempre gli aggiornamenti per il vostro sistema, altrimenti potete saltare questa fase (Figura 8).
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
4
Linux per Principianti
Lezione 9
Figure 8: Iscrizione a RHN
Quindi date conferma alle ultime schermate (se volete installare qualche manuale, date un’occhiata
alla lista che viene proposta), e vi dovrebbe apparire la schermata del login grafico (Figura 9).
Figura 9: Pronti ad entrare
Siamo pronti ad usare Linux, e dal prossimo modulo entreremo
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
5
Linux per Principianti
Lezione 10
Esercitazione
Dal prossimo modulo di lezioni avremo tantissimo materiale per esercitazioni pratiche, che
svarieranno da esercizi semplici a veri e propri rompicapo (senza mai però addentrarci in dettagli
troppo professionali).
Questa esercitazione invece sarà dedicata a prendere confidenza da utenti totalmente profani, a
scoprire dove trovare i programmi e come entrare, uscire e riavviare.
Esercizio 1: Entrare nel sistema Linux non come root, ma come l’altro utente che dovreste aver
creato se avete fatto tutto come descritto in questo modulo. A questo punto, se siete entrati con
GNOME, uscire dal sistema ed entrare con KDE, e viceversa.
Esercizio 2: Sia con GNOME che con KDE avete a disposizione uno strumento chiamato Desktop
Switcher, situato nella barra dei programmi, con la forma di un quadrato composto da quattro
rettangoli più piccoli (mostrato nella Figura seguente):
Tale strumento permette di avere a disposizione 4 Desktop virtuali, invece di uno solo fisico, e di
spostare le finestre da uno agli altri di questi, tenendo la scrivania in ordine. Provate ad aprire due
finestre (per esempio due finestre del browser Mozilla, che è l’icona immediatamente alla destra di
quella con il cappello rosso), e notate che nel rettangolo in alto a sinistra dei quattro sono apparsi
due rettangoli sovrapposti, che rappresentano le vostre due finestre (infatti il rettangolo che le
contiene è la rappresentazione in scala del Desktop). Provate ora a spostare una delle due nel
rettangolo in alto a destra. Se ci riuscite, la finestra rappresentata da quel rettangolo dovrebbe
sparire. Trovatela senza riportarla sul rettangolo d’origine.
Esercizio 3: Create una nuova cartella sul Desktop, buttatela nel cestino, esplorate la vostra home,
cambiate sfondo del Desktop. Notate come tutte le operazioni sono molto simili alle stesse effettuate
in Windows. Impareremo presto a staccarci da questo paradigma, ed usare le cose per cui Linux è
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
1
Linux per Principianti
Lezione 10
davvero famoso ed apprezzato!
Soluzioni:
Esercizio 1:
Quasi di sicuro, se non avete cambiato nessuna opzione prima di entrare, entrerete con GNOME.
Per esserne certi, fate click con il tasto destro del mouse sulla barra dei programmi, e dovrebbe
apparirvi l’opzione “About GNOME”.
Uscire è semplicissimo! Fate click sul tasto della testa con il cappello rosso, selezionate “Esci”, e
confermate sulla mascherina di uscita (la voce selezionata deve essere “Log out”, in quanto le altre
voci servono a fare reboot e a spegnere il computer).
Per entrare con KDE, è sufficiente fare click su “Sessione” nella schermata di Login, e scegliere
KDE. Dopo aver inserito login e password, vi verrà chiesto se d’ora in poi volete usare KDE. E’
indifferente ciò che risponderete, in quanto nel futuro potrete fare sempre lo stesso per cambiare
gestore di Desktop.
La configurazione dei due programmi fornita con la RedHat è molto simile, ma vedremo come sarà
possibile configurare in modo molto i due programmi in una prossima lezione.
Esercizio 2:
Ogni rettangolo è un diverso Desktop virtuale rapprentato in scala e privo di dettagli. All’inizio, si
parte nel primo Desktop (il rettangolo in alto a sinistra). Premendo sugli altri rettangoli, si cambia
Desktop, anche se senza finestre potrebbe sembrare inutile.
Premete ora di nuovo sul rettangolo in alto a sinistra, aprite le due finestre, e notate appunto che
qualcosa è cambiato (come nella prossima Figura, più o meno).
Ora, basta premere con il mouse (tasto sinistro) su uno di quei due rettangoli interni al Desktop
(anche se sembrano uno, talmente sono sovrapposti), e trascinarlo sul rettangolo in alto a destra.
Non impressionatevi dalla finestra che schizza via, e deponetelo sull’altro quadrato.
La finestra è ora una sola, e facendo click sul quadrato in alto a destra, andiamo sul secondo
Desktop, dove c’è l’altra.
Quando abbiamo molti programmi che girano contemporaneamente, è molto comodo poterli
disporre su più Desktop (possono essere anche molti più di quattro!!), per avere poche cose
sott’occhio in ogni momento. Con un semplice click è possibile poi cambiare contesto ogni volta
che ne abbiamo bisogno.
Esercizio 3: Per creare una cartella è sufficiente fare click con il tasto destro del mouse sullo sfondo,
e scegliere “Nuova cartella”. Per esplorare la vostra home, fate click sull’icona con la casetta (nel
mio caso è chiamata “home di alex”), dovreste trovare solo una cartella di nome Desktop (ma presto
sarà molto più popolata). Buttare la cartella che avete creato nel cestino è semplicissimo con in
Windows (ma sarebbe meglio dire nel Mac OS, visto che originariamente era una prerogativa di tale
sistema).
Cambiare lo sfondo è molto semplice: click con il tasto destro sullo sfondo, quindi selezionare
“Cambia sfondo desktop”, e scegliere uno dei tanti file proposti (quasi tutti sono foto di animali).
C’è anche una cartella piena di foto prese dallo spazio
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
2
Lezione 11
Linux per Principianti
La shell (1)
Si potrebbe dire, sbagliando, che la shell di Linux è un po' l'equivalente dell interprete di comandi di
Windows (il vecchio prompt di MS Dos). A prima vista si assomigliano, e condividono alcuni
concetti. Tuttavia, mentre nel Dos era presente una shell che offriva un insieme minimo di
funzionalità presenti nella shell Unix (d'altra parte Dos offriva una frazione infinitesimale delle
caratteristiche di Unix), in Windows l'interprete dei comandi è andato via via perdendo
d’importanza, fino ad essere, nelle ultime versioni del sistema, uno strumento che serve solo a
qualche nostalgico per eseguire vecchissimi programmi e a poco più (avete provato a muovervi tra
le directory via Dos? Personalmente lo trovo assurdo!).
In Linux, al contrario, la shell è tuttora una componente centrale e di vitale importanza, che
difficilmente potrà essere completamente sostituita da un'interfaccia grafica, data la sua flessibilità.
Purtroppo è anche un programma non facile da usare in tutte le sue potenzialità, e per questo
dedicheremo due lezioni ad apprenderne i concetti base (abbastanza comunque da apprezzarne
l'utilità).
Una shell è un programma intimamente legato ad un terminale, vale a dire una componente che
permette input (da tastiera) ed output (per esempio a video). Su un unico computer possono
coesistere più terminali (un po' come abbiamo visto che possono esistere più Desktop virtuali), e ci
sono essenzialmente due modi di aprirne uno nuovo.
Avete a disposizione sei terminali testuali premendo (contemporaneamente) i tasti [CTRL][ALT] ed
uno tra [F1] ed [F6]. [CTRL][ALT][F7] invece vi permetterà di tornare in ambiente grafico da un
terminale testuale. Vi dovrebbe apparire una schermata simile a quella di Figura 1.
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
1
Linux per Principianti
Lezione 11
Figure 1: Terminale testuale
A questo punto basta dare login e password, e sarete al cospetto di una shell! Tuttavia, per motivi
didattici, sarà meglio tornare in ambiente grafico ([CTRL][ALT][F7], ricordo) ed aprire un
emulatore di terminale grafico. Potete fare click con il tasto destro del mouse sullo sfondo, e
selezionare la voce "Nuovo terminale" (GNOME), oppure cercare l’applicazione "Terminal" nel
menù dei programmi (tasto in basso a sinistra, con il cappello rosso), nel menù "Strumenti di
sistema" (GNOME e KDE). Si dovrebbe aprire una finestra come quella mostrata in Figura 2.
Figura 2: Terminale grafico
A questo punto è possibile inserire dei comandi, che saranno interpretati ed eseguiti.
Quali comandi abbiamo a disposizione? Sono veramente tanti, e per comprendere tutto, abbiamo
bisogno di alcune nozioni di base.
In effetti, la shell è la versione a basso livello della finestra che possiamo aprire via interfaccia
grafica, facendo click sulla nostra home directory (l’icona con la casetta sullo sfondo del desktop),
come si vede in Figura 3.
Quando apriamo tale finestra, ci troviamo all’interno della cartella /home/nomeUtente, come si può
vedere dal campo ‘posizione’, e vediamo una lista di tutti i files e directory (o cartelle, equivalente
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
2
Linux per Principianti
Lezione 11
mente) che vi sono contenute.
Figura 3: La nostra home directory
Allo stesso modo, quando usiamo la shell ci troviamo in ogni momento all'interno di una directory,
cioè una cartella. Possiamo vederne il contenuto con il comando "ls" (esiste anche l'equivalente
"dir", di sapore vagamente Microsoft), e possiamo sapere il nome della directory in cui ci troviamo
con il comando "pwd" (che sta per Print Work Dir).
All'inizio ci troviamo nella nostra home directory, che ha nome /home/nomeUtente (nel mio caso è
/home/alex), la stessa che abbiamo visualizzato graficamente, ed il listato che riceviamo dovrebbe
essere l’equivalente testuale di tutte le icone.
I colori ci comunicano qualche informazione sul tipo di files, anche se non immediate come delle
icone (se il vostro listato apparisse privo di colori, provate a digitare ‘ls --color con due – prima di
color): le directory (o cartelle) dovrebbero essere visualizzate in colore blu.
Con l’interfaccia grafica, ci possiamo spostare in altre cartelle facendoci click due volte sopra, e
possiamo entrare nella cartella che contiene quella attuale premendo sul bottoncino della “Freccia
verso l’alto” (le directory hanno una struttura gerarchica e, tranne la radice, sono contenute in
qualche altra directory, e possono contenere altre directory), oppure mettendo nel campo posizione
il nome per esteso della directory, se lo conosciamo (provate a sostituire la directory attuale con / e a
premere [Invio]).
Nella shell, ci possiamo spostare con il comando "cd nome_directory", dove nome_directory va
sostituito con la cartella in cui vogliamo entrare. Ad esempio, scrivendo "cd /", ci sposteremo nella
directory radice, che contiene tutte le altre. Con un "ls" a questo punto, possiamo osservare la
struttura standard delle directory Linux: abbiamo le già citate etc, usr e home, più numerose altre
quali:
• bin, che contiene programmi di sistema,
• dev, che contiene dei puntatori a tutte le periferiche ed i dischi del vostro computer,
• var, che contiene informazioni che (di solito) vengono generate automaticamente da Linux,
come file di log e cache.
Possiamo cambiare ancora una volta directory per andare, per esempio, all'interno di usr, con il
comando "cd usr" seguito, come al solito, da [Invio].
A questo punto, per tornare nella nostra home directory, possiamo digitare "cd /home/nomeUtente".
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
3
Linux per Principianti
Lezione 11
Notate che il nome della vostra directory è la concatenazione del percorso che bisogna fare per
raggiungerla, quasi come se fosse un indirizzo internet: si parte da /, si va in home, e quindi in
nomeUtente. Il secondo slash (/) è un separatore di nome directory, e va messo tra i nomi delle
cartelle che compongono un percorso (ad esempio /pippo/pluto/paperino/qui/quo/qua è il percorso
di una directory o programma di nome qua, contenuto in una directory di nome quo, a sua volta
dentro qui, e così via fino alla radice).
Tornando in usr (che dalla vostra home directory può quindi essere raggiunta con "cd /usr",
potevamo anche seguire un altro percorso. In ogni directory sono contenute sempre due directory
speciali:
• . (proprio un punto), che è la directory stessa
• .. (doppio punto) che è la directory che contiene la directory in cui ci troviamo
Ossia, se scriviamo "cd ." e diamo [Invio], ci troveremo nella stessa directory senza muoverci
(provare per credere!), mentre se digitiamo "cd .." seguito dal solito [Invio], andremo a finire nella
directory che contiene quella in cui stiamo (l'unica eccezione è la directory /, che non essendo
contenuta in nessuna directory torna sempre in se stessa). Dunque, da usr, possiamo scrivere "cd .."
(tralascerò il tasto [Invio] d'ora in poi, che andrà premuto dopo ogni comando), andando a finire
nella directory / (che infatti la conteneva). A questo punto, con "cd home" e "cd nomeUtente", ci
ritroviamo nella home. Ma potevamo anche fare tutto in un passo unico con "cd
../home/nomeutente"!
So che ciò può risultare confuso per un principiante, ma è solo questione di pratica (sono inoltre
quasi certo che avete già usato qualche volta l'interprete dei comandi di Windows, e siete pratici).
Nell’interfaccia grafica si può creare una nuova cartella con un semplice click del tasto destro,
scegliendo “Nuova cartella”, e decidendo un nome per questa, e la si può cancellare trascinandola
sul cestino.
Nella shell, per creare una nuova directory dovete usare il comando "mkdir nome_directory" e per
cancellare una directory vuota con il comando "rmdir nome_directory" (per cancellare un file invece
il comando da digitare è "rm nome_del_file"). Per cancellare una directory con tutto il suo
contenuto (files e sottodirectory), si deve digitare il comando “rm –r nome_directory”, ma dovete
essere assolutamente sicuri di quello che state facendo, perché questa è un’operazione senza ritorno
(non esiste il cestino dei rifiuti nel duro mondo della shell!).
Attenzione: se non siete entrati come utente root (e non dovreste essere entrati così, ma come il
semplice utente che DOVRESTE aver creato durante l'installazione), potrete creare directory solo
nella vostra home directory o in /tmp (che è una directory in cui tutti possono scrivere e leggere, ma
è svuotata ad ogni avvio di Linux, ed è quindi adatta alla creazione di soli file e directory
temporanei, come dice il nome).
Provate a tornare nella vostra home (una curiosità: esistono altri due modi per tornarvi, vista la sua
grande importanza per ogni utente, e sono "cd" seguito da [Invio] e "cd ~nomeUtente" anch'esso
seguito da [Invio], che vi permette di entrare nella home di qualsiasi utente tranne root - se ce ne
fossero altri - se ne avete il permesso), e a vedere cosa c'è all'interno con "ls". Ci dovrebbe essere
solo la directory Desktop. Ne potete creare una nuova con "mkdir pippo", e la potete vedere con un
nuovo "ls". Potete entrarci con "cd pippo", e da li potete tornare nella vostra home con "cd ..", o "cd
/home/nomUtente". Cancellatela pure con "rmdir pippo". Provate ad andare nella radice, con "cd /",
e a scrivere "mkdir pippo". Se non siete root, dovrebbe apparire un errore, perché non ne avete il
diritto.
Ogni file ed ogni directory, infatti, appartengono a qualche utente, e hanno diritti di lettura, scrittura
o esecuzione (accesso per le directory) che possono essere solo per l'utente cui appartengono, per
tutto il suo gruppo (potete ignorare questo concetto), o per tutti. Si possono vedere i diritti di un file
con un'opzione del comando ls. Dalla directory radice, provate a scrivere "ls -l", e vi verrà fuori un
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
4
Linux per Principianti
Lezione 11
listato di directory molto dettagliato (Figura 4).
La prima lettera di ogni riga ci dice che cosa è quell'entrata: 'd' sta per directory, '-' per file (nel
nostro caso sono tutte directory).
Segue poi la lista dei permessi del file, che è una sequenza di 9 caratteri. Si leggono a gruppi di tre,
ed hanno il seguente significato:
• i primi tre sono i permessi per il proprietario del file,
• i secondi tre sono i permessi per il gruppo a cui lui appartiene,
• gli ultimi tre sono i permessi per il resto degli utenti.
I tre caratteri, in ordine, sono di lettura, di scrittura, e di esecuzione, e sono abilitati, rispettivamente,
se è presente una 'r' (read), una 'w' (write), ed una 'x' (o talvolta una 't') (eXecute). Un segno '-' vuol
dire che non è abilitato que permesso. Il nome del proprietario del file compare nella terza riga,
quello del gruppo nella quarta.
Figura 4: Listato esteso
Facciamo un paio di esempi per capire meglio.
L’entrata tmp è una directory, perché il primo carattere è una lettera ‘d’, e ha i seguenti diritti: rwx
rwx rwt. Il proprietario è l’utente root.
I primi tre caratteri vogliono dire che root stesso può leggere la directory, ci può scrivere e ci può
accedere. I secondi tre caratteri vogliono dire che gli utenti nel gruppo di root (chiamato a sua volta
root), possono fare le stesse cose. La terza tripletta significa che anche il resto degli utenti ha gli
stessi diritti.
Ed infatti, come già detto, tmp è una directory in cui tutti possono scrivere, leggere ed accedere
liberamente.
La directory lost+found invece, è sempre di root, ma ha i seguenti permessi: rwx --- ---. Cioé: solo
root può farci qualcosa. Infatti, scrivemdo "cd lost+found" ci vedremo restituire un errore, non
essendo root.
Ci sono dei modi per cambiare i permessi di un file che si possiede, ma questo fa parte di un corso
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
5
Linux per Principianti
Lezione 11
un pochino più avanzato!
Dall’interfaccia grafica, possiamo eseguire dei programmi situati nella cartella che stiamo
visualizzando, che non sono altro che dei files con i diritti di esecuzione abilitati.
Mettiamo per esempio nel campo ‘Posizione’ la directory ‘/usr/X11R6/bin’ (o portiamoci in tale
directory con una serie di passi). Cerchiamo tra la lista di files quello chiamato ‘xeyes’, e facciamoci
un doppio click sopra. Questo è un semplicissimo programmino che fa apparire due occhietti che
seguono il vostro mouse sullo schermo (Figura 5). Per chiuderlo, potete fare click con il mouse
sull'icona di chiusura posta in alto a destra della finestra di xeyes.
Figura 5: xeyes
Per eseguire un comando da shell, basta scriverne il nome seguito da [Invio]. Se Linux è ben
configurato, dovreste già avere nel PATH tutte le directory necessarie. Proviamo ad esempio, a
scrivere "xeyes" (tutti i comandi verranno da me scritti tra virgolette, che voi non dovete scrivere), e
dare invio. Lo stesso programma di prima dovrebbe apparire.
Per chiuderlo, oltre allo stesso metodo descritto in precedenza, potete premere [CTRL][c] sulla
shell, che come avrete notato si era fermata in attesa che il programma terminasse.
Invece che xeyes avreste potuto scrivere un qualsiasi comando quale "mozilla" (un web browser),
"evolution" (un cliente di posta elettronica), o addirittura "xterm" (un altro terminale grafico, che si
aggiungerebbe al primo!). E' tuttavia spesso molto più comodo cercare un programma tra la lista di
quelli nel menù generale (anche se per esempio xeyes non è presente, pur essendo installato).
Uno strumento estremamente utile della shell (che personalmente non ho mai capito perché non è
stato copiato da MS Dos ai suoi tempi), è il tasto [TAB] (quello accanto alla Q a sinistra, se non lo
conosceste con questo nome), che avvia il completamento dei nomi dei programmi e delle directory.
Provate ad esempio a scrivere nella shell "mozi", e a premere [TAB] (ovviamente prima di [Invio]).
Come per magia, il nome sarà completato in "mozilla", e voi potrete dare [Invio] ed avviare il
browser.
Provate invece a scrivere "psm", e a premere [TAB]. Un beep vi avviserà che non è possibile
completare il comando. Ciò può avvenire per due motivi:
• non c'è nessun comando il cui nome inizi per psm
• ce n'è più di uno, e il sistema non sa quale scegliere
Premendo una seconda volta [TAB], se siamo nel primo caso, un ulteriore beep ci avvertirà che non
esiste nessun comando. Se siamo invece nel secondo caso, verranno visualizzate le possibili opzioni
(se sono veramente tante ci verrà chiesto se le vogliamo davvero vedere). Nel nostro caso specifico
ci vengono presentati due nomi, tra cui possiamo scegliere quello che volevamo.
Cancellando la linea che avevamo scritto, possiamo premere [TAB] senza che niente sia stato
scritto. Ciò equivale a chiedere al sistema i nomi di TUTTI i programmi che possiamo eseguire. Ci
verrà chiesto (in inglese, essendo la traduzione del sistema non ancora perfetta) se vogliamo
davvero visualizza i numerosi file (nel mio computer sono 1866, nel vostro potrebbero essere un
numero differente). Premendo 'y', vi sarà presentata una lista di programmi ordinati alfabeticamente,
dai segni di interpunzione alla z: potete scorrerla premendo [Invio] per andare avanti riga per riga, o
[Spazio] per cambiare pagina, o potete uscire in qualsiasi momento alla shell premendo [q]).
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
6
Linux per Principianti
Lezione 11
Anche nel caso delle directory esiste il completamento dei nomi: provate dalla vostra home
directory a scrivere "cd /" e a premere [TAB] (due volte, perché esiste più di una directory in /): vi
apparirà una lista di tutte le directory contenute in /. Provate ora ad aggiungere una "u", e a premere
[TAB] una sola volta: ecco riapparire il nome usr, che è l'unica directory il cui nome inizia per u
presente in /.
Un ultimo concetto che vorrei esporre è quello dell’accesso ai cd ed ai dischetti. Mentre in Windows
basta provare a premere sull’icona del lettore cd o floppy per dire al sistema di provare a leggerli
(dando errore qualora non avessimo inserito il disco), in Linux le cose potrebbero essere diverse.
Di norma quando si usa Gnome o KDE, inserendo un cd si dovrebbe aprire immediatamente una
finestra con il contenuto del disco.
KDE inoltre ha sullo sfondo le icone del cd e del dischetto, che si comportano esattamente come in
Windows.
Nello Gnome, una volta inserito un cd (o un dischetto), si può premere con il tasto destro del mouse
sullo sfondo del desktop, selezionare la voce “Dischi”->”CD-ROM” (o “Dischetto”) per far apparire
l’icona corrispondente, su cui potremo fare click per esaminarne il contenuto.
Quando non abbiamo più bisogno del cd o del dischetto, possiamo premere con il tasto destro sopra
l’icona, e selezionare “Espelli” per il cd, o “Smonta” per il floppy.
Può tuttavia accadere (raramente) che ciò non funzioni: è necessario agire da shell.
Il lettore cd ed il lettore dischetti sono dei “device”, cioè dei files speciali contenuti nella directory
/dev. Tali files sono chiamati cdrom e fd0 (se avete più cd, saranno cdrom, cdrom1, cdrom2, etc).
Per poterci accedere, bisogna montare il device, cioè fare in modo che una directory “regolare”
punti al contenuto del device: questo si ottiene con il comando
mount /dev/cdrom /mnt/cdrom
nel caso del lettore cd, e
mount /dev/fd0 /mnt/floppy
nel caso di lettore dischetto.
A questo punto, potete usare la directory /mnt/cdrom (o /mnt/floppy) come una normale directory,
copiando dei files, leggendoli o eseguendoli (in un esercizio vedremo come fare).
Per smontarli, bisogna digitare il comando
umount /mnt/cdrom (o umount /mnt floppy).
Abbiamo dunque imparato ad eseguire comandi e a spostarci tra le directory da shell (oltre che
parecchie nozioni di base).
Nella prossima lezione impareremo cosa sono i processi e come si gestiscono, e qualche trucchetto
in più per sfruttare la shell al meglio.
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
7
Lezione 12
Linux per Principianti
La shell (2)
Stiamo esplorando le potenzialità della shell, uno dei programmi di base per Linux, che ci permette
di capire alcuni concetti fondamentali. Nella lezione precedente abbiamo spiegato a grandi linee
alcuuni concetti relativi al file system.
Un'altra componente fondamentale di Linux è la gestione dei processi. Ogni programma che viene
eseguito genera almeno un processo. Questo può essere visto come un'entità che compie
determinate operazioni. Ad esempio, la shell stessa è un processo che ci permette di digitare
comandi e che li esegue. Mozilla è un processo (più d'uno, a dire la verità) che ci permette di
navigare in Internet, e così via. Quando con il mouse facciamo partire dei programmi, non stiamo
facendo altro che mandare in esecuzione più processi, che condivideranno il processore e le altre
risorse (si è accennato a ciò nella prima lezione del corso).
Quando digitiamo un comando da shell, stiamo mandando in esecuzione un programma, composto
da uno o più processi. Ma abbiamo visto che, una volta digitato un comando (per esempio xeyes), la
shell si blocca fino alla terminazione del programma stesso. Possiamo mandare in esecuzione più
programmi (quasi) nello stesso istante mettendo un carattere & dopo il loro nome. Ad esempio,
digitando "xeyes &", si aprirà una finestra come prima, ma la shell non si bloccherà. Dopo averci
restituito due numeri, è tornata ad accettare comandi. Possiamo a questo punto eseguire un altro
comando, se vogliamo (provate ad esempio ad eseguire un altro "xeyes &",. e poi un "ls").
I due numeri che vengono stampati per ogni programma hanno, ovviamente, un senso. Il primo è
l'identificativo di job, cioè il modo in cui la shell da cui è stato lanciato chiama un programma. Con
il comando "jobs", è possibile vedere la lista dei programmi attivi lanciati dalla shell, unitamente al
loro stato (nel nostro caso è "running".
Il secondo valore è invece l'identificativo di processo (PID), con cui Linux chiama il processo stesso
(e non è relativo a nessuna shell). Con questi due valori possiamo manipolare i processi in tanti
modi, ricordando che il primo ha valore solo dalla stessa shell da cui è stato lanciato un processo,
mentre il secondo ha valore globale. Se vogliamo uccidere un processo che per esempio non
risponde alla chiusura via mouse, possiamo scrivere "kill -9 PID". Nel mio caso, il secondo
comando di xeyes ha restituito i valori "[2] 1134". Se scrivo "kill -9 1134", il programma
effettivamente muore (provate anche voi sostituendo a 1134 il valore che vi è stato restituito). Si
può anche scrivere "xkill", e quando il puntatore del mouse cambia forma, fare click sopra la
finestra che vogliamo chiudere (attenti a non sbagliare finestra o a non far partire un click
involontario!). Questo secondo metodo, tuttavia, è di solito meno efficace del primo.
Che fare se lanciamo un programma dimenticandoci il simbolo '&' alla fine? E' sufficiente premere
[CTRL][z] sulla shell per sospenderlo. Provate a lanciare un ulteriore "xeyes" senza '&', e
sospendetelo. Notate che ci viene restituito un numero solo (l'identificativo di job), e che il
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
1
Linux per Principianti
Lezione 12
programma entra in stato di "STOPPED": infatti non seguirà il vostro mouse con gli occhietti. Per
farlo ripartire, liberando però la shell, è sufficiente digitare "bg identificativo_di_JOB", per esempio
nel mio caso "bg 2". Questo signica mandare in background un processo. Si può fare l'opposto con
"fg identificativo_di_JOB" (nel mio caso "fg 2"), e la shell smetterà di accettare comandi per
attendere la terminazione del comando che abbiamo appena mandato in foreground.
Ci sono dei casi in cui vogliamo che due o più comandi partano uno dopo l'altro.
E' sufficiente scrivere la sequenza dei comandi separati dal carattere ';' ( ad esempio "comando1 ;
comando2; comando3"), perché ciò avvenga. Come esempio, supponiamo di voler fare un "ls",
seguito dopo cinque secondi da un "xeyes" (odierete questo programmino, ne sono certo!). Scrivete
dunque "ls ; sleep 5 ; xeyes", dove sleep è un comando che accetta un numero, e dorme per il
numero di secondi indicato: vi apparirà il contenuto della vostra home, quindi non succederà niente
per cinque secondi, e degli ulteriori occhietti malefici popoleranno il vostro schermo.
Per vedere che processi sono stati lanciati, esiste il comando "ps". Se gli si passa il parametro -a
(digitando quindi "ps -a"), sarà possibile vedere tutti i processi che sono in esecuzione sul vostro
computer con associato il vostro nome utente. Potete uccidere un qualsiasi processo con il comando
"kill -9 PID", ma non vi consiglio di farlo se non sapete cosa morirà! Se siete curiosi di sapere il
nome di tutti i processi che girano sul vostro computer, e non solo quelli relativi al vostro nome
utente, potete digitare "ps -aux". Di solito la lista di processi che fanno riferimento a root è molto
lunga: questi sono i programmi di sistema, che gestiscono i terminali, la rete, etc.
E' anche possibile che l'output testuale restituito da un programma sia dato come input ad un altro
programma, anche se questa è un'opzione per utenti un po' più esperti. Basterà mettere tra i nomi dei
due comandi il carattere '|' (chiamato pipe). Per esempio, supponiamo di volere il listato delle
directory contenute in / in ordine alfabetico inverso. Il lilstato viene restituito dal comando "ls /",
mentre esiste un comando di nome sort che, se invocato con "sort -r" che ordina liste di parole (per
esempio, scrivete sulla shell "sort -r" seguito da [Invio], quindi scrivete delle parole dando [Invio]
tra una e l'altra, e premete [CTRL][d] dopo l'ultima). Il nostro comando composto è dunque "ls / |
sort -r". L'effetto dovrebbe essere quello voluto!
Se volete che l'output testuale di un comando venga scritto su un file invece che a video, dovete
scrivere nel secondo modo: "comando > nome_del_file". Per esempio, scrivendo "ls > listato",
creerete un file di nome "listato", al cui interno è contenuto il listato della directory in cui si trova.
Per vedere il contenuto di un file, è sufficiente digitare "more nome_del_file", quindi nel nostro
caso "more listato". Se si ridirige l'output su un file già esistente, questo viene cancellato e riscritto.
Se si vuole evitare questo evento, bisogna usare '>>' invece di '>'. In queso caso l'output del
comando viene messo dopo il contenuto del file, se questo esiste già (provate con "ps >> listato"
seguito da "more listato").
Uno strumento di enorme utilità è il pattern marching. Per esempio, abbiamo visto più volte che il
comando ls restituisce la lista di files e directory contenuti in una certa directory. Supponiamo di
essere interessati a tutti i files contenuti il cui nome inizia per m. Dobbiamo digitare "ls -d /m*" per
fare quanto voluto (il parametro -d dice ad ls di non mostrare il contenuto delle directory, ma solo il
loro nome). Il carattere '*' viene interpretato dalla shell come un jolly, che può essere sostituito da
qualsiasi parola o sequenza di caratteri. La voce m* significa dunque: qualsiasi sequenza di caratteri
che inizia per m. Allo stesso modo *r significa qualsiasi sequenza di caratteri che terminano per r
(provate con "ls -d /*r"). E' possibile anche avere più caratteri *, come in m*n* (cosa significa?).
Il carattere ?, invece viene interpretato come un carattere singolo qualsiasi. Dunque m? significa
qualsiasi sequenza di due caratteri iniziante per m. Fate una prova con "ls -d /u?r".
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
2
Linux per Principianti
Lezione 12
Un comando fondamentale di Linux è "man", che avvia il manuale. Il sistema operativo e tutti i suoi
comandi sono spiegati in dettaglio in numerossime pagine di manuale (probabilmente verranno
installate quelle in inglese, ma ne esiste anche una versione in italiano che presto impareremo ad
usare). Per esempio potete digitare "man ls", per vedere quanto un comando semplice come ls possa
in realtà essere complesso da conoscere nella sua interezza. Potete sbizzarrirvi anche con "man
xeyes"!
Tutte le cose che sono state esposte in questa lezione sono ovviamente combinabili tra di loro. E' per
esempio possibile digitare il comando "(sleep 20 ; ls > listato) &" per mandare in background una
sequenza di comandi il cui secondo scrive su un file. Non esistono limiti alla complessità dei
comandi che si possono eseguire (e nemmeno alla perversione degli utenti!).
Nonostante a primo acchito possa sembrare molto complicato usare la shell, oltre che perfettamente
sostituibile dall'interfaccia grafica, questo non è sempre vero.
Immaginate per esempio che la vostra interfaccia grafica si blocchi per qualche motivo (mouse che
non si muove, tutto bloccato). E' un evento piuttosto raro, a dire la verità, ma può succedere. Se il
blocco non è a livello del sistema (e dunque talmente grave da non lasciare altra opzione che il
riavvio), è possibile aprire una shell testuale ([CTRL][ALT][F1]), e controllare cosa non va. Si può
quindi far ripartire l'interfaccia grafica in pochi secondi, e tornare al lavoro!
Ci sono numerosi altri casi in cui la shell è utile, ma questi si apprendono con l'esperienza. Quindi
non posso che consigliarvi di continuare ad usarla, malgrado la sua versione grafica (che di sicuro è
un po' più lenta). Nella prossima esercitazione avrete modo di allenarvi con quanto presentato in
queste lezioni, e anche su qulcosa in più!
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
3
Linux per Principianti
Lezione 13
L’ambiente grafico
(GNOME o KDE)
Abbiamo già speso alcune parole in merito alla differenza tra gestori di finestre (o window
managers) e gestori di desktop, ma in questa lezione impareremo alcuni concetti di base comuni a
tutti i gestori di finestre e di desktop. Poiché poi vogliamo andare a vedere le cose descritte anche
nella pratica, scindiamo il discorso in una parte dove si parla di GNOME, ed una in cui si portano le
conoscenze acquisite su KDE, in modo che possiate usare entrambi i programmi e decidere quale
lasciare sul vostro computer e quale cancellare (se avete problemi di spazio su disco) o ignorare.
Parte 1: GNOME
Appena entriamo digitando il nostro nome utente (mai root) e la nostra password, ci appare il
Desktop (Figura 1), cioè il nostro spazio di utente che ci permette di tenere in ordine i nostri
documenti, e di trovare velocemente i programmi che vogliamo eseguire.
Figura 1: Il Desktop
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
1
Linux per Principianti
Lezione 13
Come in Windows (e Mac OS), il desktop è logicamente diviso in due parti (ma vedremo che
possono essere di più): la barra delle applicazioni, in basso, e lo sfondo, che comprende tutto il
resto.
La barra delle applicazioni, come dice il nome, è lo strumento che si usa per tenere in ordine le
applicazioni, e per avere costantemente sotto controllo dei programmi di utilità che ci si installano
(per esempio l’orologio, che nella barra di Windows è sempre situato in basso a destra).
Generalmente c’è un tasto che ci permette di accedere ad un menù (quasi)
completo dei programmi disponibili e delle azioni che si possono fare, e
nel nostro caso è il cappello rosso (che vi perseguiterà in mille forme,
usando RedHat), mentre in Windows è il bottoncino con su scritto
“Avvio” o “Start”. Premendoci con il mouse, potremo vedere appunto un
menù (Figura a lato).
Fin qui niente di nuovo rispetto al rivale Windows, ma mentre nel sistema
operativo Microsoft il gestore di Desktop è una componente essenziale e
praticamente intoccabile di tutto il sistema operativo, qui siamo in
presenza di un normalissimo programma (che infatti ha un concorrente nel
KDE), configurabile in modo impensabile per chi è abituato a Windows.
Così, tutto quello che si trova sulla barra, è un elemento opzionale e
configurabile. Se per caso voleste spostare il bottone di accesso al menù
programmi, basta che ci premiate sopra con il tasto centrale del mouse (o
con i tasti destro-sinistro in contemporanea, se non ci riusciste), e potete
muovere il bottone attraverso tutta la barra (e questo vale per qualsiasi
oggetto immerso nella barra, senza distinzione).
Se premete sopra il cappello rosso con il tasto destro, potete vedere tutte
le opzioni legate al bottone. In questo caso sono solo due (spostare e
rimuovere) più il consueto aiuto, che aprirà la guida in linea. Notate che è
possibile avere una barra senza menù dei programmi, altra cosa assurda in
ambiente Windows.
La barra stessa può essere spostata, premendo il tasto centrale al di fuori di ogni icona e programma,
e trascinandola (sul lato destro, sinitro o alto dello schermo). Premendo con il tasto destro sempre
sulla barra, è possibile vedere le opzioni legate alla barra stessa. L’opzione “New panel” permette
di aprire una nuova barra in una locazione dello schermo, che può essere utile per contenere piccole
applicazioni. In particolare, il cosiddetto “Menu panel” è una barra che si va a situare sul lato in
alto, e che comprende un menù delle applicazioni, un menù di “Azioni” come uscita, esecuzione di
programmi e ricerca di files, ed un piccolo menù sulla destra che contiene un’icona per ogni
applicazione che abbiamo eseguito in modalità grafica, molto simile ad una funzionalità offerta dai
Mac. Personalmente vi consiglio questa barra, cancellando il bottone del menù applicazioni da
quella sul lato in basso dello schermo.
Gli altri tipi di barre (o pannelli) sono:
•
Corner panel: è una barra a dimensione variabile (che cioè cresce con il numero di oggetti
che ci si mettono).
• Edge panel: è una barra del tutto simile a quella situata in basso, ma vuota (per chi non ha
spazio sufficiente nella barra originale)
• Floating panel: un pannello di dimensione variabile che può essere situato in qualsiasi parte
del desktop, e non solo appoggiato ad un lato
• Sliding panel: un ulteriore pannello molto simile ad un Corner panel, ma che si può chiudere
anche quando vuoto (caratteristica presa dall’Edge panel)
Notate che se aggiungete un pannello qualsiasi tra quelli descritti, sarà possibile eliminare la barra
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
2
Linux per Principianti
Lezione 13
originale. In poche parole: è necessario avere almeno un pannello, ma non deve necessariamente
essere quello che ci è stato installato.
Osserviamo ora le opzioni del pannello (sia di quello originale che di quelli eventualmente aggiunti
da noi): come si vede in Figura 2, è possibile deciderne la posizione (come se lo si trascinasse),
decidere se si deve nascondere automaticamente
Figura 2: Gestione del pannello.
quando il mouse non vi è posizionato sopra (opzione “Autohide”), se mostrare i pulsanti per far
nascondere il pannello (che nei pannelli aperti successivamente sono automaticamente esposti, e
possono essere nascosti), e si può cambiare la dimensione. In effetti, la dimensione “Medio” è un
po’ grande, e dà un’idea di grossolanità, e così la “Grande”, “X Grande” e “XX Grande”, che sono
però molto utili per utenti con problemi visivi. La mia dimensione preferita è “X Piccolo”, che vi
consiglio di provare. Non vi preoccupate se lo strumento per gesrtire i desktop virtuali (di cui
abbiamo parlato nella scorsa esercitazione) diventa così piccolo da essere quasi inusabile: avremo
modo di sistemarlo!
E’ poi possibile addirittura cambiare il colore dello sfondo del pannello, o metterci un’immagine,
arrivando a notevoli livelli di personalizzazione.
L’opzione “Add to panel” ci permette invece di aggiungere su un qualsiasi pannello una serie di
applicazioni di grande utilità, o solo molto simpatiche. Come si può notare, sono divise per tipo di
applicazioni, e si va dagli accessori (comprendenti orologio, previsioni del tempo via internet, etc),
al pulsante di avvio stesso. Ci si può facilmente mettere un’icona di un programma presente nel
menù di avvio, andando a sceglierla nella sezione “Pulsanti di avvio dal menù).
Notate che nella sezione “Divertimento” è presente un’applicazione che è la copia dei famosi
occhietti, usati più volte nelle scorse lezioni come esempio, e che nella sezione “Utilità” sono
presenti applicazioni quali il gestore dei desktop virtuali (chiamato “Switcher delle aree di lavoro”),
la lista delle finestre aperte (simile ma non uguale al bottone che appare in alto a destra in un
pannello-menù), e tanti altri programmini. Per avere un’idea di cosa siano tutti i programmi è
possibile metterli sulla barra, e se non se ne capisce l’utilizzo, premerci con il tasto destro del mouse
(se proprio sopra l’applicazione non funziona, dovrebbe esserci un’area di colore differente alla
sinistra di essa su cui premere, come mostra la Figura 3), e scegliere l’opzione “Help”. Quasi tutti i
manuali sono in inglese, ma presto scopriremo come installare quelli in italiano.
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
3
Linux per Principianti
Lezione 13
Figura 3: Bordo di icona
A proposito del gestore di desktop virtuali, è possibile modificarne l’aspetto premendoci sopra con
il tasto destro del mouse, e selezionando “Preferences”. Come si vede dalla Figura 4, si può
cambiare il numero di workspace (sinonimo di desktop virtuali), e si possono disporre in più o meno
righe: nella configurazione iniziale sono 4 workspace, du due righe. Io ne tengo tre o quattro su
un’unica riga per motivi di usabilità. E’ anche possibile avere un “Corner panel” dedicato alla
gestione dei desktop virtuali, se qualcuno avesse bisogno di usarne davvero tanti.
Figura 4: Gestione dei desktop virtuali
Per personalizzare il desktop, la cosa più semplice da fare è andare nel menù di avvio, nella sezione
“Preferenze”, da cui avrete la possibilità di cambiare i suoni di sistema, i font, e moltissime opzioni
quali screensaver, tastira, etc.
Ovviamente è possibile cambiare il tema, ma in un modo più radicale rispetto a Windows: un tema
definisce come appaiono i tasti, le voci selezionate dei menù, etc.
Selezionando “Theme” dal menù “Preferenze”, vi si presenterà una finestra come quella mostrata in
Figura 5), divisa in due sezioni: “Application” e “Window border”.
La prima definisce le proprietà dei menù e dei bottoni comuni a tutte le applicazioni, mentre la
seconda è quello che in Windows effettivamente è un tema.
Ovviamente si possono scaricare nuovi temi ed installarli con il tasto “Install new theme”: un ottimo
indirizzo per scaricarli è http://themes.freshmeat.net. Nella sezione “GTK” (ma ATTENZIONE:
andate sul link GTK 2.x, perché i più vecchi non funzionano) troverete i temi per la parte
“Application”, mentre nella sezione “Sawfish” troverete quelli per “Window border”.
Potete vedere tutti i temi presenti (addirittura in ordine di popolarità o di numero di downloads, per
avere una metrica per distinguere tra temi di successo e temi che probabilmente non sono molto
usabili), scaricarli (sulla vostra directory home), e quindi, installarlo con due click: dopo aver
premuto su “Install new theme” come già detto, premete su “Browse”, selezionate il tema che avete
scaricato e che volete installare, e date “Install”. Se il tema è fatto bene (ce ne sono alcuni in effetti
che non funzionano), dovrebbe apparire nella lista di scelte a disposizione.
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
4
Linux per Principianti
Lezione 13
Figure 5: Selezione di temi
Una nota finale sull’accesso al floppy e al cd. Linux gestisce i dischi rimuovibili in modo molto
diverso da Windows. Quando inserite un cd, di norma non vi apparirà nessuna applicazione
automatica. Per vedere cosa c’è nel cd (o nel floppy), dovrete “montarli”. Se fino a qualche tempo fa
questa era un’opzione complessa che poteva causare dei problemi ad utenti principianti, ora è
estremamente facile: in GNOME dovrete solo premere con il tasto destro sullo sfondo del desktop, e
nel sottomenù “Dischi” dovrebbe esserci una lista dei vostri device (nel mio caso: CD-ROM e
Floppy). Premendo su quello che desideriamo vedere, apparirà un’icona su cui si può fare il
consueto doppio click per aprire il disco che desideriamo. Prima di estrarre il cd o il floppy, è buona
norma smontarlo: premendo con il tasto destro sull’icona, ci sarà l’opzione “Espelli”, oppure
premendo sullo sfondo, basterà premere di nuovo sul device che vogliamo “smontare”.
Parte 2: KDE
I discorsi fatti finora si portano molto facilmente all’ambiente KDE, con piccole eccezioni.
Sicuramente la traduzione in italiano è nettamente superiore in ambiente KDE, e questo può
certamente essere uno stimolo al suo uso (anche i manuali on-line sono scritti in italiano, a
differenza di GNOME).
La gestione dei pannelli è simile: premendo con il tasto destro sulla barra se ne visualizzano le
proprietà, e vi si possono aggiungere piccole applicazioni (applet). Essendo stata fino a poco tempo
fa una prerogativa di GNOME, ne esistono ancora pochi per KDE, ma stanno rapidamente
aumentando. Aggiungere altre barre è possibile, anche se in effetti più macchinoso: tasto destro sul
pannello -> “Aggiungi” -> “Estensioni”, e poi quattro diversi tipi di pannelli (a voi scoprire le
affinità con quelli di GNOME).
Premendo con il tasto destro sul tasto di avvio (solito cappello rosso), è addirittura possibile entrare
in un “Editor menù”, che permette in modo piuttosto semplice di modificarne la composizione
(questa è comunque un’opzione di cui un principiante può fare a meno).
In KDE le icone di cd e floppy sono sempre sullo sfondo del desktop, invece che apparire quando se
ne ha bisogno (e si monta il device). Con un semplicissimo doppio click è possibile chiedere al
sistema di montare l’unità (se possibile) e di aprire una finestra per esplorarne il contenuto.
Per quanto riguarda i temi, è possibile scaricarli allo stesso indirizzo che vi ho fornito in precedenza,
nella sezione KDE (e sottosezione KDE 3.x), ed installarli quasi nello stesso modo che GNOME:
dal tasto di avvio, selezionare “Centro di controllo”, e fare doppio click su “Aspetto” e quindi su
“Gestore dei temi”. Notate che il tema non è diviso in due parti come in GNOME, semplificando
notevolmente l’installazione e la selezione di nuovi temi.
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
5
Linux per Principianti
Lezione 13
Nell’installazione di RedHat sono presenti alcuni temi esemplificativi, sia GNOME che KDE,
mentre nel sito citato ce ne sono ancora pochi, poiché le versioni installate sono davvero recenti.
Nelle prossime settimane sicuramente aumentaranno, creati da utenti normalissimi, che hanno avuto
la voglia di imparare e la pazienza di impacchettare tutte le componenti necessarie a fare un tema.
In definitiva: trovare il gestore di desktop migliore è una questione personale. Io preferisco
GNOME, forse per motivi affettivi, essendomici abituato quando KDE ancora non esisteva. Per un
principante forse quest’ultimo è più indicato, vista la sua somiglianza con Windows e la migliore
traduzione.
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
6
Linux per Principianti
Lezione 14
Programmi di
sistema
Affrontiamo brevemente in questa lezione alcuni programmi utili per il controllo del sistema,
lasciando ulteriori dettagli ad un corso per utenti intermedi o avanzati, visti i rischi che si corrono
manipolando il sistema come root.
Ci sono essenzialmente cinque cose davvero importanti che non sono state ancora spiegate. Una è
l’installazione/rimozione di nuovi programmi, che sarà argomento di alcune lezioni del prossimo
modulo (interamente dedicato alla manutenzione di sistema necessaria ad un utente).
Le altre sono la gestione degli utenti, la condivisione di partizioni windows già presenti nel sistema,
l’installazione delle stampanti e quella di Internet.
Non parlerò dell’installazione di altro hardware per i seguenti motivi: o viene immediatamente
riconosciuto dal sistema, e quindi gestito senza nessun problema, oppure è troppo difficile tenere
una lezione generale su come risolvere i problemi. Sappiate però che se state avendo un problema,
quasi certamente un altro utente l’ha già avuto, e si trovano su Internet delle pagine con spiegazioni
sul da farsi. E’ sufficiente usare un motore di ricerca (personalmente suggerisco google), inserire
come ricerca il nome del prodotto che non riuscite ad usare seguito da “linux installation problem”
(o “problema di installazione Linux” se non masticate l’inglese, ma aspettatevi molti meno risultati),
e troverete quasi di sicuro email appartenenti a qualche mailing list in cui un utente racconta il suo
problema, e qualche esperto gli consiglia che cosa fare.
La gestione degli utenti è davvero un compito facile. Se volete aggiungere un nuovo utente, è
sufficiente andare nel menù avvio, e selezionare “Impostazioni di sistema” e quindi “User
manager”, per veder apparire una finestra come quella mostrata in figura 1.
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
1
Linux per Principianti
Lezione 14
Figura 1: Gestione utenti
Possiamo quindi aggiungere nuovi utenti, o nuovi gruppi, semplicemente facendo click sui tasti
“Aggiungi utente” e “Aggiungi gruppo”.
Ma perché si dovrebbero aggiungere nuovi utenti? Una prima ragione è che, se più persone usano lo
stesso computer in casa, è meglio che ognuno abbia il proprio spazio, separato e protetto, e possa
così avere le proprie impostazioni ed i propri dati. Inoltre, è possibile usare la macchina Linux come
server, e quindi dare l’accesso ad utenti che fisicamente non la usano, ma virtualmente ci eseguono
comandi. Quest’ultima operazione è comunque per utenti più esperti di reti, e non di grandissima
utilità attualmente (prima dell’esistenza di programmi “peer to peer” era un modo molto efficace di
condividere dati con amici). La creazione di utenti è molto semplice, ed in tutto uguale alla
creazione dell’utente che avete fatto durante l’installazione di Linux.
Aggiungere nuovi gruppi non dovrebbe invece essere uitile ad un computer usato in una famiglia.
Ha senso, per esempio, nei centri di calcolo delle università, in cui tutti gli utenti che seguono
determinati corsi, fanno parte degli stessi gruppi, ed hanno così la possibilità di eseguire programmi
adatti a quello che stanno studiando, o di accedere a risorse altrimenti non pubbliche (per esempio si
potrebbe consentire l’accesso ad una periferica quale modem o masterizzatore solo ad un gruppo).
Notate che è altresì possibile cambiare la password di un utente perché, magari, l’ha dimenticata. Se
aveste dimenticato la vostra password, potete entrare quindi in modalità grafica come root (è uno
degli unici casi in cui si può fare), e lanciare il programma di gestione degli utenti. Un’altro metodo
è quello di aprire un terminale testuale ([CTRL][ALT][F1]), entrare come root, e digitare da shell il
comando “passwd nome_utente”. Vi verrà chiesta una nuova password per l’utente nome_utente, ed
il gioco è fatto.
Se avete invece dimenticato la password di root, è un problema appena più spinoso, ma con
soluzione. Quando fate il boot, e vi appare la schermata di GRUB, premete il tasto ‘e’ (che sta per
edit) sulla riga relativa a Linux. Vi dovrebbero apparire tre linee di codice come in Figura 2.
Portatevi sulla linea che inizia con ‘kernel’ (nel mio caso la seconda), e premete ancora una volta il
tasto ‘e’. Aggiungete in fondo alla riga il testo “single”, preceduto da uno spazio per staccarlo dal
resto, quindi premete [Invio] e successivamente il tasto ‘b’ (boot).
Il sistema partirà come di normale, ma ad un certo punto il processo di boot si fermerà in modalità
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
2
Linux per Principianti
Lezione 14
testuale, con una shell di root. E’ la modalità singolo utente, una modalità di emergenza in cui quasi
nessun servizio del sistema operativo è fatto partire, ma si dà una shell per correggere eventuali
problemi. E’ sufficiente a questo punto dare il comando “passwd” per poter inserire una nuova
password. Facendo un reboot (con il comando “reboot” o con [CTRL][ALT][CANC], mai
spegnendo il computer o premendo il tasto di reset!!), si potrà riavvire il tutto in modalità grafica,
pronti ad usare di nuovo Linux.
Condividere le partizioni Windows non è difficile. Le vedrete come una directory chiamata “/win”,
che punterà all’equivalente di “C:\”. Quest’operazione si sarebbe potuta fare in fase di installazione,
al momento di decidere le partizioni, ma l’ho tralasciata per non spaventare chi non aveva mai
giocato con le partizioni, e per poter imparare qualcosa di più adesso.
Figura 2: Entrare in modalità singolo utenter
Prima di tutto dobbiamo sincerarci di quale sia la partizione da montare. Abbiamo dato una vaga
spiegazione di cosa sia una partizione, e cioé una parte logica di un disco. Praticamente, ogni disco
può essere diviso in più parti, ed esiste una tabella che dice da dove parte e dove finisce (in termini
di settori del disco) ogni parte logica. In Linux le partizioni vengono gestite in modo trasparente:
ogni disco (come ogni periferica) è un file speciale presente nella directory “/dev”. Se avete un
disco EIDE, allora quasi di sicuro sarà il file /dev/hda, mentre se è uno SCSI è quasi di sicuro
/dev/sda. Ogni partizione corrisponde ulteriormente ad un file: /dev/hda1 sarà la prima partizione
del disco, /dev/hda2 sarà la seconda, e così via.
Per vedere le partizioni sul nostro disco, è sufficiente aprire una shell, digitare il comando “su” per
diventare root (ovviamente dando la password), e dare il comando “/sbin/fdisk /dev/hda”. Se
dovesse darvi errore, provate a sostituire il nome del disco con hdb, hdc e così via se è EIDE, e con
sdb, sdc, etc altrimenti.
Se invece il programma parte, digitate ‘p’ seguito da invio, per avere una lista delle partizioni sul
disco. Dovrebbe apparirvi una situazione molto simile a quella di Figura 3: memorizzate quale
partizione contiene Windows (nel mio caso è hda1).
Premete ‘q’, seguito da [Invio] per uscire. A questo punto dobbiamo creare la directory in cui
montare la nostra partizione Windows: digitate “mkdir /win” (ovviamente sempre come root,
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
3
Linux per Principianti
Lezione 14
altrimenti non avreste i diritti per fare una simile cosa). Digitate quindi il comando “emacs
/etc/fstab”. Il file “fstab” contiene una lista di tutti i filesystem che
Figura 3: Partizioni nel sistema
Linux deve gestire, mentre emacs è un famosissimo (ed incredibilmente completo) editor di testo. In
Figura 4 è presentato il mio file fstab, che immagino molto simile al vostro. Notate che ci sono le
directory /home e /, che abbiamo creato durante l’installazione, che non sono altro che punti in cui
vengono montate due partizioni.
Figure 4: Struttura del file fstab
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
4
Lezione 14
Linux per Principianti
Andate dopo l’ultima linea, e ggiungete la seguente nuova riga:
/dev/hda1
/win
auto
defaults
00
mantenendovi in colonna con le prime entrate, premendo [Tab] una o due volte tra ogni entrata che
scrivete. Salvate il file andando con il mouse nel menù “File” -> “Save current buffer”, ed uscite
(sempre dal menù “File” -> “Exit Emacs”). Basterà ora digitare il comando “mount /dev/hda1”, per
avere la directory “/win” popolata dei vostri files del filesystem Windows (con il comando “ls /win”
vedrete il listato di “C:\”).
Potete terminare di essere root digitando “exit” nella shell, e la directory in futuro verrà montata
automaticamente senza bisogno che voi digitiate niente. Ora tutti gli utenti potranno leggere dalla
directory (solo in caso di NTFS ci potrebbero essere dei problemi), ma solo root ci potrà scrivere (in
caso di NTFS nessuno, come è già stato spiegato).
Anche l’installazione di stampanti, che fino a pochi anni fa era un vero e proprio compito da uomini
duri, è diventato davvero semplice grazie ad un programma grafico piuttosto intuitivo. Andate nel
menù dei programmi, e selezionate: “Impostazioni di sistema” e quindi “Printing”. Dopo aver
inserito la passwrod di root, vi apparirà una finestra simile a quella mostrata in Figura 5.
Figure 5: Installazione di stampanti
Premete sul bottone “Nuovo”, e lasciatevi guidare dall’installazione assistita. Nel passo in cui
dovete scegliere il tipo di stampante, se non è una stampante di rete, ma una normale stampante
attaccata direttamente al vostro computer, dovrete scegliere “Local”, e non “Stampante Windows”,
che si riferisce a reti di tipo MS network. Date un nome alla vostra stampante, che vi permetterà poi
di usarla, ed andate avanti, selezionando il device tra quelli proposti (di solito uno solo, e proprio
quello giusto). Al termine potrete stampare una pagina di prova, per verificare che tutto si sia svolto
correttamente.
Infine parleremo della connessione ad Internet: le interfacce grafiche ci vengono ancora una volta in
aiuto. Dal menù delle applicazioni, selezionate “Strumenti di sistema” e quindi “Configurazione
assistita Internet”. Ancora una volta digitate la password di root, e vi dovrebbe apparire una finestra
simile a quella in Figura 6.
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
5
Linux per Principianti
Lezione 14
Figura 6: Connessione ad Internet
Dovete solo scegliere la giusta opzione per far partire la configurazione del collegamento via
modem, via ISDN o via ADSL (opzione xDSL), in cui praticamente dovrete solo scrivere il vostro
nome utente, la vostra password (relativi al provider, ovviamente), ed in caso il numero telefonico a
cui collegarsi.
Qualora abbiate un modem interno e non vi viene riconosciuto, potrebbe essere uno dei famigerati
“winmodem” non supportati da Linux (sono davvero pochi). Andate sul sito
http://www.linmodems.org e verificate che il vostro modem non sia sulla lista di quelli non
supportati. In caso contrario, se volete collegarvi ad Internet dovrete usare l’odiato Windows.
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
6
Linux per Principianti
Lezione 15
Linguaggi di
programmazione
Probabilmente un utente principiante non avrà la necessità immediata di usare dei linguaggi di
programmazione, ma visto che Linux è un sistema operativo su cui si trovano innumerevoli
compilatori, dedicheremo questa lezione a fare una lista delle possibilità che vengono offerte.
Con in più, quasi come bonus, alcune nozioni sull’utilizzo di un editor di testi di grandissima qualità
quale Emacs.
I programmi che noi usiamo in un qualsiasi sistema operativo sono essenzialmente di tre tipi:
compilati, interpretati o misti. In ogni caso il programmatore deve scrivere del “codice sorgente”,
cioé un insieme di istruzioni che dicono al computer cosa deve fare quando esegue il programma
stesso (operazioni aritmetiche, lettura di input, presa di decisioni a seconda del valore di qualche
variabile, etc).
Quello che cambia è cosa succede una volta scritto il codice: se usiamo un linguaggio compilato,
allora dobbiamo dare il codice sorgente in pasto (cioè in input) ad un programma chiamato appunto
compilatore. Questo programma ci restituirà un file in linguaggio macchina (o comunque un
linguaggio di basso livello), che potrà essere eseguito immediatamente, scrivendone il nome su una
shell, oppure aggiungendo un’icona al menù delle applicazioni, e andandoci a fare click con il
mouse. Un linguaggio compilato è per esempio il C.
Un programma interpretato, invece, deve essere dato in input, ogni volta che lo vogliamo eseguire,
ad un altro programma chiamato interprete. Di norma, poiché un interprete ogni volta deve tradurre
tutte le istruzioni di un programma, il risultato è notevolmente più lento che un programma
compilato. E’ tuttavia vero che, una volta riscritto l’interprete per tutti i tipi di computer e per tutti i
sistemi operativi, qualsiasi programma da esso interpretabile sarà utilizzabile da chiunque (mentre i
programmi compilati, per quanto detto nel primo modulo di lezioni, sono indissolubilmente legati
ad una combinazione tipo di processore/sistema operativo). Un linguaggio puramente interpretato è
per esempio il Perl.
Infine, un buon compromesso tra velocità e portabilità è dato dai linguaggi misti: il codice sorgente
viene dato ad una sorta di compilatore, che lo traduce in un linguaggio intermedio, di livello alto
abbastanza perché sia facile implementare un interprete su ogni piattaforma. A questo punto, ogni
volta che si vuole eseguire il tutto, è necessario dare il codice semi compilato in input ad un
interprete, che però avrà vita piuttosto semplice, essendo le istruzioni da interpretare sicuramente
più vicine al computer che al linguaggio di programmazione. Le prestazioni dunque saranno
anch’esse una via di mezzo, come accade per il più famoso linguaggio di questo tipo: JAVA.
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
1
Linux per Principianti
Lezione 15
Per fare un esempio forse più comprensibile, è come se una persona ad esempio giapponese, amante
della cucina mondiale, dovesse consegnare una lista di alcuni prodotti che vuole recapitatigli
periodicamente ad un italiano. A questo punto, supponendo che entrambi i personaggi parlino solo
la lingua della loro nazione, il compratore può far tradurre la lista in italiano da un interprete
giapponese, mandarla, ed essere (ragionevolmente) sicuro che verrà capita dal venditore. Se però nel
futuro cambierà nazione in cui si approvigiona, scegliendo ad esempio la Francia, dovrà farsi
tradurre di nuovo la lista, e così via. E’ un po’ il caso della compilazione.
Può invece mandare la lista in giapponese, facendola tradurre in loco. In questo modo può inviare in
tutto il mondo sempre la stessa lista, delegando la traduzione a degli interpreti. Tuttavia, poiché non
è certo che la lista sia sempre la stessa, ogni volta questa dovrà venire tradotta, anche se è uguale
alla volta precedente, facendo andare il compratore incontro a costi ingenti. E’ il prezzo che si paga
per usare interpretazione.
Infine, potrebbe farsi tradurre la lista, per esempio, in spagnolo. Prima di tutto perché é una delle
lingue più parlate al mondo, e quindi qualora si rivolgesse a mercati latini non pagherebbe niente, e
poi perché è facilmente comprensibile da chi parla una lingua neolatina (ma anche dagli anglofoni,
rispetto al giapponese!). Probabilmente i venditori che si vedranno recapitata una tale lista, potranno
avvalersi di consigli di amici, e soluzioni economiche di questo tipo.
Tornando alla scrittura di programmi, il primo passo da fare è la scrittura del codice sorgente.
Ovviamente in una lezione non posso entrare nel merito di nessun linguaggio specifico, ma quasi
tutti i linguaggi non sono altro che una lista di comandi che il computer dovrà eseguire. I comandi
base sono gli assegnamenti di valori a variabili (che possono essere visti come oggetti adatti a
contenere dati), il comando condizionale (se è vero qualcosa, allora fai questo, altrimenti fai
quest’altro) e il ciclo (fai questo finché non si verifica una certa condizione). Ogni linguaggio poi
offre tutta una serie di cose in più per rendere più facile la scrittura di programmi complessi, ma
tutto (o quasi) si riduce a scorciatoie che si basano sui costrutti appena presentati.
Il sorgente è un testo normale, che va scritto in ASCII, cioè senza abbellimenti dati da caratteri,
paragrafi, etc. I files di testo sono i files che di solito si aprono con il Blocco Note in ambiente
Windows.
In Linux abbiamo tantissimi programmi, chiamati editor, che ci permettono di editare files di testo.
Nella distribuzione da noi installata sono presenti gedit (molto simile al blocco note di Windows) ed
il suo parente stretto kedit. Il primo si trova nel menù delle applicazioni di GNOME nella categoria
“Accessori”, sotto la voce “Editor di testi”. Il secondo invece è uno strumento di KDE (ma notate
che si può usare senza alcun problema da GNOME), che si può invocare da una shell (sicuramente è
anche in qualche parte del menù KDE). Questo programma permette appunto di scrivere, salvare e
riaprire files di testo, ma è abbastanza scomodo per grandi programmi (ma anche per programmi che
superano le cento linee di codice).
Per questo, sempre nel menù delle applicazioni, nella sezione “Programmazione”, è presente Emacs,
che è un programma famosissimo fra gli utenti Unix/Linux.
E’ un programma piuttosto vecchio, ma proprio questo lo fa estremamente stabile, testato e sicuro.
D’altra parte un editor di testi non deve avere delle caratteristiche che con il tempo diventano
superate! Inoltre Emacs è un programma che permette di fare un’infinità di cose (credo che le
persone al mondo che lo sanno usare in tutto e per tutto siano davvero poche), e facilita la vita in
molti casi.
Giusto a titolo di conoscenza personale, è un programma che può essere usato per gestire la posta,
per navigare in Internet in modalità testuale, e per eseguire altri programmi!
A noi tuttavia interessa la possibilità di scrivere testi, per sfruttare la quale non bisogna fare niente
di particolare.
Una volta aperto, ci verrà mostrato un messaggio di benvenuto, dopo il quale è possibile aprire un
file (eventualmente creandolo) con l’icona che mostra il foglio bianco, oppure dal menù “File” ->
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
2
Linux per Principianti
Lezione 15
“Open file”. Notate che non appare nessuna finestra da cui scegliere il file, ma bisogna digitarne il
nome nella riga più in basso della finestra stessa di emacs. Come piccolà comodità, possiamo usare
il tasto [Tab] come se fossimo su una shell.
Dopo aver digitato un nome (per esempio prova.java), emacs tenta di capire che tipo di programma
stiamo scrivendo, in modo da offrirci i suoi servizi. Notate che, se avete scritto prova.java, alla
destra del nome del file (appena sopra la riga in cui avete digitato il nome) è apparsa la dicitura:
“Java Abbrev”, perché il programma ha capito che tipo di file è. Tra le mille comodità offerte ci
sono la colorazione delle parole chiave, in modo da capire meglio il codice che stiamo scrivendo
(provate per esempio a digitare “import” oppure “int”, che sono parole chiavi di Java, per vederle
colorate all’istante), e l’indentazione automatica (un file si dice indentato se segue delle regole per
l’andata a capo e la tabulazione dettate dalla struttura del programma, in modo da capirne
velocemente la struttura).
Emacs permette la gestione contemporanea di più files, in modo automatico: aprendo un nuovo file
chiamato, per esempio, “prova.pl”, oltre ad accorgersi che vogliamo editare del codice Perl, la
finestra da cui partivamo viene nascosta, ma non perduta. Nel menù “Buffers” c’è una lista di tutti i
file attivi, compreso quello contenente tutti i messaggi che emacs visualizza.
I comandi mostrati nei menù non sono che un’infinitesima parte di tutti quelli offerti dal
programma: provate a richiedere l’aiuto in linea (in inglese), per avere un’idea della complessità del
programma!
Tuttavia, tutto quello che può essere necessario ad un utente inesperto vi è presente, comprese le
funzionalità di copiatura/taglio/incollatura, di “undo” per annullare l’ultima operazione fatta, e di
“redo” per rifarla (come curiosità: in Linux, ogni volta che si seleziona del testo con il mouse,
questo viene automaticamente copiato, e può essere incollato con un semplice click del tasto
centrale del mouse sul punto in cui vogliamo l’incollatura).
A questo punto, è bene chiudere questa lezione con una rapida carrellata dei compilatori/interpreti di
linguaggi di programmazione offerti GRATUITAMENTE da Linux: la maggior parte di essi sono di
ottimo livello, e permottono la creazione di programmi estremamente efficienti, e non hanno niente
da invidiare a prodotti venduti a carissimo prezzo. Nessuno di essi è installato se si è scelta
un’installazione di tipo Desktop personale: apprenderemo nel prossimo modulo di lezioni ad
installarli in modo molto semplice.
Un primo linguaggio di programmazione, molto semplice ma veramente utile, è offerto dalla stessa
shell: con esso è possibile scrivere dei file cosiddetti “batch”, che vengono interpretati ed eseguiti
dalla shell stessa. E’ molto utile quando si devono compiere ripetutamente operazioni molto simili
tra di loro, ma anche quando bisogna fare qualcosa per ogni file contenuto in una directory (per
esempio rinominarlo), e così via. E’ detto il linguaggio integrato (o built-in in inglese) nella shell.
Il kernel di Linux è scritto in C: come potrebbe dunque mancare il compilatore di questo linguaggio
tanto amato/odiato? Il gcc (Gnu C Compiler) è molto efficiente e stabile, e genera codice piuttosto
ottimizzato. Con esso vengono offerti i compilatori di C++ (chiamato g++) e di Fortran (f77).
Vista la sua popolarità, anche Java è facile da trovare. Tuttavià ci sono in questo caso dei problemi
di licenza: essendo un prodotto SUN non rilasciato con licenza GNU, ed essendo il
compilatore/macchina virtuale della SUN l’unico davvero completo, non è possibile ancora scrivere
del codice “free” in Java. Tuttavia diversi gruppi di programmatori stanno lavorando ad una
versione Gnu della macchina virtuale, e si prevede di averne delle versioni complete a breve (ci
sono diverse versioni incomplete, di cui la più famosa è forse kaffe).
Tra i linguaggi puramente interpretati ce ne sono due usatissimi per la creazione di siti web
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
3
Linux per Principianti
Lezione 15
dinamici, e nati in ambiente Linux: Perl e PHP. Entrambi hanno degli ottimi interpreti in tale
ambiente, e sono facilmente usabili (pur di averne una minima conoscenza).
Infine, poiché .NET di Microsoft sta prendendo piede, è bene precisare che la piattaforma esiste
anche in Linux con due diversi progetti: .GNU e mono della Ximian (che tra l’altro offre una
versione molto accattivante di GNOME). In entrambi i progetti esiste un compilatore di C#, anche
se ovviamente ancora non è del tutto stabile (come non lo è quello Microsoft per ambiente
Windows).
Ci sono ovviamente altre centinaia di linguaggi di programmazione, creati per soddisfare le più
diverse esigenze ed i più disparati programmatori. Sappiate che la probabilità che esista un
compilatore per uno di essi in Linux è molto alta, essendo Unix/Linux un sistema operativo molto
usato da chi fa ricerca, che quindi spesso deve implementare qualche programma per fare
simulazioni, o per produrre dei dati.
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
4
Linux per Principianti
Lezione 16
Per navigare e leggere
la posta elettronica
L’uso di Internet è ormai tanto comune ed utile, che i programmi per visualizzare pagine web e per
gestire la posta elettronica possono essere annoverati tra il software di base senza alcun problema
(qualche anno fa questo sarebbe stato impossibile).
Come già detto più volte, a modo di slogan, Linux è un sistema operativo coetaneo di Internet, e
quindi gestisce molto efficacemente le reti ed i dati che ci viaggiano sopra. Vedremo nell’ultimo
modulo di lezioni tutta una serie di programmi per fare le cose più disparate, dalla chat alla
condivisione di files e documenti, mentre in questa lezione ci concentreremo sui browsers e sui
gestori di posta.
Mentre su piattaforma Windows c’è l’eterno dilemma se sia meglio usare Microsoft Explorer o
Netscape Navigator, in Linux non abbiamo nessun problema: quasi tutto si riduce all’uso di
quest’ultimo e suoi derivati (o derivanti), a parte alcune eccezioni.
Si può trovare l’ultima versione di Netscape Navigator sul sito http://www.netscape.com, ma
èpraticamente inusata a causa della sua pesantezza, e poiché non è software “free” (vi accorgerete
che, con l’uso di Linux, è facile farsi coinvolgere emotivamente in questioni filosofiche che su
Windows non esistono neppure).
Per sua fortuna la Netscape Corporation, qualche anno fa, ha fatto un passo che nessuno si sarebbe
aspettato, rilasciando i codici sorgenti del loro ultimo browser (relativamente ad allora), ed aprendo
una linea di sviluppo totalmente “free”, e non gestita solo da loro stessi, ma aperta a tutti. E’ nato
così il felicissimo progetto Mozilla, che ha portato a dei browser stabili e molto funzionali, che non
hanno niente da invidiare ad Explorer, ma che sono presenti su quasi tutti i sistemi operativi (a
differenza del prodotto Microdoft).
Nell’installazione cha abbiamo fatto di Linux è presente la versione 1.0.1 di tale browser,
rintracciabile nel menù delle applicazioni, sotto la categoria “Internet”, alla voce “Browser web”.
Ovviamente non c’è niente di speciale rispetto alla sua controparte presente in Windows, tranne
forse la gestione dei “tab”, che permette di gestire più finestre contemporaneamente in modo molto
ordinato: facendo click con il tasto destro del mouse su un link, è possibile selezionare “Open link in
new tab”, per avere due pagine in un’unica finestra. Ovviamente è possibile configurare il
programma (dal menù “Edit”, alla voce “Preferences”), in modo che facendo click su un link con il
tasto medio, questo si apra in un nuovo tab, invece che sostituendosi alla pagina precedente. Inoltre,
invece che aprire una nuova finestra, è possibile aprire un nuovo tab dal menù “File” -> ”New” ->
“Navigator Tab”.
In figura 1 potete vedere una finestra contenente quattro pagine contemporaneamente, su ognuna
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
1
Linux per Principianti
Lezione 16
delle quali è possibile entrare premendo sull’apposito tab.
Appena installato il sistema, non c’è neanche un plugin a corredo del browser, rendendo meno
interassanti molte pagine. Vedremo in seguito come installarli tutti, dal Flash Player al lettore di file
audio/video Real.
Staccatosi da Mozilla non molto tempo fa, Galeon è un browser molto leggero, ma efficiente e di
gradevolissimo utilizzo. Aumenta le potenzialità dei tab, con una gestione più elastica, e su alcune
pagine offre delle viste migliori. Purtroppo non è presente nell’installazione base di RedHat, ma
presto impareremo come installarlo dai cd di installazione, ed allora vi consiglio caldamente di
provarlo (anche perché il capo progetto è un italiano!).
Figure 1: Mozilla ed i suoi tab
E’ invece installato un browser che è componente fondamentale di KDE (ma usabile anche da
GNOME o altri gestori di Desktop/finestre): Konqueror. E’ possibile richiamarlo dal menù delle
applicazioni, sotto la voce “Extra” -> “Internet” -> “Browser Web Konqueror”, sia da GNOME che
da KDE.
E’ un programma più complesso di un browser web, in quanto si prefigge di fare quello che in
Windows è l’esporatore di risorse di sistema (basta premere sull’icona della casetta per capirlo), ma
sulla rete non se la cava affatto male. Infatti è diventato rapidamente l’unico rimpiazzo di Mozilla e
famiglia su Linux in pratica, ed è apprezzabile per la sua rapidità (notate però che la navigazione è
più veloce che in ambiente Windows con qualsiasi programma). Nella Figura 2 è mostrato il
Konqueror che visualizza la pagina del mantenimento del kernel di Linux.
Infine, una delle poche alternative che sono minimamente usate, è il browser Opera: neanch’esso è
presente nell’installazione di base, ma può essere scaricato dal sito http://www.opera.com, e spesso
è un validissimo strumento (oltre che incredibilmente veloce). Come già detto in più occasioni, in
una delle prossime lezioni scopriremo come si installa il nuovo software, e vi potrete sbizzarrire a
provare tutti i programmi che in questo momento non avete a disposizione.
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
2
Linux per Principianti
Lezione 16
Esiste inoltre un browser testuale chiamato “lynx”, purtroppo non installato nella versione base della
RedHat, che molto spesso è utile quando abbiamo bisogno di visualizzare nel minor tempo possibile
una pagina di cui non ci interessano le figure, ma solo il contenuto. Finché non lo si prova non si
può credere a quanto sia utile uno strumento così semplice!
Figura 2: Il browser conqueror
Per quanto riguarda la gestione della posta, esiste un programma che sta conquistando nuovi utenti
ogni giorno, vista la sua completezza, di nome Evolution.
Evolution è la copia perfetta di Microsoft Outlook, con tanto di calendario e di rubrica con indirizzi,
ma con una differenza sostanziale: mentre chi usa Outlook è soggetto ad un’infinità di virus, gli
utenti Evolution si possono scordare quest’evenienza. Questo perché i virus non esistono in Linux,
essendo un sistema operativo più sicuro del suo cuginastro Windows. Attenzione però: ciò non
significa che potete sentirvi del tutto sicuri quando usate Linux. Ci sono degli errori di
programmazione che permettono a persone del tutto estranee di spiare nella vostra macchina, di
usarla per mandare email o per compiere attacchi ad altre macchine. E’ però certo che la probabilità
che ce ne sia uno è molto maggiore in Windows che in Linux.
Tornando ad Evolution, da GNOME ci si accede dal solito menù delle applicazioni, sotto la sezione
“Internet”, alla voce “E-mail”. La prima volta che parte potrebbe aver bisogno di un tempo
abbastanza lungo, ma dalle volte successive dovrebbe normalizzarsi.
Perte un’utility per la configurazione del programma molto semplice, che con le informazioni
minime quali il vostro indirizzo, il nome del server POP (per ricevere) e SMTP (per spedire), fa
partire il programma vero e proprio (Figura 3).
Il punto di forza di Evolution sono i filtri: è semplicissimo mandare un’email appena arrivata in una
certa cartella a seconda di dati quali l’indirizzo di chi l’ha mandata, o del contenuto. Per gestire i
filtri, potete andare nel menù “Strumenti”->”Filtri”, oppure fare click con il tasto destro del mouse
su un’email, e selezionare “Crea filtro da messaggio”, per evitare un passo.
Un’altra caratteristica piuttosto importante è la facilità di gestione di più indirizzi di posta
elettronica: dal menù “Strumenti”->”Impostazione Posta”, è possibile aggiungere nuovi indirizzi,
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
3
Linux per Principianti
Lezione 16
modificare quelli esistenti, ed eliminarne alcuni.
Figura 3: Evolution
Altri programmi (che trovate sempre nel menù applicazioni, sezione “Extra”->”Internet”), sono
kmail, offerto insieme al kde, ed il gestore di posta di mozilla. Tuttavia, essendo molto simili ad
Evolution, ma con molte caratteristiche in meno, non entreremo nei dettagli.
Infine, per la sezione “Cose che forse non saranno mai usate da un principiante”, esitono moltissimi
programmi per gestire la posta in modo testuale: uno di questi è ‘mutt’, presente nell’installazione
RedHat, che va invocato da shell. Alcuni utenti piuttosto esperti li preferiscono perché sono molto
leggeri, efficienti, e possono essere usati in remoto, a differenza dei programmi grafici. Se tuttavia il
vostro provider di posta vi offre anche un accesso di tipo webmail, non c’é nessun bisogno di questa
funzionalità.
Personalmente uso Evolution, ma ho mutt configurato e pronto da usare in remoto quando ne ho
bisogno, perché il webmail dell’università non sempre è affidabile.
Questa lezione è stata ad un livello molto alto rispetto ad altre in cui siamo andati a vedere più
dettagli per due motivi: prima di tutto credo che tutti abbiate usato abbondantemente altri
browser/clienti di posta, e quindi aveste solo bisogno di sapere qual’è l’offerta su Linux per provare
un po’ tutto e decidere.
Inoltre, con queste informazioni minime, siamo ora in grado di fare tutto l’indispensabile con il
nostro Linux, ed abbiamo i primi elementi per decidere se approfondirne la conoscenza o lasciar
perdere.
Non vi fate scoraggiare da alcuni messaggi mal tradotti, o dall’aspetto minaccioso che alcune cose
possono assumere agli occhi di un nuovo utente: vi garantisco che con l’uso, ed il costante
aggiornamento delle proprie conoscenze anche grazie alla quantità incredibile di documentazione
disponibile on line, arriverete a capire molte più cose di quante non crediate, non solo relative a
Linux, ma anche al computer.
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
4
Linux per Principianti
Lezione 17
Esercitazione
Possediamo ormai tutti i fondamenti per fare qualche esercizio interessante, e di sicuro molto
pratico.
Esercizio 1: Dalla shell, il comando
touch nomefile
crea un file di nome nomefile nella directory in cui ci si trova. Dopo aver creato all’interno della
directory /tmp una nuova directory di nome ‘corso’, creare all’interno di quest’ultima i files con i
seguenti nomi:
• uno
• due
• tre
• trentatre
• trecentotrentatre
e le directory chiamate:
• quattrotto
• quarantotto
con il comando ls ed il pattern matching, visualizzate:
1. tutti i files nel cui nome compaia la lettera ‘r’ in qualsiasi posizione
2. tutti i files il cui nome cominci per ‘tre’
3. tutti i files che contengono la parola ‘tre’ almeno due volte volte nel nome
Esercizio 2: Essendo il comando da shell per copiare files il seguente:
cp files_da_copiare_separati_da_spazio directory_destinazione
ed essendo il comando per spostare files:
mv files_da_spostare_separati_da_spazio directory_destinazione
tra tutti i files creati nel precedente esercizio copiate all’interno della directory ‘quattrotto’ tutti i
files che contengono almeno una lettera ‘u’ nel nome, e spostate nella directory ‘quarantotto’ tutti i
files il cui nome contiene esattamente tre lettere.
Esercizio 3: Il comando ‘ls –R’ restituisce il listato dei file in una directory, comprendendo anche i
files contenuti nelle sottodirectory.
Riempire il file ‘tre’ che avete creato nel primo esercizio (e spostato nel secondo) con il listato
ricorsivo (a questo si riferisce la R del comando) della directory ‘/usr/share’ (ignorando eventuali
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
1
Linux per Principianti
Lezione 17
messaggi d’errore restituiti).
Esercizio 4: Il comando ‘more nomefile’ per leggere il contenuto di un file, e ‘grep
stringa_da_cercare’ per trovare un pattern all’interno di un testo, trovare tutti i nomi di file,
contenuti nel file ‘tre’ che contengono la sottostringa ‘jo’.
Esercizio 5: Ricordando che il comando ‘sort’ mette in ordine dei testi ricevuti in input, ripetete
l’esercizio precedente facendovi restituire la lista dei files il cui nome contenga ‘jo’ in ordine
alfabetico.
Esercizio 6: Da ambiente grafico, aprite il file ‘tre’ che avete manipolato da shell negli scorsi
esercizi, con emacs (ovviamente senza usare la shell).
Esercizio 7: Dopo aver configurato il cliente di posta elettronica Evolution in modo da poter
ricevere e spedire emails, create una cartella di nome “prova” all’interno della cartella “Posta in
arrivo” (dopo averla trovata!). Create quindi un filtro che vi ridiriga tutte le lettere che contengono
nel campo “oggetto” la parola “linux”. Provate il filtro inviando a voi stessi un’email con oggetto
“Corso linux”, quindi cancellate sia il filtro che la cartella “prova”.
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
2
Linux per Principianti
Lezione 17
Soluzioni
Esercizio 1: Per quanto detto nelle lezioni riguardanti la shell, è possibile creare i files e le directory
in due modi: con nome relativo o assoluto. Nel primo caso ci spostiamo in /tmp con il comando:
cd /tmp
e quindi creiamo la directory ‘corso’ ed i files nel seguente modo:
mkdir corso
cd corso
touch uno
touch due
touch tre
touch trentatre
touch trecentotrentatre
e le directory con:
mkdir quattrotto
mkdir quarantotto
Con il secondo metodo, senza digitare il commando cd, avremmo potuto creare i file e la directory
con i comandi:
mkdir /tmp/corso
touch /tmp/corso/uno
touch /tmp/corso/due
…..
D’ora in avanti assumerò che vengano usati nomi relativi, in quanto normalmente è più comodo
scrivere nomi più brevi. Tutto però può essere fatto nell’altro modo precedendo il nome dei files con
“/tmp/corso/”.
Per trovare i nomi di file contenenti una ‘r’, è sufficiente digitare:
ls *r*
cioè cercare i files il cui nome inizi con una sequenza (eventualmente vuota) di caratteri qualsiasi,
contenga una ‘r’ e finisca con una sequenza (eventualmente vuota) di altri caratteri.
Il comando vi dovrebbe restituire:
tre trentatre trecentotrentatre
quarantotto
quattrotto
perché effettivamente uno e due (gli unici esclusi) non contengono nessuna ‘r’.
Trovare i files il cui nome inizi per ‘tre’ è altrettanto facile:
ls tre*
che restituisce
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
3
Linux per Principianti
Lezione 17
tre trecentotrentatre trentatre
e si trovano i nomi che contengono almeno due parole ‘tre’ nel nome con:
ls *tre*tre*
Gli asterischi iniziali e finali servono per considerare anche i files i cui nomi non iniziano e
terminano per tre (immaginatevi qualcosa tipo uno.tre.due.tre.quattro).
Esercizio 2: La copia si fa con il comando
cp *u* quattrotto
che restituisce due messaggi di avvertimento, in quanto le directory non vengono copiate se non si
specifica il parametro –r.
A questo punto, muovere i files richiesti è molto simile:
mv ??? quarantotto
Facendo un listato della directory quattrotto, dovrebbe apparirvi:
ls quattrotto
due uno
cioè i files con una ‘u’ nel nome, e guardando in quarantotto:
ls quarantotto
due tre uno
cioè i nomi con tre lettere. I files uno e due sono ora presenti in due directory, perché la prima volta
sono stati copiati, e non spostati!
Esercizio 3: Il file ‘tre’ è ora contenuto nella directory ‘quarantotto’. E’ possibile portarci in tale
directory e riempire il file nel seguente modo:
cd quarantotto
ls –R /usr/share > tre
oppure, alternativamente, fare tutto senza spostarsi nel seguente modo:
ls –R /usr/share > quarantotto/tre
Ci sono ovviamente altri modi possibili, ma questi sono i più comodi.
Spero che nella scrittura dei comandi da shell vi stiate aiutando con il tasto [Tab], altrimenti scrivere
questi lunghi nomi interamente più volte potrebbe essere davvero noioso!
Esercizio 4: E’ sufficiente usare una pipe per combinare due programmi:
more tre | grep jo
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
4
Linux per Principianti
Lezione 17
per avere la lista desiderata.
Esercizio 5: Basta unire un ulteriore comando alla catena:
more tre | grep jo | sort
Esercizio 6: Questo esercizio è per capire che in fondo l’ambiente grafico ci permette di fare quasi
le stesse cose della shell (per un utente esperto questo è falso, vista la flessibilità della shell).
Da GNOME (ma da KDE è pressoché lo stesso procedimento), fate un doppio click sull’icona
raffigurante la casetta, aprendo la vostra home directory (Figura 1), quindi portatevi sulla directory /
premendo sul tasto “freccina verso l’alto” (corrispondente al comando cd ..), due volte, essendo la
directory da cui partite /home/nomeutente.
Figura 1: home directory
Qui entrate prima in ‘tmp’, quindi in ‘corso’ ed infine in ‘quarantotto’ (Figura 2).
E’ sufficiente premere con il tasto destro del mouse sul file ‘tre’, per avere un menù, dal quale si
deve scegliere “Apri con” -> “GNU Emacs”.
Ed il gioco è fatto.
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
5
Linux per Principianti
Lezione 17
Figura 2: Nella directory giusta!
Esercizio 7: Prima di tutto bisogna trovare la struttura delle cartelle che contengono la posta. Se
capitate sul sommario (la finestra con le previsioni del tempo e cose simili), premete sul bottone
“Posta in arrivo” per arrivare ad una situazione simile a quella di Figura 3.
Sotto il menù con le icone “Nuovo messaggio”, “Invia/Ricevi”, etc, c’è una barra grigia con la
dicitura “Posta in arrivo” ed accanto un triangolino con la punta rivolta verso il basso. Premete su
questa dicitura, e dovrebbe apparire la struttura delle directory (Figura 4). Per fissarla, è sufficiente
premere sul cacciavitino rappresentato accanto alla dicitura “Cartelle”.
Premendo con il tasto destro del mouse sopra la cartella “Posta in arrivo”, bisogna scegliere “Crea
nuova cartella” dal menù che appare. Date il nome “prova” alla nuova cartella, ed avete completato
la prima parte dell’esercizio.
Per creare un filtro, è sufficiente andare nel menù “strumenti” -> “Filtri”, e premere sul tasto
“Aggiungi”. Nella finestra che appare (Figura 5), bisogna decidere il criterio nella parte alta
(Oggetto Contiene linux), e la destinazione nella parte bassa (prova).
Mandatevi un’email per vedere che tutto sia giusto: se lo è, al lettera dovrebbe entrare direttamente
nella cartella prova!
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
6
Linux per Principianti
Lezione 17
Figura 3: Evolution alla partenza
Figura 4: Cartelle in vista
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
7
Linux per Principianti
Lezione 17
Figura 5: Creazione di un filtro
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
8
Linux per Principianti
Lezione 18
Manca un programma
importante
Finalmente, dopo tutte le volte che si è notato che un programma che vorremmo usare manca,
impareremo ad installare nuovi pacchetti in modo molto semplice.
Si è già detto di quanto la gestione del filesystem di Linux, unitamente all’uso di un sistema di
pacchetti, consentano di gestire efficientemente i programmi installati nel sistema. In Windows si
lascia che chi scrive il programma crei anche il programma di installazione. Quando un nuovo
programma viene installato sul computer, esso verrà copiato in parte in una nuova directory
(tipicamente C:\Programmi\Nome_programma), ed in parte in directory condivise (C:\Windows\ ed
altre). Anche se il sistema in qualche modo ricorda chi ha messo questi files, quando si disinstalla
un programma, o quando se ne installa una versione più recente con files di nome differente, è
molto difficile dire se un file va tolto, o se è usato da qualche altro programma (è poi impossibile
sapere a chi serva). In Linux questo non accade: grazie all’uso di un database, si sa precisamente a
chi appartiene un file, e qualora si tenti di disinstallare un programma che contiene files
fondamentali per altri, verrà dato un avvertimento del tipo: “Il programma x è necessario
all’esecuzione del programma y. Eliminando x, anche y verrà eliminato”, e si lascerà scegliere
all’utente se eliminare tutto o salvare tutto.
Il database, inoltre, permette al sistema di ricordare tutti i programmi presenti nei cd di installazione,
compresi quelli non installati, e di gestirli molto semplicemente. Ci sono poi dei database in rete,
che permettono di tenere il computer costantemente aggiornato, e ne vedremo uno particolarmente
utile.
Ci sono diversi metodi per accedere in modo semplice al sistema di gestione dei pacchetti: con il
servizio presente nel menù applicazioni, con dei servizi web (automatici o meno) o andando a
cercare i pacchetti sui cd di installazione.
Per usare il servizio di gestione pacchetti basato sui cd di installazione, dal menù delle applicazioni,
è sufficiente andare in “Impostazioni di sistema” -> “Pacchetti”. una lista, poco dettagliata della
situazione dei programmi nel nostro computer (Figura 1).
Premendo su dettagli, è possibile vedere una lista dettagliata dei programmi installati e ancora non
installati (Figura 2).
Per esempio, andando a fare click accanto alla voce “Internet grafico”, è possibile installare
‘galeon’, il browser di cui abbiamo parlato in una delle lezioni precedenti senza poterlo usare,
semplicemente facendo click nel quadratino alla sinistra del nome. Potete, per esempio, eliminare il
programma ‘balsa’ dallo stesso menù, che è uno dei tanti clienti di posta installati da RedHat, che
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
1
Linux per Principianti
Lezione 18
non offre niente di più di kmail, mozilla o evolution.
Confermando con il tasto ‘Chiudi’, si torna alla lista generica.
Andate per esempio nella categoria “Internet text based”, per installare ‘lynx’, il browser testuale di
cui si è parlato (vi consiglio di usarlo almeno una volta da una shell, per avere un’idea di come
alcuni utenti possano vedere le pagine).
Fate un giro fra tutte le categorie, per vedere come ci siano davvero i programmi più disparati (se
avete una macchina fotografica digitale, in “Grafica” troverete alcuni programmi per poterla usare).
Ci sono poi numerosissimi server per servizi di rete, come server web, server FTP, server per
database distribuiti e così via, ma vi consiglio di non installare niente sul vostro computer a meno
che non siate davvero consapevoli di cosa state facendo: un server è una porta d’accesso al vostro
computer che, se configurato male o non controllato, può facilitare il compito a degli hacker che
cercano una macchina con cui giocherellare.
Figura 1: Gestione dei pacchetti
In strumenti di sviluppo potete installare numerosi linguaggi di programmazione, dei quali si è già
parlato: sono solo una piccola parte dei compilatori/interpreti a disposizione, ma per un utente
normale sono fin troppi!
Una volta scelti i pacchetti da installare, fate click sul tasto “Aggiornamento”, e se tutto va bene,
dopo il controllo delle dipendenze, i nuovi programmi dovrebbero venire installati senza problemi
nel computer. Tuttavia delle volte capita che ci sia un errore nella preparazione dei pacchetti, e che
vi vengano richiesti dei pacchetti che il sistema non sa dove andare a cercare.
Le possibili soluzioni sono due: scriversi i nomi dei pacchetti necessari su un foglietto, cercarli su
Internet ed installarli manualmente da una shell, oppure usare uno strumento per la gestione dei
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
2
Linux per Principianti
Lezione 18
pacchetti un po’ più raffinato, che possa andare a cercare dei pacchetti su internet in maniera
autonoma.
Figura 2: Pacchetti - una visione dettagliata
La prima soluzione è più complessa, ma funziona quasi sempre, mentre la seconda è meno stabile,
ma decisamente più utile.
Vi presenterò una soluzione che dovrebbe essere più che ragionevole (ma stabile) per qualsiasi
utente.
Un metodo automatico per la gestione dei pacchetti RedHat è il Red Carpet della Ximian, una
società che offre anche un desktop Gnome molto arricchito (che presto scoprirete come installare, se
lo volete).
Per scaricare il Red Carpet useremo il metodo manuale, così da vederlo ed usarlo almeno una volta
nella vita (in realtà potrebbe servire per trovare delle versioni particolarmente nuove di programmi,
come vedremo la prossima volta).
Esistono dei siti dedicati appositamente al mantenimento di database di pacchetti, come per esempio
http://rpmfind.net. Da qui, potete digitare il nome di un pacchetto in un motore di ricerca, e navigare
tra i risultati alla ricerca di quello di cui voi avete bisogno.
Cerchiamo dunque il pacchetto “redcarpet”, che sarà fondamentale in futuro. La ricerca restituisce
un link (al sito della Ximian), attraverso cui travare più informazioni, e ben 112 pacchetti relativi a
redcarpet.
Tra tutte le possibilità, bisognerebbe scegliere, se possibile, un pacchetto della RedHat: non essendo
però redcarpet incluso nella distribuzione stessa, in questo caso dovremo cercarne uno diverso.
Scegliete semplicemente la versione più recente (in questo momento è la 1.4.2) che dovrebbe
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
3
Linux per Principianti
Lezione 18
comparire in cima alla lista, e l’architettura del vostro computer (i386 va bene per tutti i pc, i486
solo per i 486, i586 per Pentium e K5, i686 per Pentium 2,3,4 e K6/K7). Salvate il file con
estensione rpm andando sopra il link, premendoci con il tasto destro del mouse, e scegliendo
l’opzione “Save link target as”, e confermando alla richiesta di quale directory usare per salvare.
Una volta terminato il download, è sufficiente aprire una shell, e digitare il comando ‘su’ per
diventare root (un semplice utente infatti non ha i permessi di installare programmi in directory
condivise da tutti). Digitate poi ‘rpm –i nome_pacchetto’ per avviare l’installazione (in questo caso
bisogna digitare ‘rpm –i red-carpet-1.2.4-1.ximian.6.i386.rpm’).
Una volta fatta l’installazione, basterà digitare da shell ‘red-carpet’ (vi consiglio di aggiungere
un’icona sulla barra di GNOME o KDE per farlo con il solo click del mouse), e vi verrà chiesto di
configurare il Proxy (se non savete un proxy, date “ok” senza scegliere niente).
Dopo un tempo più o meno lungo in cui il programma andrà a scaricarsi tutte le informazioni dei
pacchetti a disposizione, vi dovrebbe apparire una finestra simile a quella in Figura 3.
Figura 3: Schermata di benvenuto di Red Carpet
Ora bisogna iscriversi ad uno o più canali di software che ci interessano: premendo su
“Unsubscribed Channels” vedremo una lista di canali disponibili a cui non siamo ancora iscritti
(Figura 4).
Tra tutti i canali a disposizione, dovremo scegliere di sicuro “Red Hat Linux 8.0”, che contiene i
pacchetti relativi alla nostra distribuzione. Di tutti gli altri, alcuni sono per utenti piuttosto esperti,
ed installano versioni sperimentali di alcuni programmi per chi ha voglia di provarli.
Potete iscrivervi, se volete, a “Ximian Desktop”, che installa una versione un po’ più carina del
Desktop GNOME (se usate KDE dunque non fatelo!), e a “Ximian Evolution”, per avere sempre
una versione aggiornata del cliente di posta.
Come già detto in una delle lezioni precedenti, “mono” è invece una piattaforma alternativa a .NET
di Microsoft, anche se ancora piuttosto sperimentale.
Una volta fatto click su “RedHat Linux 8.0”, dovrebbe apparirvi una finestra simile a quella
mostrata in Figura 5.
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
4
Linux per Principianti
Lezione 18
Figura 4: Canali disponibili
A questo punto, bisogna premere sul tasto “Subscribe” per abbonarsi, ed avere tutto il software a
disposizione in modo molto intuitivo. Una volta avuta la conferma dell’iscrizione al canale, è
sufficiente fare click sull’icona “Subscribed Channels” sulla sinistra della finestra, ed entrare nel
canale RedHat. Qualora ci siano aggiornamenti che sarebbe meglio installare, questi vengono
proposti in una lista, e si può far partire l’aggiornamento semplicemente selezionandoli tutti e
premendo sul tasto “Update”.
Se non ci fossero aggiornamenti disponibili, allora si può premere sul tasto “Install”, per entrare
nella finestra di installazione software (Figura 6).
Si può scorrere la lista alla ricerca del pacchetto desiderato, o lo si può cercare con “keyword
search” (se non avete idee in particolare, provate a cercare xcdroast, un software per la
masterizzazione). Una volta trovato, lo si seleziona premendo sul tasto alla sinistra del nome, e si
preme il bottone “Install packages”. La cosa veramente bella di questo strumento è che tutte le
dipendenze verranno risolte automaticamente (tranne alcuni casi in cui ci sono dei problemi, ed in
cui è meglio lasciar perdere per un paio di giorni, entro i quali il problema verrà certamente
sistemato), e TUTTI i pacchetti necessari per l’installazione per quello scelto da noi saranno
scaricati ed installati.
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
5
Linux per Principianti
Lezione 18
Figura 5: Il canale RedHat
Figure 6: Scelta del software
Tuttavia, per vari motivi, alcune volte dei pacchetti importanti non sono presenti nella lista del Red
Carpet: la soluzione è quella di usare il metodo “manuale” (cioè andare sul sito rpmfind.net, cercare
i pacchetti desiderati ed installarli con il comando rpm da shell.
Io parlo con più enfasi di servizi basati su Internet perché ho una connessione alla rete quasi
permanente e molto veloce: è dunque per me preferibile scaricare i pacchetti nella loro versione più
recente (con dei problemi di sicurezza eventualmente risolti) che installare la versione presente nei
cd di installazione.
E’ comunque possibile usare i pacchetti dei cd (saltando lo scomodo programma di gestione
pacchetti presentato all’inizio della lezione) nel seguente modo.
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
6
Linux per Principianti
Lezione 18
Inserite un cd dei tre (normalmente si inizia con il primo), e montatelo (richiamo: da shell si digiti
‘mount /dev/cdrom’, da interfaccia grafica Gnome si faccia click con il tasto destro sullo sfondo, si
selezioni “Dischi”->”Cdrom”, e da KDE si prema sull’icona del cd che dovrebbe già essere sullo
sfondo).
Si vada nel cd (richiamo: da shell si digiti ‘cd /mnt/cdrom’, da interfaccia grafica si faccia click
sull’icona del cd, qualora non si sia già aperta la finestra all’atto del montaggio), e ci si porti nella
directory RedHat/RPMS (richiamo: dalla shell, essendo già nella directory /mnt/cdrom, si digiti ‘cd
RedHat/RPMS’, da interfaccia grafica si faccia doppio click sulla cartella RedHat, ed al suo interno
alla cartella RPMS).
Cerchiamo il pacchetto che ci interessa: da shell digitiamo “find –name “nomePacchetto” (dove
come nomePacchetto possiamo anche dare un’espressione tipo “*galeon*”, se stiamo cercando
qualcosa che sappiamo ha galeon nel nome, ma non ne ricordiamo tutte le parti), da interfaccia
grafica scorriamo la lista dei pacchetti (in ordine alfabetico), oppure usiamo il servizio “Search for
files”, nel menù delle applicazioni, mettendo il nome del pacchetto, e /mnt/cdrom/RedHat/RPMS
nel campo “Search in folder” (lo si può trovare anche facendo click sul tasto “Browse”, in stile
Windows).
Se non si trova il pacchetto, si può smontare il cd (richiamo: da shell digitiamo ‘umount
/mnt/cdrom’, da interfaccia grafica facciamo click con il tasto destro del mouse sull’icona del cd, e
selezioniamo “Espelli”), e riprovare con i seguenti (se proprio non c’è, non ci rimane che cercarlo in
Internet).
Se invece c’è, possiamo installarlo (da shell: ‘rpm –i nomePacchetto’, da interfaccia grafica: click
con tasto destro sul nome, selezionando “Apri con”->”Install packages”.)
Se ci fossero dipendenze, da interfaccia grafiche queste dovrebbero venir risolte automaticamente,
mentre da shell dobbiamo cercare tutti i pacchetti la cui mancanza fa fallire l’instgallazione:
• se sono nello stesso cd, si può digitare ‘rpm –i listaPacchettiSeparatiDaSpazio’,
• se invece non ci fossero tutti, dobbiamo creare una directory che contenga tutti i pacchetti
necessari, per poi installarli da li:
1. digitiamo ‘mkdir /tmp/pacchetti’, per creare una directory temporanea in /tmp di
nome pacchetti
2. digitiamo ‘cp listaDeiPacchettiTrovatiSulCdAttualeSeparatiDaSpazi /tmp/pacchetti’
per copiare i pacchetti trovati finora (per esempio: cp pack1.rpm pack2
/tmp/pacchetti)
3. smontiamo il cd (come detto prima), inseriamo il secondo, cerchiamo i pacchetti
mancanti con lo stesso metodo, copiamo quelli trovari in /tmp/pacchetti (e se ne
mancano ancora, continuare con il terzo cd)
4. qualora mancassero dei pacchetti, andiamo a cercarli su Internet, scaricandoli sulla
directory /tmp/pacchetti
5. andiamo nella directory /tmp/pacchetti, e digitiamo “rpm –i *rpm”
Il procedimento è in effetti complesso agli occhi di un neofita, ma è piuttosto meccanico (dunque al
limite noioso, ma non difficile), e comunque di solito non è necessario.
In definitiva, abbiamo visto come cercare un pacchetto relativo alla distribuzione che abbiamo
installato non è un’impresa tanto disperata, in quanto abbiamo a disposizione diversi metodi, tutti
più o meno automatizzati. A volte le cose non vanno così bene, ma sono davvero dei casi rari che ad
un utente inesperto si presentano di rado.
Nella prossima lezione vedremo cosa fare quando vogliamo installare una versione di un
programma più recente, soprattutto se non troviamo il pacchetto rpm.
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
7
Linux per Principianti
Lezione 19
Ho bisogno della nuova versione
di un programma che ho già!
Abbiamo visto come installare programmi facenti parte della distribuzione scelta, ma che non
avevamo scelto di copiare sul computer durante l’installazione, sia un’operazione tutto sommato
facile, soprattutto se si può contare su una connessione alla rete di discreta velocità, che permetta di
scaricare insiemi di pacchetti.
Installare una versione nuova di un programma, tuttavia, può essere notevolmente più complesso,
perché di solito si tende a lasciare in una distribuzione le stesse versioni di programmi.
Questo perché distribuzioni come la RedHat o la Mandrake sono create per utenti inesperti, creando
una distribuzione tipo su un computer, in cui tutto funziona ed è messo al posto giusto, creando i
pacchetti come immagini dell’installazione tipo, e distribuendo il tutto. Dunque, su macchine simili,
tutto funziona alla perfezione.
Tuttavia, l’installazione di un programma nuovo potrebbe causare dei problemi nei computer di
alcuni utenti, e poiché non c’é di solito il tempo per fare un lungo testing del tutto, si tende ad
evitare la possibilità di rovinare installazioni funzionanti.
Abbiamo visto che con il programma Red Carpet, oltre che installare nuovi programmi, si può
mettere a posto il sistema quando sono disponibili degli aggiornamenti di alcuni programmi. Questo
è possibile anche con il programma di utilità della RedHat Network, che si mette sulla barra di
Gnome e Kde di sua spontanea volontà (quel pallino azzurro o rosso, a seconda dei casi). Tuttavia,
normalmente, questi aggiornamenti sono relativi alla stessa versione di un programma, o a versioni
appena più recenti ma praticamenti identiche (ad esempio, se avevate installato la versione 1.0.2-4
di un programma, può uscire l’upgrade alla versione 1.0.4-5 o 1.0.5, ma quasi mai si passerà alla
1.1, o men che meno alla 2!). Queste upgrade vengono rilasciate quando si scoprono degli errori
nella versione distribuita, che ne compromettevano il funzionamento o che addirittura creavano dei
rischi di sicurezza per gli utenti. Per questo motivo, è sempre una scelta assolutamente saggia
installare tutti gli aggiornamenti che ci vengono proposti.
Il discorso fatto non toglie che sia possibile trovare in giro versioni più aggiornate di alcuni
programmi, non relativi a nessuna distribuzione (o magari anche relativi ad una distribuzione Linux
più recente della nostra), e che sia possibile cercare di installarli.
Ovviamente, questo è un rischio, perché delle volte è possibile rovinare l’installazione che avete
fatto con tanta fatica, quindi quanto descritto in questa lezione va fatto solo se sapete che una nuova
versione di un determinato programma vi è davvero indispensabile per fare qualcosa.
Se poi vi accorgete che numerosi programmi sono un po’ troppo datati per le vostre esigenze, allora
forse potrebbe essere ora di aggiornare distribuzione, con una RedHat più recente (al momento la
8.0 è la più recente), oppure con una Mandrake, che di solito esce un po’ in anticipo rispetto alla
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
1
Linux per Principianti
Lezione 19
sorellastra dal cappello rosso, o forse è giunto il momento di fare il grande passo verso la Debian,
che vi aprirebbe le porte di una distribuzione sempre aggiornata, anche se un po’ più difficile da
gestire rispetto a quelle già citate.
Quanto detto vale, in generale, anche per programmi che proprio non si trovano nella distribuzione
originale, perché magari ancora non esistevano alla sua uscita, o perché ritenuti troppo instabili per
essere distribuiti. Come esempio (molto difficile), installeremo il media player per Linux, uno
strumento a dir poco indispensabile, ma che ancora non è molto facile da installare e da usare.
Supponiamo per l’appunto di voler installare il media player, perché un amico ce ne ha parlato. Se
non abbiamo un punto di partenza, si può andare su Internet, in un qualsiasi motore di ricerca, e
digitare ad esempio “media player linux”.
Da google, il primo risultato è proprio la pagina del progetto mplayer. Andandoci, e scoprendo la
sezione di download, abbiamo la fortuna di trovare un link per il pacchetto in formato rpm
(http://mirrors.sctpc.com/dominik/linux/pkgs/mplayer/).
Bisogna solo destreggiarsi nella pagina in inglese, ma non dovrebbe essere proprio impossibile (se
non ve la sentiste, ci sono comunque dei servizi di traduzione anche su google che rendono
l’impresa meno disperata). Si scopre allora che esiste una versione testuale, decisamente poco adatta
ad un utente esperto, ed una versione con interfaccia grafica (GUI). Bisogna scaricare i seguenti
pacchetti (per fortuna i link sono tutti nella stessa pagina):
•
•
•
•
•
mplayer-common
mplayer-gui
default skin package
MPlayer ISO-8859-1 font
Win32 basic codec pack
E’ bene poi scaricare tutti i codec possibili, in modo da minimizzare la possibilità di avere dei file
multimediali che non riusciamo a leggere.
Scaricate tutti i files di cui sopra nella vostra home directory (cioè date conferma ad ogni finestra
che mozilla o galeon vi aprirà, chiedendovi la destinazione), oppure create una directory chiamata
“mplayer” e salvate tutto là dentro (dovreste essere più che in grado di farlo, se avete seguito con
attenzione lo scorso modulo di lezioni).
Una volta scaricato tutto, aprite la solita shell, diventate root (comando su), e digitate il seguente
comando:
rpm –iv mplayer*
Il programma ‘rpm’ serve a gestire i pacchetti, come si può intuire dal nome, e l’opzione –i significa
“install”.
Nel mio caso tutto è andato liscio (a parte qualche messaggio di “warning” perché il produttore del
pacchetto, non essendo RedHat, non può essere determinato). Se il processo si fosse interrotto per
un fallimento delle dipendenze, avreste potuto aprire il Red Carpet, e cercare tutti i pacchetti
necessari, quindi tentare di nuovo. Se qualche pacchetto non si fosse trovato neanche con il Red
Carpet, allora avreste potuto ripetere il procedimento (motore di ricerca o rpmfind.net) daccapo, per
trovare ogni singolo pacchetto (ovviamente di solito ne mancano solo due o tre al massimo!).
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
2
Linux per Principianti
Lezione 19
Per provare che tutto sia andato bene, possiamo digitare il comando gmplayer: se dopo alcuni
messaggi di inizializzazione ci appare il programma, allora siamo a cavallo: possiamo andare alla
ricerca di alcuni piccoli filmati (avi o mpeg) per verificarne il funzionamento, e scaricare più
“codecs” qualora qualcosa non vada. Se invece il programma non viene trovato, possiamo allora
ripetere l’operazione di installazione provando a dare il comando file per file:
rpm –i mplayer-common-0.90rc3-2.i386.rpm
rpm –i mplayer-gui-0.90rc3-2.i386.rpm
……
e così via fino all’ultimo, vedendo se qualcuno dei pacchetti non era stato installato (se lo era, allora
dovrebbe dare un errore tipo “Il pacchetto x è già installato”), o se dà qualche errore di dipendenza
fallita.
Ci sono infine dei casi (molto sporadici) in cui si ha la necessità di installare un programma che non
esiste sotto forma di pacchetto rpm.
L’unica scelta a disposizione è quella di scaricare il codice sorgente, che deve essere a disposizione
online se il software è “free”, e ricompilarlo.
Per fare ciò avete bisogno di tutti i compilatori necessari per quello specifico programma (C e C++
sono i più comuni, insieme a Perl), di alcuni strumenti quali GNU Make (che serve per
automatizzare il processo di compilazione di grossi progetti, formati da numerosi files), ed altre
utilità (installando tutto la categoria “Sviluppo software” del programma di gestione pacchetti della
RedHat dovrebbe darvi tutto il necessario di base).
Avrete inoltre bisogno di alcune librerie su cui si appoggia il programma stesso, spesso disponibili
come rpm (però dovrete sempre leggere il file README che accompagna quasi tutti i sorgenti dei
programmi, per scoprire quali).
Il processo di compilazione DI NORMA (ma non obbligatoriamente sempre) è:
1. Si scarica il sorgente in un file nomeProgramma.tgz (o .tar.bz2)
2. Si scompatta il codice con il comando tar –zvxf nomeProgramma.tgz
3. Si entra nella directory nomeProgramma appena creata dalla scompattazione
4. Si lancia l’utility di configurazione con ./configure –prefix=/usr/local (tale utility controlla
che sul vostro computer ci sia tutto quello di la compilazione avrà bisogno, e mette a posto
alcune informazioni sul vostro sistema)
5. Si lancia la compilazione con un semplice “make”
6. Si diventa root e si installa tutto con “make install”
A questo punto il nuovo programma DOVREBBE essere in /usr/local/bin, pronto da usare. Questo
procedimento tuttavia è decisamente complesso, e vi consiglio di avventurarvici solo se davvero
necessario, o se sapete quello che state facendo!
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
3
Devo disinstallare un
programma
Abbiamo imparato molte cose su come gestire i programmi Linux.
Ricapitolando, abbiamo detto che di norma, su Red Hat e distribuzioni simili, i
programmi vengono distribuiti in pacchetti. Ogni pacchetto ha un nome che è quello del
programma più un numero di versione più o meno complesso: ad esempio mplayercommon-0.90-2.rpm è la versione 0.90 (seconda compilazione) del pacchetto mplayercommon. Dal nome si intuisce che questa è la parte di base di un pacchetto più complesso
di nome mplayer.
Una gestione di questo tipo non è stata studiata per complicare la vita all’utente, che
ovviamente preferirebbe avere dei pacchetti autoinstallanti con un semplice click del
mouse, tipo Windows, ma serve per tenere tutto in ordine.
Mentre in Windows ogni programma si può installare senza rivelarsi al sistema, finché
noi installiamo rpm, i programmi si dichiarano al sistema operativo (o meglio alla
componente dedicata alla gestione del pacchetto), dicendo nome, versione, da che altri
pacchetti eventualmente dipendono, e cosa offrono (per esempio una libreria chiamata
libc). E’ dunque possibile tenere un database di tutte le applicazioni presenti sul
computer, tenendo conto di dove sono esattamente installate, e di quali altre applicazioni
si basano su di esse. Di più: è immaginabile la possibilità di creare dei database
giganteschi in Internet che tengano conto di tutti i possibili pacchetti creati per ogni
distribuzione RedHat, e che permettano l’installazione via rete con risoluzione di
dipendenze in maniera semi automatica.
Red Carpet, che abbiamo usato qualche volta, si basa su questo concetto, ma in piccolo:
gestisce infatti tutti i pacchetti prodotti da RedHat, ed in più (a scelta) quelli prodotti dalla
Ximian per il suo desktop Gnome.
Il sito rpmfind.net, invece, ha un database molto più grande, ma si limita a trovare i
singoli pacchetti, ad elencarne i file e le dipendenze, e a farli scaricare uno ad uno,
lasciando all’utente il compito di riunire tutto il software che gli è (anche indirettamente)
necessario, e di installarlo.
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
Rimuovere un pacchetto è dunque uno dei punti critici del sistema: per come è costruito
per minimizzare la dimensione di ogni singolo pacchetto, se nel pacchetto che per
qualche motivo vogliamo rimuovere è contenuto anche un solo file necessario ad un altro
pacchetto, saremo costretti ad eliminare entrambi, o nessuno.
E’ duro abituarcisi le prime volte, essendo abituati al mondo Microsofr in cui tutto è
permesso (anche distruggere il sistema per delle sciocchezze) dandoci una sorta d’idea di
onnipotenza.
Il modo più sicuro di rimuovere un pacchetto è quello di usare la gestione pacchetti di
Red Hat o il Red Carpet, che controllano automaticamente le dipendenze, e ci avvertono
di cosa dovremmo togliere se vogliamo proseguire nel nostro intento (togliendo tutto con
un semplice click).
D’altra parte questo meccanismo può essere molto comodo in casi estremi: supponendo
per esempio di volere disinstallare tutti i programmi grafici perché ci siamo infatuati della
modalità testuale, non dovremo togliere i 500 pacchetti circa relativi a programmi con
interfacce grafiche: molto più semplicemente basterà eliminare Xfree86, perché tutto il
resto segua in maniera automatica!
Qualora non si riesca a trovare il pacchetto nella lunga lista che ci viene proposta (anche
se Red Carpet ci offre l’opportunità per fare la ricerca sulla lista, eliminando anche
questo problema), basterà aprire una shell, diventare root (solito comando ‘su’) e digitare:
rpm –e nomePacchetto
in cui il nome del pacchetto non include la versione, e nemmeno l’estensione .rpm. Se per
esempio volessimo eliminare il pacchetto contenente il browser testuale lynx, sarà
sufficiente digitare ‘rpm –e lynx’. Se il pacchetto dovesse essere indispensabile per altri
programmi, allora il comando terminerebbe con un errore di dipendenze fallite, dando la
lista dei programmi che hanno bisogno di ciò che noi vogliamo eliminare, che andrebbero
eventualmente tolti uno per uno se davvero vogliamo completare l’operazione.
Supponiamo ora di voler conoscere a quale pacchetto appartiene uno specifico file, non
necessariamente per cancellarlo: la tecnica di inserire tutte le informazioni sui pacchetti
in un database permette di gestire in modo assolutamente efficiente una qualsiasi
interrogazione (o query, per dirla in gergo da database) su di esso.
Basterà pertanto digitare
rpm –qf nomeFile
per vedersi rispondere in un tempo di solito molto breve (provate ad esempio a digitare
rpm –qf /bin/ls).
Se invece avete scaricato un nuovo pacchetto rpm, ma non sapete esattamente cosa sia, si
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
può vedere che informazioni ci hanno attaccato gli autori, con il comando
rpm –qpi nomeCompletoDelPacchetto
Eseguendo il comando sul pacchetto mplayer-common, che abbiamo scaricato ed
installato nella scorsa lezione, si ottiene il seguente risultato:
Name
: mplayer-common
Relocations: (not relocateable)
Version : 0.90rc3
Vendor: The MPlayer Project
Release : 2
Build Date: mer 22 gen 2003
23:41:55 CET
Install date: (not installed)
Build Host:
rathann.rangers.eu.org
Group
: Applications/Multimedia
Source RPM: mplayer0.90rc3-2.src.rpm
Size
: 2375944
License: GPL
Signature : DSA/SHA1, gio 01 gen 1970 01:00:00 CET, Key ID 0000000000000000
Packager : Dominik Mierzejewski <[email protected]>
URL
: http://www.mplayerhq.hu
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
Linux per Principianti
Lezione 20
Summary : Configuration files and documentation for mplayer.
Description :
Configuration files, man page and HTML documentation for mplayer.
Notate che ci sono numerose informazioni legate ad un pacchetto, che permettono di caratterizzarlo
a pieno per la sua versione, per il suo tipo (in questo caso Multimedia), e per chi l’ha prodotto. Ci
sono inoltre informazioni su dove trovare il codice sorgente (obbligatorie, se il software è “free”), e
descrizioni del sistema in cui è stato compilato, per capire eventualmente cosa non va.
Richiedendo poi la pagina del manuale relativa a rpm (comando ‘man rpm’), è possibile vedere le
innumerevoli opzioni che si hanno a disposizione per la gestione dei pacchetti, anche se raramente
se ne usano più di quante riportate in questa lezione.
Che fare se invece si vuole eliminare un programma che non è stato installato con il metodo rpm?
Le cose si complicano notevolmente, perché non c’è un metodo standard. Alcuni programmi, come
Netscape 7 o Acrobat Reader si installano in una directory separata da tutto il resto (ad esempio
/usr/local/Acrobat). E’ dunque sufficiente eliminare questa per aver risolto semplicemente il
problema.
Altri programmi di solito vengono installati nella directory /usr/local come base, andandosi a
distribuire nelle sottodirectory:
• bin per quanto riguarda gli eseguibili
• share per quanto riguarda i dati (icone, file contenenti i messaggi visualizzati, etc)
• lib per quanto riguarda le librerie di supporto
• etc per quanto la configurazione
A meno che voi non sappiate ESATTAMENTE di quali file è composto il programma che volete
disinstallare, vi sconsiglio di provare a farlo manualmente, perché rischiate di compromettere il
funzionamento di tutto il sistema!
Dopo questa lezione, sapete come gestire i pacchetti nel vostro sistema: nella prossima esercitazione
avrete modo di installare alcune applicazioni davvero utili che mancano all’appello, mentre nelle
prossime lezioni impareremo altri piccoli trucchi per rendere il nostro sistema davvero funzionale.
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
4
Linux per Principianti
Lezione 21
Come fare a leggere questi
dati generati da un
programma windows?
A questo punto siamo in possesso di tutti gli elementi per sfruttare appieno le potenzialità di Linux:
sappiamo destreggiarci (mai abbastanza) con i comandi di base della shell, abbiamo un’interfaccia
grafica in costante miglioramento che ci aiuta, e sappiamo gestire i pacchetti con degli strumenti
piuttosto potenti.
Tuttavia, pensare di abbandonare completamente il rassicurante Microsoft può essere difficile per
chi ci ha passato praticamente tutto il proprio tempo informatico, e dunque questa lezione sarà
interamente dedicata a descrivere due modi per usare (o almeno provare ad usare) programmi
Windows in ambiente Linux.
C’è tutta una serie di programmi, quali programmi di automazione ufficio (Word, Excel, Power
Point e simili) che ha degli equivalenti totalmente “free” capaci di leggere gli stessi files, e
risolvono il problema alla base. Vedremo nel prossimo modulo di lezioni quale è l’offerta, e cosa ci
possiamo aspettare in questo campo.
Ci sono invece numerossimi programmi che siamo abituati ad usare, o che ci vengono consigliati
continuamente da amici, che vorremmo, possibilmente, provare anche sotto Linux (in realtà,
tenendo sia Windows che Linux sulla stessa macchina si risolve agevolmente il problema, ma
voglio convincervi a lasciare Windows per sempre, come ho fatto io da qualche tempo).
Per risolvere questo problema ci sono due possibilità: un emulatore Windows, o una macchina
virtuale per installare Windows ed averlo in una finestra Linux.
Le due soluzioni sono filosoficamente (e praticamente) molto diverse.
La prima ha come scopo fornire un programma Linux che sostituisca Windows. Tale programma
deve conoscere il formato dei files eseguibili Windows, e far loro credere di essere il sistema
operativo: per ogni chiamata fatta dai programmi stessi, l’emulatore dovrebbe rispondere
correttamente (ad esempio, se il programma chiede di disegnare un punto sullo schermo,
l’emulatore lo deve soddisfare rivolgendo la richiesta a Linux). Teoricamente, se i programmatori
coinvolti nel progetto riusciranno mai nella titanica impresa di riscrivere tutte le librerie, questo
permetterebbe di avere una piattaforma totalmente “free” per l’esecuzione di software per sistemi
Microsoft. Tuttavia ci sono dei problemi legali (alcune librerie usate da Windows sono protette da
copyright e non possono quindi essere riscritte, per uno strano concetto dei diritti d’autore
americani), e pratici (non si sa ancora come riprodurre determinate chiamate, visti i segreti che le
circondano), per cui la soluzione scelta attualmente è di usare le librerie dinamiche (i files con
estensione dll) contenuti in Windows. Quando un programma fa una richiesta per un’operazione che
l’emulatore non sa come servire, cerca tra le librerie Windows che conosce se l’operazione è offerta,
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
1
Linux per Principianti
Lezione 21
ed in caso affermativo le passa il controllo. Legalmente questo presuppone che ci sia una versione di
Windows installata sullo stesso computer, che l’utente l’abbia comprata e ne sia il legittimo
proprietario, andando un po’ contro all’idea stessa di emulatore.
La seconda soluzione invece è più radicale: invece di simulare un sistema operativo, che deve dare
una risposta a tutte le possibili richieste di tutti i programmi, si può simulare un computer intero!
Una macchina virtuale infatti non è altro che un computer “finto”, cioè un programma che fa da
intermediario tra sistema operativo (che è già un’astrazione di un computer, per quanto detto nella
prima lezione), ed altri programmi (tra cui sistemi operativi), mettendo a disposizione un disco,
della memoria, un processore, delle periferiche, eccetera. Basterà dunque simulare delle componenti
hardware reali, cioè offrire delle funzionalità uguali a quelle dell’hardware reale, per riuscire
nell’impresa.
Come vedremo più avanti, esiste una macchina virtuale perfettamente funzionante per Linux (ma
anche per Windows), che permette di avere un altro sistema operativo come applicazione.
Ovviamente, bisogna comprare l’altro sistema per usarlo, contrariamente all’idea dell’emulatore!
Esiste un emulatore Windows particolarmente famoso per Linux, chiamato Wine. Per scaricarlo è
sufficiente usare Red Carpet (e dovrebbe essere anche distribuito nei cd della RedHat), mentre per
usarlo è necessario aver montato la directory contenente Windows come si è visto in una delle
scorse lezioni. Bisogna modificare il file .wine/config, presente nella home directory, con un editor
come emacs. Nella sezione intitolata “[Drive C]”, bisogna mettere come path la directory in cui
abbiamo installato Windows (nel mio caso /win) al posto di quella indicata.
L’emulatore ha qualche problema nel caso abbiate NTFS come filesystem Windows (nel qual caso
provate ad usarlo come root, modificando il file /root/.wine/config e copiandolo dalla vostra home
se non ci fosse), ma in generale è capace di eseguire piccoli programmi.
Su un computer con Windows 98, sono riuscito ad eseguire il solitario (Figura 1), il software di
masterizzazione Nero (Figura 2), winzip (Figura 3) e, con mia grandissima sorpresa, Internet
Explorer, con plug-in quali Flash e Java (Figura 4)!
Tempo fa, con un wine che mi ero ricompilato, ero riuscito a far partire numerose applicazioni che
con questa versione installata dalla Red Hat non vogliono proprio funzionare. Se quindi voleste
sapere davvero se una certa applicazione può funzionare con wine, dovete scaricare i sorgenti e
ricompilarlo!
E’ chiaro che per tutto quello che sono riuscito ad eseguire (tranne Internet Explorer, che comunque
è partito dopo mille errori ed era un po’ lento) relegano il wine alla stregua di un software
giocattolo, anche se non è da escludere che in futuro vengano rilasciate versioni funzionali che ci
permetteranno di valutare se un software Windows è utile, anche senza avere il sistema operativo
Microsoft.
Diverso è il caso della macchina virtuale. Forse l’unica che davvero funziona è la vmware, che si
trova all’indirizzo http://www.vmware.com.
E’ un programma commerciale, che bisogna acquistare, anche se i produttori offrono una versione
di prova gratuita per 30 giorni.
Possiamo dunque scaricare il pacchetto rpm della macchina virtuale, dopo esserci registrati al sito
(mettete almeno l’indirizzo di posta elettronica corretto, perché vi invieranno un codice di
registrazione senza il quale non potrete usare il programma).
Installare il programma è semplice come sempre:
rpm –i Vmware*rpm
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
2
Linux per Principianti
Lezione 21
Purtoppo non è finita qui: abbiamo bisogno di installare il pacchetto gcc (si trova con Red Carpet
molto semplicemente), ed i sorgenti del kernel.
Figura 1: Wine esegue il solitario
Figura 2: Nero su wine
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
3
Linux per Principianti
Lezione 21
Figura 3: Winzip su wine
Figura 4: Internet Explorer gira su Linux!
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
4
Linux per Principianti
Lezione 21
Per sapere quali sorgenti scaricare, è necessario digitare il comando
uname –a
Tra le informazioni restituite, oltre al tipo di sistema operativo ed al nome del computer, c’è anche
la versione del kernel. Nel mio caso è 2.4.18-19.8.0, e quindi ho dovuto cercare un pacchetto
chiamato kernel-source-2.4.18-19.8.0 (più qualcosa come i386 o simile). Si può andare sul sito ftp
della RedHat (ftp://ftp.redhat.com) oppure cercare direttamente con google, per fare prima.
Installato questo, dobbiamo invocare il comando ‘vmware-config.pl’ (sempre come root), per poter
configurare la macchina virtuale.
Dovremo dapprima confermare la solita licenza d’uso, in cui si garantisce che accettiamo la non
responsabilità dei produttori del software per un suo cattivo funzionamento (tutto in inglese,
ovviamente), quindi dirgli che abbiamo un compilatore, e confermare la directory che contiene i
moduli (di solito trova tutto automaticamente).
Bisogna poi decidere se vogliamo la rete nella macchina virtuale (è sempre meglio rispondere di si),
e di che tipo: quando vi viene chiesto se volete rete di tipo host-only, rispondete di si, perché è la più
facile da installare e, a meno che non abbiate particolari esigenze, ci permetterà di usufruire di
Internet anche dalla macchina virtuale.
A parte questo, potete confermare tutto quello che vi viene proposto.
Una volta terminato, chiamate la macchina virtuale con il comando ‘vmware’ (da utente normale).
Dovrebbe apparirvi la schermata che vi richiede il numero seriale (dovreste averlo ricevuto per
posta), per poi passare alla configurazione.
Potete usare il “configuration wizard” per semplificarvi la vita, e dire di installare una “standard
virtual machine”. Selezionate poi il sistema operativo operativo che intendete installare, confermate
la destinazione dei files, decidete la dimensione del disco virtuale (è lo spazio disco che destinerete
al Windows, quindi pensateci un po’), e scegliete il tipo di rete: la rete NAT vi permette di
condividere un’unica connessione tra Linux e macchina virtuale, risparmiandovi un po’ di
grattacapi.
Ci siamo! Premete su “Power on”, ed avrete un computer che fa il boot in una finestra! Potete
entrare nel bios (con [F2]) e scegliere di fare il boot da cd, quindi inserire il cd di Windows, e far
partite l’installazione!
All’interno della macchina virtuale, qualsiasi programma Windows funzionerà senza nessun
problema, permettendoci così di usare quei programmi che riteniamo indispensabili.
Vi ho descritto una possibilità: ovviamente è equivalente a tenere Windows sul computer insieme a
Linux, anche se la macchina virtuale dà un grosso vantaggio: se arriva un virus e vi mette
scompiglio, sarà solo in una macchina virtuale. Il computer vero e proprio non ne risentirà
assolutamente!
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
5
Linux per Principianti
Lezione 22
Voglio passare ad una
versione di Linux più recente
La RedHat è una distribuzione di Linux molto indicata per un principiante: installa software
piuttosto all’avanguardia nel momento in cui esce, mette a disposizione un ambiente di solito ben
configurato e facile da usare, non troppo distante dal mondo Windows da cui quasi tutti i nuovi
utenti Linux provengono, ed è difficile fare dei danni davvero irreparabili al sistema.
Ovviamente tutto ciò lo si paga in termini di flessibilità del sistema: non è immediato trovare le
nuove versioni dei programmi che girino correttamente su una distribuzione un po’ datata (anche se
abbiamo dedicato un’intera lezione a spiegare come provare ad aggirare il problema), e non si può
lasciar fare ad un sistema automatico un upgrade dell’intero sistema di tanto in tanto.
Questo è invece possibile con la distribuzione chiamata “unstable” (instabile) dell Debian: con la
sua incredibile gestione dei pacchetti si ha a disposizione un database di software che funziona
piuttosto bene e che viene messo a disposizione non appena gli amministratori di tutte le versioni
delle distribuzioni (cioè personal computer, mac, etc) si mettono d’accordo sulla non pericolosità di
un tool (esiste in effetti una distribuzione chiamata experimental, in cui tutto viene inserito a poche
ore dalla pubblicazione, per essere testato, ma è chiaramente del tutto inaffidabile). E’ poi molto
facile dire al sistema dove andare a prendere altri pacchetti non distribuiti dalla Debian, ma da altri
volontari (magari i curatori di un software, come nel caso della Ximian per il loro desktop Gnome).
Ovviamente capita piuttosto spesso che ci siano dei problemi non preventivati, e che dopo aver
installato qualcosa, o aggiornato l’intero sistema, qualcosa di importante smetta di funzionare, o
sparisca del tutto (ovviamente programmi, mai dati dell’utente!). Solo chi ha una certa esperienza
riesce a destreggiarsi tra librerie non allineate, link inesistenti, e dipendenze di pacchetti
palesemente sbagliate, quindi non è pensabile una distribuzione “per le masse” con questa
flessibilità (in realtà la Conectiva si sta imponendo come un potentissimo compromesso tra RedHat
e Debian, e probabilmente a breve ne sentirete parlare).
Fortunatamente, aggiornare un’intera distribuzione RedHat è (almeno teoricamente) piuttosto
semplice: se ricordate una delle prime schermate dell’installazione che abbiamo fatto nel secondo
modulo di lezioni, tra i tipi di installazione da scegliere c’era anche l’aggiornamento. Ciò significa
che, quando uscirà la versione 8.1 o successiva, potrete procurarvi il cd, e ripetere più o meno gli
stessi passi già visti in precedenza. Con la comodità (non da poco) di non dover più rifare le
partizioni, perché ce ne siamo già occupati, e di non dover mettere alcuni parametri (come i dati
sulla rete), perché la nuova distribuzione sa dove andarli a leggere.
Tuttavia, per esperienza personale, vi posso dire che non sempre va così bene, perché il rischio che
qualcosa di importante sia stato cambiato, e non funzioni con la sovrapposizione alla vecchia
versione, è alto. A quel punto bisognerebbe formattare tutto e ripartire da zero, proprio come se
volessimo cambiare distribuzione del tutto.
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
1
Linux per Principianti
Lezione 22
E’ proprio per questo motivo che, durante l’installazione, abbiamo fatto una partizione separata per
la directory /home e sue sottodirectory, tra cui la nostra home in cui (dovremmo) aver accumulato
tutti i dati importanti che non vogliamo assolutamente perdere.
Ora sarà immediatamente chiaro il perché di quest’azione che a prima vista sembra solo un’inutile
complicazione, o una rimembranza del passato, quando le home degli utenti venivano tenute in un
disco separato, che veniva copiato su nastro ogni notte per avere sempre un backup in caso di
problemi.
Come già detto, Linux ha una struttura base del filesystem fissa: in ogni sistema esistono le
directory /usr, /tmp, /etc, /boot, /var e /home (più qualcun’altra come /bin e /sbin). Queste possono
essere directory vere e proprie, e quindi contenute nella stessa partizione della directory / (che le
contiene tutte), oppure dei semplici “mount point”, cioè directory vuote in cui vengono montati dei
“devices”, o dispositivi.
Un “device” può essere un floppy disk, un cdrom, un disco intero, una partizione di un disco, o
altro. Ecco perché i cd ed i floppy non vengono acceduti istantaneamente come in Windows: prima
di poterli usare, è necessario montare i devices (di solito /dev/fd0 per il floppy e /dev/cdrom per il
lettore cd) nelle directory deputate a questo: /mnt/floppy e /mnt/cdrom nella RedHat (ed in molte
altre distribuzioni).
Ovviamente i dati che vanno nella nostra home sono quasi del tutto indipendenti da una
distribuzione, e sono l’unica cosa che non dobbiamo assolutamente perdere.
Proprio per questo abbiamo riservato una partizione alla directory /home, tenendola separata da tutto
il resto.
Quando si farà un upgrade di sistema, o si cambierà del tutto distribuzione, avremo quindi due
opzioni.
Prima di tutto dovremo segnarci qual’è la partizione da montare su /home, prima ancora di riavviare
il computer per l’installazione. Dal Linux che si vuole aggiornare, è sufficiente digitare il comando
‘df’, per vedere la struttura del filesystem, compresi i mount point. Nel mio caso /home è il mount
point per /dev/hda3.
Una prima strategia è quella di dire alla nuova installazione che /home va sullo stesso mount point
del Linux che stiamo sostituendo, facendo ben attenzione a dire al programma di installazione di
NON formattare la partizione (altrimenti tutto sarebbe compromesso!!). Se non esiste l’opzione
“Formatta”, e dunque non si può disabilitare, è meglio procedere con la seconda strategia!!
In questo modo, tutti i programmi ed i files di configurazione verranno cambiati ed installati di
nuovo, mentre i dati degli utenti non subiranno cambi. E’ poi necessario creare degli utenti con gli
stessi nomi di quelli di partenza, per avere tutto a posto in modo automatico.
Oppure, se si decide di cambiare il nostro nome utente, bisognerà copiare tutti i files presenti in
/home/vecchioNome con il comando:
cp –a /home/vecchioUtente /home/nuovoUtente
digitato come root, e poi dare i giusti diritti a nuovoUtente con il comando
cd /home/nuovoUtente ; chown –R nuovoUtente:nuovoUtente .
Il comando chown stabilisce il proprietario di uno o più files. Prima era vecchioUtente, mentre dopo
il comando diventerà nuovoUtente. Ci ritroveremo quindi gli stessi files che avevamo prima
dell’upgrade, con esattamente gli stessi diritti.
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
2
Lezione 22
Linux per Principianti
Detto ciò, è davvero facile capire la seconda strategia: si può omettere, durante la nuova
installazione, di menzionare dove montare la directory /home.
In questo modo, ne verrà creata una nuova, posizionata sopra / (e quindi nella stessa partizione).
Aggiungete un utente normale, con il nome che volete (ad esempio nomeUtente): può essere lo
stesso dell’utente della vecchia distribuzione, o uno nuovo. Ovviamente non dovete neanche
permettere che la partizione dove sono contenuti i vostri dati (nel mio caso /dev/hda3) sia usata per
qualche scopo dal programma di installazione.
Una volta terminata l’installazione, potete cancellare il contenuto di /home, che diventerà un mount
point, con il comando:
rm –fr /home/*
Quindi dovete dire al sistema di montare la partizione con i vostri dati proprio su quella directory.
Per fare questo, è necessario editare il file /etc/fstab, che contiene le informazioni relative a tutti i
file system usati da Linux.
Come quando abbiamo montato la partizione, aggiungiamo una linea in ultima posizione del file:
/dev/hda3
/home
auto
defaults
0
0
dove sostituirete a hda3 il device che contiene la vostra partizione.
Solo per questa volta dovete montare la partizione (dal prossimo riavvio sarà montata in modo
automatico):
mount /dev/hda3 /home
Se avete cambiato il nome utente, dovrete cambiare il nome della vostra home directory:
mv /home/vecchioNome /home/nuovoNome
e darvi i giusti diritti (come nel caso precedente).
cd /home/nuovoUtente ; chown –R nuovoUtente:nuovoUtente .
Ed il gioco è fatto. Nuova distribuzione, vecchi dati personali!
Si conclude qui il modulo che riguarda la manutenzione del sistema. Non ci resta che esaminare
alcuni programmi che Linux offre, per poi essere pronti a fare esperienza con l’uso di Linux, e
decidere eventualmente di approfondirne la conoscenza, installando magari una distribuzione come
la Debian.
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
3
Lezione 23
Linux per Principianti
Esercitazione
Questa esercitazione è un “pretesto” per farvi installare delle componenti non standard della
distribuzione Red Hat, che la renderanno più funzionale e piacevole da usare.
E’ inoltre un modo per farvi vedere che non esiste una ricetta universale per la gestione dei
pacchetti, anche se quanto detto in questo modulo dovrebbe risolvere la maggioranza delle esigenze.
Tuttavia, ogni pacchetto, software o progetto è corredato di una documentazione approfondita e
seria, anche se spesso in inglese. Potrebbe essere uno stimolo a migliorare le nostre conoscenze (io
ho cominciato così), e ad entrare in qualche progetto come traduttori o scrittori di documentazione:
le porte sono sempre aperte per tutti nella comunità open source!
Esercizio 1: All’indirizzo http://corefonts.sourceforge.net sono disponibili alcuni font True Type
comuni in Windows (come Verdana) anche per Linux. Seguire le istruzioni, ed installarli (dovete
scaricare il pacchetto cabextract, e poi un file .spec invece di un rpm). Per installare altri font True
Type, non distribuiti in pacchetti, si veda la prossima lezione.
Nota: a causa di una cattiva configurazione dovete editare il file /etc/XF86Config-4 (è
sufficiente da shell, come utente root, digitare il comando ‘emacs /etc/XF86Config-4).
Cercate la sequenza di linee che iniziano per “FontPath”, ed aggiungete come ultima linea
“FontPath:
“unix/:7100”.
Salvate, uscite da emacs, e sempre da shell digitate “xset +fp unix/:7100” per fare si che il
cambio sia immediato!
Esercizio 2: Installare il plugin Macromedia Flash per Mozilla sotto Linux
Esercizio 3: Copiate il file /bin/ls su dischetto da shell, senza usare l’interfaccia grafica
Esercizio 4: A che pacchetto appartiene il file /bin/login? Provate ad eliminare il pacchetto con il
comando rpm da shell. Come potreste fare ad eliminarlo comunque, ignorando dipendenze e
conseguenze (non fatelo assolutamente!!!)?
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
1
Linux per Principianti
Lezione 23
Risposte
Esercizio 1: Per prima cosa dovete scaricare ed installare il pacchetto cabextract, che serve per
decomprimere i files .cab di Microsoft. Seguite il link consigliato nella pagina, scegliete un mirror
che vi ispira, e scaricate il file.
Per installare il pacchetto, potete fare come si è visto mille volte da shell (come utente root):
rpm –i cabextract-0.6-1.i386.rpm
oppure via interfaccia grafica, potete aprire una finestra sulla vostra home directory, dare click con
il tasto destro sul pacchetto, e scegliere “Apri con” -> “Install package”. Dopo aver messo la
password di root, il gioco sarà fatto.
Scaricante quindi il file msttcorefonts-1.3-2.spec seguendo il link sulla pagina consigliata, ed
apritelo con emacs (da shell, oppure sempre da interfaccia grafica con il metodo tasto destro del
mouse + “Apri con”).
Dovete cambiare solo la riga che dice
#define has_windows_licence “no”
mettendo uno “yes” al posto del “no” (come viene spiegato, questo serve ad installare alcuni font
che vengono distribuiti con una licenza particolare).
A questo punto, cercando di eseguire il comando
rpmbuild -bb msttcorefonts-1.3-3.spec
come detto nelle istruzioni, probabilmente vi verrà restituito un errore perché non esiste il comando
rpmbuild. Nessun problema: basterà installare il pacchetto “rpm-build”, con red-carpet o andando a
cercarlo su internet, e digitare di nuovo il comando.
Questo scaricherà i font (dovete quindi essere connessi ad Internet), e creerà un pacchetto rpm che
potremo installare con il comando (anche questo dato nella pagina web con le istruzioni)
rpm -ivh /usr/src/redhat/RPMS/noarch/msttcorefonts-1.3-3.noarch.rpm
e dovete far ripartire il gestore di font con il comando
/sbin/service xfs reload
I nuovi font sono a disposizione!
Esercizio 2: Un buon punto di partenza per trovare il plugin Flash è il sito del produttore:
http://www.macromedia.com/it/ (ci si arriva anche facendo una ricerca con google su “flash plugin
linux”). Seguendo i link, e premendo sul tasto “Download ora”, si scaricherà un file di tipo tar.gz.
Questi files sono files compressi (come i files zip, ma con un metodo migliore, chiamato gzip). Per
installare è sufficiente seguire le istruzioni che sono sulla stessa pagina del plugin.
Un file tar.gz (o .tgz) si decomprime in due modi:
• da shell, come utente root, digitare ‘tar –zvxf install_flash_player_6_ linux.tar.gz
• da interfaccia grafica, fate click sulla vostra home directory, premete con il tasto destroy sul
file, scegliete “Apri con” -> “File roller”, per avere un programma simile al winzip (Figura
1). Scegliete “Extract”, e confermate alla schermata successiva, per ottenere lo stesso
risultato che nel punto precedente.
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
2
Linux per Principianti
Lezione 23
Figura 1: File Roller
A questo punto, da shell e come root, entrate nella directory creata con l’estrazione
cd install_flash_player_6_ linux
ed eseguite il comando chiamato “flashplayer-installer”, digitando:
./flashplayer-installer
(il ./ con cui dovete iniziare la stringa è per dire al sistema in che directory cercare il file).
A questo punto, ci verrà chiesto in quale directory installare il plugin, e ci verrà dato come consiglio
“/usr/lib/mozilla”. Provando ad accettare la proposta, ci verrà dato errore, perché la directory non
esiste, e ci verrà fatta la stessa domanda una seconda volta.
Apriamo una shell, e digitiamo
ls –d /usr/lib/mozilla*
per vedere se esiste una directory dal nome simile. Siamo fortunati, perché in effetti esiste
/usr/lib/mozilla-1.0.1, e possiamo dirlo al programma di installazione che avevamo lasciato in attesa
nell’altra shell (se non ci fosse stata, avremmo dovuto scoprire dove si trovava con una query rpm).
L’installazione si completa senza altri problemi, e possiamo ora aprire il mozilla, andare sul sito
della macromedia, e gustarci il plugin in funzione!
Esercizio 3: Ci sono due modi per copiare il file su dischetto.
Il primo, semplicissimo, è basato sugli mtools, cioè programmi per l’accesso al floppy in modo
simile al dos.
Basta digitare
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
3
Linux per Principianti
Lezione 23
mcopy /bin/ls a:
ed il gioco è fatto.
Il secondo metodo, più istruttivo, consiste nel montare il dischetto con il comando (digitato come
utente root)
mount /dev/fd0 /mnt/root
Montiamo cioè il device /dev/fd0, che come detto corrisponde al lettore di floppy, sul mount point
/mnt/floppy, riservato a questo.
Possiamo ora usare /mnt/floppy come una vera e propria directory, con il comando
cp /bin/ls /mnt/floppy
(cp copia dei files in una directory).
Prima di estrarre il floppy, è buona norma smontarlo, con il comando
umount /mnt/floppy
Esercizio 4: Come visto in una delle precedenti lezioni, si può scoprire il pacchetto di appartenenza
del file con il comando
rpm –qf /bin/login
Si scopre così che il pacchetto di riferimento è util-linux-2.11r-10.
Per provare ad eliminarlo, si digiti
rpm –e util-linux-2.11r-10 (o anche solo rpm –e util-linux)
e vedremo che una serie di dipendenze ce lo impedisce (se andiamo poi a vedere cosa dipende dai
pacchetti che dipendono da util-linux, la lista copre quasi tutti i pacchetti installati!!)
Se comunque fossimo sicuro (e non lo siamo!!) che bisogna eliminare tale pacchetto, si potrebbe
digitare
rpm –e –nodeps util-linux
L’opzione –nodeps è descritta nel manuale del comando rpm (man rpm).
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
4
Linux per Principianti
Lezione 24
Sostituti di Office
I motivi per cui Linux non ha ancora preso piede prepotentemente, nonostante le sue eccellenti
qualità, sono molti.
Prima di tutto, anche a causa di una campagna di diffamazione di molti utenti Microsoft, è stato
tacciato come un sistema operativo difficile. E’ vero che delle volte abbiamo dovuto aprire una shell
e immettere dei comandi, ma come avete visto l’interfaccia grafica sta facendo dei passi da gigante,
e numerose operazioni si possono ora compiere senza toccare la tastiera, se non per immettere la
password di root.
Personalmente, io ritengo che sia positivo avvicinare un pochino l’utente alla struttura del computer,
per renderlo più consapevole di cosa comporti ogni sua operazione, anche se ciò è spesso
complicato e lungo.
E’ vero che partizionare il disco è stato complesso, ma se non aveste avuto Windows, e aveste
installato Linux su un disco “vergine”, non ce ne sarebbe stato bisogno, mentre per installare
Windows su un disco in cui è già presente un altro sistema operativo bisogna non solo partizionare,
ma anche fare dei giochi di prestigio per convincerlo che quella è l’unica partizione del disco, e che
non è assolutamente vero che c’è già qualcosa (spero che con le ultime versioni di Windows
abbiano posto rimedio a questa scelta assurda).
Per il resto, abbiamo un sistema operativo che si installa facilmente, che riconosce quasi tutto
l’hardware esistente NONOSTANTE quasi nessuna azienda si degni di rilasciare un driver,
delegando tutto a delle schiere di volontari, e che offre gli stessi servizi di Windows, spesso in modo
più efficiente.
In secondo luogo, non ci sono videogiochi. Vedremo in una delle prossime lezioni qual’è l’offerta, e
bisogna dire che siamo ancora in alto mare (e forse lo saremo ancora per un po’ di tempo). Questo è
il prezzo che si paga per avere un’architettura di sistema aperta, in cui anche l’interfaccia grafica è
svincolata dal sistema operativo, e sicura, in cui un videogioco non può e non potrà mai prendersi il
controllo del computer ed accedere all’hardware in modalità diretta (anche se si sta arrivando a dei
compromessi), a meno che non sia eseguito dall’utente root, che è onnipotente. Se i giochi sono la
vostra passione, allora farete bene a non cancellare la partizione Windows!
Infine, l’espansione del sistema del pinguino non ha preso piede nemmeno negli uffici perché da
una parte si tende a ritenere che un prodotto distribuito gratuitamente sia più scadente di uno
venduto a caro prezzo, e dall’altra perché mancavano molti prodotti ritenuti imprescindibili, quali
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
1
Linux per Principianti
Lezione 24
word processor, fogli di calcolo e simili.
La prima affermazione è chiaramente falsa: trovo che per un ufficio Linux sia altrettanto valido di
Windows. L’unico problema esistente è che in effetti non esistono ancora molte ditte italiane serie
che offrono assistenza agli utenti Linux (ovviamente a pagamento). Non si può pretendere che utenti
già impegnati con il lavoro debbano anche cimentarsi con documenti scritti in inglese, senza
operatori cui rivolgersi immediatamente in caso d’urgenza.
Sui prodotti per la cosiddetta “automazione d’ufficio” invece ci soffermeremo durante questa
lezione, per vedere come le cose stiano evolvendo in modo rapidissimo.
Microsoft Office è indubbiamente un prodotto eccellente, che risponde alle esigenze di moltissimi
utenti. I suoi unici nei sono la dimensione (non capirò mai come mai quattro programmi abbiano
bisogno di numerosi cd di dati), il costo (è davvero esorbitante per un’azienda) ed il fatto che i
documenti scritti per esempio in MS Word debbano essere necessariamente letti con MS Word.
Fino a qualche anno fa, sotto Linux era davvero impossibile aprire un file con estensione .doc e
sperare di capirci qualcosa. Questo anche per motivi legali: Microsoft aveva un copyright sul
formato del file, e chiunque scrivesse un programma non autorizzato per trattarlo (anche solo per
leggerlo) diventava un fuorilegge, passibile di pesantissime multe.
Anche a seguito di numerose pressioni subite dall’antitrust americano, Microsoft pubblicò nel 1998
le specifiche dei formati di file Office 97 (in modo piuttosto incompleto e confuso, a sentire i
programmatori che sono andati a leggerle per cercare di usarle), aprendo così la strada a numerosi
programmi che potevano capire i file di quel tipo.
Tra i primi usciti, menzioniamo StarOffice, della SUN. Basandosi anche su tecnologia Java, questa
“suite” di programmi è uscita praticamente per tutti i sistemi operativi e per tutte le architetture.
Ancora oggi è un programma valido, che permette di leggere tutti i formati di file Microsoft, più
alcuni altri (ha inoltre un suo formato di file in cui si può salvare). Il problema di questo software è
che non è open source, e quindi non è possibile fornirlo con le distribuzioni Linux. Bisogna invece
andarlo a scaricare sul sito della Sun (all’indirizzo http://wwws.sun.com/software/star/staroffice/) ed
installarlo.
Fino alla versione 5.2, il file da scaricare era molto grosso, ed il sito della Sun parecchio occupato e
dunque lento. Dalla versione 6.0 pare che non si trovi più la versione gratuita online, in quanto
hanno cambiato la licenza, e che si possa ottenere gratuitamente su richiesta, pagando l’invio.
Tuttavia, le aziende devono pagare per poterlo usare.
Inoltre, StarOffice offriva un ambiente completo, con tanto di Desktop che si andava a sovrapporre
a quello eventualmente offerto dal sistema operativo, di qualità piuttosto inferiore. Per questo
motivo non era molto piacevole, né intuitivo, da usare.
Un gruppo di programmatori, stimolati dalla stessa Sun, partendo dalla versione 5.2 di StarOffice,
ha prodotto un insieme di programmi del tutto equivalenti che sono stati rilasciati da non molto nella
versione 1.0, sotto il nome di Open Office.
I punti di forza di questi programmi, che vi trovate installati con la RedHat, sono:
•
•
•
•
•
•
•
è distribuito con licenza mista, di cui una parte è di tipo open source
è molto stabile
è tradotto in moltissime lingue, in modo piuttosto buono
legge tantissimi formati di file, compresi quelli di MS Office 6, 95, 97/2000/XP, RTF
si può salvare come file postscript e pdf, che sono formati davvero portabili, in quanto
esistono dei lettori gratuiti per qualsiasi sistema operativo e piattaforma
è identico a MS Office, consentendo una transizione facile degli utenti
hanno eliminato il desktop di StarOffice, rendendolo un normalissimo programma.
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
2
Linux per Principianti
Lezione 24
Non mi soffermerò a descrivere come usarlo, perché i programmi forniti sono davvero simili agli
equivalenti Microsoft:
•
•
•
OpenOffice Write è l’quivalente di MS Word
OpenOffice Impress è l’equivalente di MS PowerPoint
OpenOffice Calc è l’equivalente di MS Excel
Esiste inoltre un editor di equazioni matematiche, ed un tool per creare disegni, proprio come in
Microsoft Office.
Esistono inoltre altri tool per gestire file di tipo Office: ktool e abiword+gnumeric.
Il primo software è la suite offerta da KDE, e può essere scaricato con strumenti quali Red Carpet.
E’ molto leggero, e sicuramente molto più essenziale di OpenOffice. In effetti non legge i file
prodotti da software Microsoft, ma fa un egregio lavoro in fase di redazione dei documenti.
Gnome invece mette a disposizione abiword come sostituito di MS Word, e gnumeric come foglio
elettronico di calcolo. Questi programmi leggono anche files prodotti con MS Office. Sono meno
completi degli equivalenti StarOffice e OpenOffice, ma sono eccellenti come lettori di files.
Per terminare questa lezione, descriviamo come installare nuovi fonts True Type.
E’ sufficiente scaricare il file con estensione ttf (se fosse un file zip, si può decomprimere da shell
con il comando ‘unzip nomeFile.zip’ oppure da interfaccia grafica, come al solito, e copiarlo
(essendo utenti root) nella directory /usr/share/fonts/msttcorefonts (o in un’altra directory che il
server gestore dei font conosce). Bisogna far ripartire il server dei font con il comando ‘/sbin/service
xfs reload’, ed il font è disponibile per qualsiasi programma.
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
3
Lezione 25
Linux per Principianti
Internet
In questa lezione ci occuperemo di alcuni programmi da usare su Internet che non siano browsers e
gestori di posta elettronica (visti nella lezione 3.6) e clienti Peer to Peer per la condivisione di files,
che verranno analizzati in dettaglio in una delle prossime lezioni.
Non tutti i programmi qui descritti sono disponibili con Red Carpet o nella distribuzione RedHat. E’
sufficiente fare una ricerca per nome in Internet, per trovare le pagine relative a tutti i programmi,
da cui si accede alla pagina di download in cui, quasi sempre, sono presenti anche i pacchetti rpm (o
almeno dei link alle pagine di chi si occupa di curare i pacchetti).
Divideremo i programmi nelle seguenti categorie:
• messaging/chat
• news e ftp
• utilità da shell
Non tratteremo nessun tipo di server, perché di solito configurarli e mantenerli è un’operazione
piuttosto complessa e macchinosa, riservata ad utenti più esperti. Linux mette a disposizione server
per qualsiasi tipo di servizio di rete: web, ftp, pop e smt, e numerosissimi altri.
Per quanto riguarda i programmi di chat, Linux è fornito di tutto quello che si può trovare in
ambiente Windows. Per ogni categoria citerò solo alcuni rappresentanti, perché più famosi e
funzionali. Esiste tuttavia una grande varietà di programmi di questo tipo.
Per motivi storici partirò con IRC: l’equivalente di mIRC sotto Windows è X-Chat (se l’avete
installato, è nel menù applicazioni, sezione “Extra”->”Internet”-> “IRC Client”. L’interfaccia è
quella classica dei clienti IRC (Figura 1), e dunque esattamente identico a mIRC da usare, con la
possibilità di usare anche alcuni script uguali.
Per quanto riguarda ICQ, c’è una famiglia di clienti davvero vasta. Uno dei più usati è GnomeICU,
anch’esso con interfaccia quasi identica ad ICQ per Windows, con tanto di temi per le icone. Esiste
anche un applet da mettere sulla barra dello GNOME per tenere costantemente sott’occhio la
situazione dei messaggi.
Altre opportunità sono lICQ, anch’esso copiato da ICQ, e micq. Quest’ultimo è un cliente testuale,
nel senso che si usa da shell (Figura 2). Può sembrare davvero strano per chi è abituato alla versione
con interfaccia grafica, ma in molti casi è davvero utile. Innanzitutto si può usare anche dove
l’interfaccia grafica non è disponibile, e quindi anche via rete. Inoltre è un’applicazione
assolutamente leggera e non invasiva. Come si vede dalla Figura 2, il programma presenta una lista
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
1
Linux per Principianti
Lezione 25
di utenti, ed un prompt stile shell: a questo punto si possono mandare messaggi ad un altro utente
con il comando
‘msg nomeUtente testoDelMessaggio’
I messaggi ricevuti invece vengono immediatamente visualizzati nella stessa finestra
dell’applicazione. E’ persino possibile mandare e ricevere files, ed aprire delle sessioni di chat,
anche se queste operazioni sono decisamente più complesse.
Figura 1: gnomeICU
Figura 2: micq
Ci sono ovviamente numerosi cugini dei vari messenger di AOL e Microsoft.
AOL distribuisce una versione del suo messenger anche per Linux (disponibile all’indirizzo
http://www.aim.com/) , e lo stesso GnomeICU si connette alla rete AOL.
Tuttavia, il cliente che ha preso più piede è senza dubbio gaim, che viene installato come messenger
di default da RedHat (menù delle applicazioni, sezione “Internet”->”Instant messenger”. Con questo
piccolo programma è possibile connettersi a qualsiasi rete di messaging, da ICQ a MSN, anche se
ultimamente la Microsoft ha fatto di tutto per ostacolare la diffusione di clienti non prodotti da lei, e
il funzionamento di gaim non è garantito su tale circuito. Ovviamente è possibile importare la lista
di contatti che eventualmente si usava nella versione Windows.
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
2
Linux per Principianti
Lezione 25
La lettura delle news è un’attività che sta rapidamente scomparendo, anche se esistono numerosi
newsgroup dedicati a Linux, dove è facile imparare molte cose, e dove trovare tanti piccoli problemi
già risolti.
Uno dei migliori programmi dedicati esclusivamente alla gestione delle news è pan (anche mozilla
offre un cliente che gestisce sia news che posta elettronica). Si può trovare con Red Carpet, e si
configura come un qualsiasi cliente di posta elettronica.
Di clienti ftp invece ne esiste un’infinità. Ogni browser supporta senza problemi il protocollo, ma un
buon cliente è particolarmente utile per la gestione di più operazioni contemporanee, e perché di
solito garantisce migliori prestazioni.
Uno dei migliori è il gftp, presente nel menù applicazioni, sezione “Extra”->”Internet”, che ha
un’interfaccia classica (Figura 3), divisa in due finestre (sistema locale e sistema remoto), con delle
caselle di input in cui inserire il nome del server, la login e la password (che possono essere lasciati
in bianco se il server supporta connessioni anonime).
Figura 3: gftp
Infine, ci sono tantissimi programmi che possono essere invocati da shell, per i motivi più disparati.
Il comando netstat ci permette di conoscere le connessioni attive sul nostro computer: viene
restituita una lista (di solito molto lunga), divisa in due parti. Nella prima parte vengono presentate
le connessioni TCP, mentre nella seconda le connessioni Unix.
E’ interessante capire la prima delle due parti: come si vede in Figura 4, ogni connessione viene
presentata con le seguenti informazioni:
• protocollo (a noi interessano solo le tcp o udp)
• alcune informazioni sullo stato delle code Recv-Q e Send-Q non molto interessanti a questo
livello
• l’indirizzo IP locale
• l’indirizzo IP remoto
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
3
Linux per Principianti
•
Lezione 25
lo stato della connessione
E’ importante, quando si sospetta che qualcosa di strano sta accadendo sul nostro computer,
controllare lo stato dello connessioni.
Nel caso mostrato in Figura 3 tutto è a posto, perché stavo usando un cliente ftp verso l’università di
Padova (prima riga), ed il Red Carpet (seconda riga).
Se ci fosse qualcosa che davvero non vi spiegate, potete cominciare a fare indagini sull’indirizzo in
questione, ed eventualmente staccarvi dalla rete se sospettate che sia un attacco. Ci vuole comunque
molta esperieza per capire una cosa simile.
Figura 4: Il comando netstat
Altri comandi sono:
• ping: per mandare una sequenza di pacchetti di prova ad un’indirizzo IP, si usa di solito per
controllare che un server stia funzionando, ma a volte può essere ignorato
• host: per chiedere il formato numerico di un indirizzo IP che conosciamo solo come testo, e
viceversa (se esiste la versione testuale, ovviamente)
• traceroute: emette una lista di tutti i computer che il traffico dal nostro computer ed uno di
cui conosciamo l’indirizzo IP deve attraversare; può essere utile per localizzare un computer
(perché spesso i router che si attraversano hanno nomi significativi), e ne esiste anche una
versione grafica che disegna la rotta su una mappa del mondo, se può determinare le
posizioni di alcuni computer
Esiste poi una versione testuale del cliente FTP, invocata dal comando ‘ftp’, che si usa quasi
come una shell remota: si cambia directory con il comando ‘cd’, si prelevano i files con ‘GET
nomeFileRemoto’ e si fanno degli upload con ‘PUT nomeFileLocale’.
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
4
Linux per Principianti
Lezione 26
La Grafica
Un tempo l’unica piattaforma considerata per i professionisti della grafica era il Mac, vista la
copiosa offerta di software per grafica vettoriale e fotoritocco.
Lo sviluppo dei personal computer, con il crollo dei prezzi di periferiche come scanner e stampanti
fotografiche, ha tuttavia costretto i produttori di software per la grafica a rivolgersi anche a questo
mercato, per non perdere una consistente fetta di mercato.
Tra i software che si sono imposti in questo settore, abbiamo tutta la gamma dell’Adobe, da
Photoshop fino a Illustrator, il Paint Shop Pro della Jasc, che ha avuto un grande successo grazie
anche al basso costo a cui veniva offerto qualche tempo fa, nonostante le interessanti caratteristiche
che aveva, ed i vari strumenti della Corel, dal Corel Draw al Corel Photo Paint.
I programmi per manipolazione grafica si dividono in due categorie: grafica vettoriale e grafica
basata su pixel. Ci sono poi tutta una serie di programmi per visualizzre directory contenenti
fotografie, o per gestire files di diversi tipi.
I programmi di grafica basata su pixel trattano le immagini come mappe di colori: ogni immagine è
vista come un rettangolo diviso in puntini (detti appunto pixel), talmente piccoli e ravvicinati che
l’impressione che danno è quella di uniformità. Tali programmi in genere sono particolarmente
indicati per gestire fotografie ed immagini acquisite da scanner. Ogni immagine ha una certa
risoluzione, cioè il numero di pixel da cui è composta (per esempio 640x480 o 1600x1200), che
determina in un certo senso la qualità dell’immagine stessa. Più pixel ci sono, e più dettaglio ha
l’immagine: se si vuole stampare un’immagine su un foglio di dimensione A4 mantenendo un alto
livello di qualità, è opportuno che essa abbia una risoluzione per lo meno di 1600x1200 (ma è
consigliato almeno 2048x1536), perchè altrimenti bisogna ingrandirla, andando a dover inventare
delle parti che in realtà non sono nell’immagine. Come quando si fa uno zoom di tali immagini, si
arriva ad un punto in cui tutto appare a quadretti, perché siamo arrivati a visualizzare la struttura a
pixel, così ingrandendo un’immagine per la stampa si introducono delle approssimazioni che non
possono condurre ad un buon risultato.
Programmi per la gestione di immagini a pixel sono il Photoshop ed il Paint Shop Pro.
La grafica vettoriale invece trattano un’immagine come in insieme di strutture descrivibili anche
matematicamente, come linee, curve e poligoni. Ha il grande vantaggio che, in caso di
ingrandimento, si può ricalcolare l’immagine cambiando la sua scala. senza perdere assolutamente
niente di quella originale. Tuttavia, non si può dire ad un computer di scomporre una fotografia in
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
1
Linux per Principianti
Lezione 26
forme elementari, e quindi non si può gestire immagini che non sono state generate con lo stesso
metodo (a parte casi molto semplici, ovviamente), e quindi si usa questo tipo di grafica per creare
dei “logo” ed immagini di solito di struttura semplice (ma non necessariamente meno belle delle
altre).
Un programma di grafica vettoriale è per esempio Adobe Illustrator, ma esiste una vasta classe di
programmi di questo tipo, che si pongono a metà strada, gestendo oggetti base tipici di un ambiente
vettoriale, ma anche oggetti complessi che sono mappe di pixel, permettendo la creazione di
immagini articolatissime.
Linux, che fino a qualche anno fa era indietro in questo settore, in quanto la maggior parte della
comunità di suoi utenti era più concentrata a produrre dei “kernel” (il nucleo del sistema operativo
che ne contiene le funzionalità base) efficienti e stabili, si sta ora portando al passo di Windows, con
un’offerta di programmi che inizia ad essere soddisfacente (anche se quasi tutti ammettono che
ancora ci sono delle lacune).
Per quanto riguarda le utilità per la visulazzazione di files grafici, esistono numerose piccole
applicazioni. Gnome integra nel file browser (interfaccia grafica per navigare nelle cartelle)
un’utilità che visualizza immediatamente un’anteprima delle immagini con formati grafici tipici
quali gif e jpg (è un’opzione recente, apparsa nello Gnome 2, vedi Figura 1). KDE di sicuro userà
una soluzione simile in una delle sue prossime release.
Figura 1: Anteprima immagini di Gnome
Premendo con il tasto destro del mouse su un file contenente un’immagine, è possibile aprirlo con
diverse utility a seconda dell’interfaccia grafica usata (tutte comunque accessibili tramite menù delle
applicazioni qualsiasi interfaccia si usi).
Gnome offre un programma di estrema semplicità che si chiama ‘eye of Gnome’ (Figura 2): offre
solo lo zoom e l’apertura di altre immagini, ma è molto veloce in apertura, mentre KDE offre un
programmino pressoché identico di nome Kview.
Vorrei però citare il programma “gqview”, che potete trovare nel menù delle applicazioni, sezione
“Grafica”. E’ estremamente maneggevole per visualizzare tutte le foto contenute in una cartella (o
directory che dir si voglia), come si intuisce dalla Figura 3. L’interfaccia è divisa logicamente in due
parti: a sinistra abbiamo una lista delle cartelle (nel caso della figura solo . e ..), ed in basso una lista
dei file grafici riconosciuti nella cartella attuale. Nella parte destra invece viene visualizzata
un’immagine (che è stata scelta dal menù a sinistra), che può essere ingrandita o rimpicciolita a
piacere.
E’ possibile scorrere tutte le immagini con i tasti “freccia su” e “freccia giu” in modo molto
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
2
Linux per Principianti
Lezione 26
semplice e veloce, permettendo una scansione immediata di collezioni di immagini.
Ovviamente non sono gli unici programmi esistenti, ma dovrebbero andare bene un po’ a tutti vista
la loro generalità (basterà poi fare una ricerca su internet di “image files viewers for Linux” per
trovarne numerosi altri).
Figura 2: Eye of Gnome
Figura 3: Gqview
Per quanto riguarda la grafica vettoriale c’è davvero poco a disposizione. In particolare, che io
sappia, non esiste nessun programma di grafica mista, anche se io usavo qualche tempo fa il “Flash”
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
3
Linux per Principianti
Lezione 26
di Macromedia con l’emulatore Windows (wine, di cui abbiamo parlato) senza nessun problema.
Tra i programmi più diffusi c’è “xfig”, che a parte la sua interfaccia davvero scarna (quasi
scoraggiante, vedere la Figura 4 per credere), è piuttosto potente, in quanto permette di disegnare
molte forme di base, raggrupparle (facendo diventare più oggetti uno solo, che può essere spostato
molto semplicemente) e legandole con linee e frecce che si ridimensionano automaticamente con gli
spostamenti delle figure collegate.
E’ possibile salvare nel formato .fig (obbligatorio se poi volete riusare le immagini come vettoriali)
o numerosi formati grafici famosi (tra cui gif e jpg), convertendole però in mappe di pixel.
Bisogna installare xfig (e transfig, un pacchetto correlato) con lo strumento di gestione pacchetti, o
con Red Carpet, per poi trovarlo nel menù applicazioni, categoria “Extra” ->”Grafica”.
Figura 4: xfig
Appena più evoluto nell’interfaccia grafica è “dia” (presente nella installazione base della RedHat,
ma da invocare via shell), presentato in Figura 5.
Offre meno figure di base che xfig, ma ha delle utili librerie con figure stilizzate di componenti per
circuiti elettrici, reti di computer e cose simili, molto utili per disegnare figure esplicative e
diagrammi.
Tuttavia, il programma che si sta imponendo in questo periodo, è “sodipodi”, che dovete andare a
scaricare sul sito http://sodipodi.sourceforge.net. Nonostante sia ancora ad una versione piuttosto
embrionale, offre già numerose funzionalità utilissime, e probabilmente in un futuro prossimo potrà
gestire anche grafica non vettoriale (c’è già un tentativo nella versione 0.28, come si vede in Figura
6). E’ quindi un prodotto da tenere sott’occhio!
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
4
Linux per Principianti
Lezione 26
Figura 5: Dia
Figura 6: Sodipodi
Va decisamente meglio sul fronte del fotoritocco e delle immagini non vettoriali: esistono due
programmi consolidati e rinomati che offrono ottime garanzie.
Il primo di essi è il Corel Draw, che purtroppo esiste solo in versione commerciale (e dunque a
pagamento), anche se viene offerta una versione gratuita (ma non open source) del Corel Photo
Paint. Per scaricarla, bisogna collegarsi all’indirizzo http://linux.corel.com/download/ (sono circa 90
megabytes!), e si trova in formato sia rpm che deb (per distribuzione Debian).
Il funzionamento di tale programma è basato sull’emulatore Windows (ancora una volta il Wine),
che lo rende un po’ pesante da usare. Tuttavia, dalle poche prove che ne ho fatto mi è sembrato
funzionare molto bene, anche se non lo consiglierei vista la non disponibilità del codice sorgente,
caratteristica comune a quasi tutto il software Linux.
Il secondo programma è invece “The Gimp” (Figura 7), che trovate nel menù applicazioni, sezione
“Grafica”. La versione attuale è molto stabile e richiama da vicino il Photoshop di Adobe. Vengono
infatti forniti tutti i servizi più utili per il fotoritocco, quali gestione di livelli multipli, clonazione di
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
5
Linux per Principianti
Lezione 26
parti dell’immagine e così via, e c’è anche una nutritissima sezione di filtri ed effetti speciali.
Figura 7: The Gimp
E’ possibile inoltre creare dei logo tipo banner, o dei pulsanti per pagine web in modo davvero
semplice (Figura 8), rendendo questo programma davvero attraente e completo.
Figure 8: Un logo creato in 10 secondi!
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
6
Linux per Principianti
Lezione 27
I suoni e i
video
Anche in questa lezione ci occupiamo di un campo in cui Linux si sta mettendo rapidamente al
passo con Windows, in quanto non era uno dei primari obiettivi degli sviluppatori nei primi anni di
vita del sistema operativo.
Nonostante schede grafiche accelerate e schede sonore sono state da sempre (o quasi) gestite dal
kernel di Linux, pochi programmi erano stati sviluppati per gestire i dati multimediali, rendendo di
sicuro poco attrattivo il sistema del pinguino per utenti “normali”, che di solito hanno a che fare con
molti file musicali e filmati.
Questo perché nei primi tempi non c’era un’architettura ben definita della gestione del sonoro, che
poteva subire cambiamenti sostanziali tra l’uscita di un kernel e del suo successore, costringendo i
programmatori di lettori musicali a cambiare gran parte del codice dei loro programmi. Inoltre la
gestione delle schede grafiche era un po’ laboriosa, ed i formati video erano quasi tutti proprietari, e
dunque non riproducibili da volontari che non si facevano pagare per il loro lavoro.
Le cose però sono cambiate rapidamente (anche se probabilmente l’architettura sonora dei prossimi
kernel muterà, senza però causare problemi), grazie al rilascio delle specifiche di alcuni formati
video ed audio, ed alla possibilità di usare le librerie del Windows per i formati proprietari,
scavalcando ancora una volta i problemi legali concernenti il copyright (sempre a patto di essere
legalmente proprietari di una copia di Windows, purtroppo).
E’ così possibile ora sentire qualsiasi (o quasi) formato audio, tra cui i celeberrimi mp3 (forse non
tutti lo sanno, ma essendo un formato ne esiste anche una versione “free” chiamata ogg), wma, real
audio, wave e midi.
I formati video stanno arrivando anch’essi quasi tutti, ma già ora si possono vedere senza alcun
problema i formati divx e mpeg, real video, e si iniziano a vedere (un po’ lenti e scattosi) anche i
quicktime e gli asf.
Inoltre, ovviamente, è possibile sentire i cd audio e vedere i dvd, sfruttando così i lettori hardware
eventualmente presenti sui nostri computer.
Per quanto riguarda i lettori audio, il più diffuso è certamente xmms (X MultiMedia System), che
trovate nel menù applicazioni, categoria “Audio e Video” (è chiamato lettore audio).
Come si vede dalla Figura 1, è molto simile al winamp, ed infatti offre le stesse identiche
funzionalità: in particolare, esistono molti plugin per l’input, l’output, la visualizzazione di effetti
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
1
Linux per Principianti
Lezione 27
grafici, ed utilità varie.
Per qualche ragione non meglio precisata, nella distribuzione RedHat 8.0 xmms non è abilitato a
leggere i files mp3 (mentre legge ogg ed altri formati).
Per questo motivo, dovete fare un salto sul sito http://staff.xmms.org/priv/redhat8/ dove troverete un
plugin chiamato xmms-mpg123-1.2.7-13.i386.rpm, che serve a far usare al programma xmms un
altro programma, chiamato mpg123 per leggere i files mp3, aggirando ancora una volta ostacoli
legali che (forse) hanno impedito di abilitare tale funzionalità in modo nativo. Il programma
mpg123 va scaricato, o installato dai cd di installazione della RedHat.
Figura 1: XMMS
Un plugin di visualizzazione di sicuro impatto è quello per poter usare gli Skins del K-Jofol con
xmms. K-Jofol è stato un lettore di mp3 per Windows famoso solo perché i suoi Skin avevano le
forme più bizzarre, e non erano limitati alla forma rettangolare.
Potete cercare (su rpmfind.net per esempio) il plugin xmms-kj in formato rpm, ed installarlo, per
potervi scaricare tutti gli skin che desiderate (su http://www.customize.org/list/kjofol se ne trovano
parecchi) e dopo averli copiati senza neanche decomprimerli in /usr/share/xmms/kjofol, vi potrete
godere Skin come quello in Figura 2.
Figura2: Xmms con uno skin di K-Jofol
Altri lettori piuttosto famosi sono freeamp (http://www.freeamp.org/), che funziona molto bene ma
non offre niente di più rispetto a xmms, e gqmpeg (http://gqmpeg.sourceforge.net/), che fu il primo
ad offrire Skins sullo stile di K-Jofol (anche se quelli originali non vanno bene, e bisogna scaricare
quelli fatti apposta per questo lettore, comunque del tutto simili), e che ora si sta evolvendo in un
lettore multimediale completo chiamato GQoob, del quale parleremo brevemente dopo).
Infine, spesso può essere utile anche il lettore testuale mpg123, che va chiamato da shell con il
comando
mpg123 file1 file2 .... filen
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
2
Linux per Principianti
Lezione 27
Può essere usato quando non si ha a disposizione un’interfaccia grafica, o quando non si vogliono
finestre a disturbare la visuale dello schermo.
Per quanto riguarda il settore video, come ho già detto siamo ancora agli inizi dei lettori
multimediali.
Tuttavia esiste un ottimo lettore, che abbiamo installato in una delle lezioni dedicate alla gestione
dei pacchetti, e che si chiama semplicemente mplayer.
Si trova nel menù applicazioni, sempre nella sezione “Audio e Video”, o si può chiamare da shell
con il comando
gmplayer
Nella versione che abbiamo installato è presente solo lo Skin di default, ma all’indirizzo
http://mirrors.sctpc.com/dominik/linux/pkgs/mplayer/noarch/ ce ne sono molti altri, che possono
essere copiati nella directory /usr/share/mplayer/Skin, cove devono essere decompressi per un
corretto funzionamento.
In Figura 3 è mostrato un video di tipo divx che viene letto senza alcun problema. E’ possibile
installare numerosi codecs, per poter vedere più tipi di video, ma la maggior parte di essi è ancora
sperimentale, e va un po’ lento.
Se siete davvero interessati, andate ad informarvi sulla pagina del programma
(http://www.mplayerhq.hu/).
Figure 3: Mplayer
Esiste anche un lettore chiamato GQoob, già citato insieme al suo parente stretto Gqmpeg.
Nonostante sia uscito da poco tempo, funziona piuttosto bene, ma per essere installato ha bisogno
delle librerie xine, e per ora, da quel che so, è divisa in numerosi pacchetti, e quindi potrebbe non
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
3
Linux per Principianti
Lezione 27
essere facilissimo installarla.
Potete cercare i pacchetti xine, libxine e tutti quelli necessari ad installare questi due, anche se per il
momento il programma mplayer è superiore come qualità, e rende inutile rivolgersi ad altri, se non
per curiosità.
Anche nel caso dei video ci sono ovviamente altri programmi, ma il loro stato di sviluppo è
piuttosto agli inizi, e quindi potrebbe non valere la pena impegnarsi per installare software
semifunzionale.
Nell’ultima esercitazione vedremo come installare invece il Real Player, per poter ascoltare musica
online, e vedere degli stream video molto comuni sulle pagine web.
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
4
Linux per Principianti
Lezione 28
Peer to Peer
(eredi di Napster)
Internet è nato come un sistema basato su un modello client-server: alcune macchine nella rete
agiscono da fornitori di servizi (servers) ed altre da fruitori di servizi (clients).
Pensiamo ad esempio alla gestione delle pagine web: esse sono gestite da uno o più server,
identificati da un nome univoco, ed hanno un percorso nel file system del server: ad esempio
l’indirizzo http://www.linux.org/news/index.html identifica un file di nome index.html, situato nella
directory /news del computer www.linux.org (per vedere che in effetti si tratta di un indirizzo,
provate a digitare su shell il comando ‘host www.linux.it’, e vi vedrete restituito il suo indirizzo IP),
a cui vogliamo accedere tramite protocollo http. Tutti gli attori della scena sono ben specificati: il
nostro browser è un cliente, che chiede al servente (il computer www.linux.org) un file, seguendo
delle rigide regole su come formulare la richiesta (un protocollo, appunto!). Con quel file poi il
nostro browser ci visualizzerà la pagina, magari chiedendo al server anche delle immagini che sono
citate al suo interno.
Tutti i protocolli classici funzionano in questo modo, da ftp a telnet, fino al POP e SMTP (per la
gestione della posta elettronica), e tutti i linguaggi per la rete funzionano con questo modello.
Qualche anno fa, tuttavia, si è venuto imponendo prepotentemente un nuovo paradigma, in cui tutti
sono serventi e clienti allo stesso tempo, e che si basa sull’informazione e sullo scambio di servizi,
più che sui fornitori. Il modello ‘peer to peer’ era già noto da tempo, ma il numero esorbitante di
computer che potenzialmente possono formare una rete di questo tipo adesso, lo rendono molto
stimolante.
Peer to peer è il modo inglese di dire “da pari a pari”, e ciò ci introduce alla caratteristica primaria di
questi sistemi: l’anonimato (in senso lato, come vedremo) e l’assenza quasi totale di gerarchia.
Se nei sistemi classici io ho una pagina web che voglio diffondere, devo procurarmi un computer
con un indirizzo, e devo pubblicizzarlo in qualche maniera, in modo che un utente sappia che
andando proprio a quell’indirizzo troverà quella pagina. Un modo di farsi pubblicità è per esempio
quello di riuscire ad entrare nelle prime posizioni di un motore di ricerca in determinate categorie,
garantendosi che molti utenti interessati a quelle categorie visiteranno la nostra pagina.
Nel peer to peer invece posso mettere una pagina web a disposizione della comunità in modo
anonimo, ed altri utenti, con delle ricerche di un certo tipo, possono accedere al mio computer ed
usufruire del mio file, possibilmente senza neanche sapere che proveniva dal nostro computer.
Perché tanto successo, dunque?
Innanzitutto è meno possibile che un servizio peer to peer sia indisponibile. Essendo formato da tutti
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
1
Linux per Principianti
Lezione 28
i computer che ne fanno parte, questo fallirà quando tutti saranno indisponibili (o quando i
meccanismi per la coordinazione lo saranno), che è un evento molto improbabile. In un sistema
classico, invece, se il server si rompe, il servizio non funziona più.
Inoltre ha una proprietà molto interessante: se un file è popolare (e dunque importante, secondo una
metrica molto semplificata), sarà replicato in più computer, e quindi estremamente reperibile.
Inoltre, più copie ne esitono, più alta è la probabilità che ce ne sia una in un computer “vicino” a
noi, da cui lo possiamo scaricare più efficientemente che da un eventuale server.
Non ci sono limiti a cosa può essere fatto su un sistema peer to peer: per il momento se ne fa un uso
quasi esclusivamente per condividere files multimediali e programmi (con malumore delle software
house e delle case discografiche), ma in futuro sicuramente sarà utilizzato con molti altri scopi.
Storicamente, uno dei primi sistemi ad essere usato fu Napster, con cui gli utenti condividevano
files musicali (mp3 in maggioranza), che fu costretto ad interrompere il servizio al termine di una
ben nota vicenda giudiziaria.
Tuttavia, Napster non è un sistema peer to peer: tutto si basava su dei server in cui le liste dei files
erano copiate, accedute e ricercate, rivolgendosi ai computer degli utenti solo quando un file era
stato trovato. Questo fatto ha permesso alle case discografiche di chiedere che il punto di
centralizzazione costituito dai server venisse chiuso, lasciando gli utenti Napster senza punto di
riferimento, e quindi di fatto terminando il servizio.
Ovviamente Napster è arrivato anche su Linux dopo breve tempo dalla sua diffusione in ambiente
Windows: anche in questi giorni è possibile trovare liste lunghissime di cloni Napster per Linux, la
maggior parte di essi non funzionanti (anche se alcuni cloni sono basati su altri server che non sono
stati fatti chiudere, e dunque si mantengono in attività, seppur leggera).
Subito dopo la morte di Napster, i veri sistemi peer to peer sono esplosi: senza un punto da attaccare
è infatti impossibile trovare un appiglio giuridico per costringere le persone a smettere di usare un
determinato programma.
La rete Gnutella si è imposta molto rapidamente dopo il crollo di Napster, ed il suo sviluppo è
partito proprio da Linux: le specifiche del protocollo erano infatti “open source”, cioè disponibili a
chiunque ne avesse bisogno.
Questo ha fatto si che un’infinità di programmi venissero scritti in brevissimo tempo da volontari, e
che tutti si connettessero tra di loro senza problemi, e senza bisogno (o quasi) di aiuto esterno.
Sia i files che la lista di files sono tenuti nel computer, in una o più directory (cartelle) che l’utente
sceglie di condividire (o mettere in share, come sta diventando di moda dire), ed ogni volta che
facciamo una ricerca, la nostra ricerca viene ripetuta su moltissimi conputer di altri utenti, che ci
risponderanno se possono soddisfarla.
A questo punto, quando scegliamo che file eventualmente scaricare, si crea una connessione tra il
nostro computer e (potenzialmente) tutti quelli in cui si trova l’informazione da noi desiderata.
Tra i clienti Gnutella che funzionano abbastanza bene anche in questi giorni, vorrei citare Limewire,
che è basato su Java, ed ha quindi bisogno della macchina virtuale Java per funzionare, che si può
trovare all’indirizzo http://java.sun.com/j2se/1.4.1/download.html, (basta seguire il link per la
versione rpm della cosiddetta JRE, vedere la nota che conclude questa lezione per capire come
installare il file .bin scaricato).
Si
può
scaricare
Limewire
in
formato
di
pacchetto
rpm
dall’indirizzo
http://www.limewire.com/index.jsp/downloaditalian#free (si veda sempre la nota in fondo alla
lezione, per capire come installare dei file .bin che vengono scaricati come non eseguibili).
Una volta fatta l’installazione, bisognerà eseguire da shell (o creare un bottone sulla barra
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
2
Linux per Principianti
Lezione 28
Gnome/KDE) il comando ‘./runLimewire’, per vedersi apparire la finestra mostrata in Figura 1.
Figura 1: Limewire
L’interfaccia grafica è simile a quella di tutte le applicazioni del genere: dalla finestra principale si
può fare una ricerca (scegliendo il tipo di file, e digitando il nome, o una parte di esso), e sulla parte
destra apparirà una lista di files che corrispondono (con buona probabilità) a quello che cercavamo.
Facendo click due volte con il mouse su un file si inzierà a scaricarlo, e tutti i trasferimenti di file
(downloads e uploads) saranno visualizzabili nella parte inferiore della finestra.
La schermata “Libreria” invece ci mostra tutti i files che stiamo condividendo.
Ovviamente, più persone usano una rete peer to peer, e migliore questa sarà, perché sarà maggiore
l’offerta e la velocità di download.
Per questo motivo, la rete Gnutella sta rapidamente decadendo, in quanto sempre più persone si
rivolgono ad altri tipi di applicazioni, seguendo consigli di amici o di siti web.
Tra i sistemi diventati di moda in seguito, c’è di sicuro Kazaa, che permette ricerche molto precise,
e restituisce un buon numero di risultati. Inoltre, se più persone sono in possesso dello stesso file, il
download vieno diviso in tante parti, che partono in parallelo, accelerando così l’operazione, a volte
in maniera sensibile.
Purtroppo, attualmente non esiste una versione di Kazaa per Linux, anche se circa due anni fa ne era
uscita una versione testuale tipo shell: i files venivano cercati con comandi come “search
nomeFile”, e così via. Comunque, anche kazaa sta lentamente declinando, e presto potrebbe non
essere così drammatico non disporne sotto Linux.
Un altro programma che ha avuto grande fama, e che sta forse passando di moda, è eDonkey 2000.
Di questo esiste una versione Linux, composta da due parti (entrambi scaricabili dall’indirizzo
http://www.edonkey2000.com/downloads.html): una versione testuale (commandline client) che
bisogna scaricare e decomprimere da shell con il comando ‘tar –zxf eDonkey0.44.tar.gz’, ed
un’interfaccia grafica (Core Controller (C)), di cui esiste una versione rpm. Una vosta installati
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
3
Linux per Principianti
Lezione 28
entrambi i pezzi, bisogna digitare il comando ‘ed2k’, per vedersi apparire una finestra come quella
mostrata in Figura 2.
Figura 2: Configurazione di eDonkey
Basterà mettere uno username ed una password, fare click sul tasto “Spawn Core”, che lancerà la
versione testuale, e poi andare su “Go!”, per entrare nell’applicazione (Figura 3). La finestra è molto
simile a quella di Limewire, con la differenza che facendo click su “Servers”, ci verrà proposta una
lista di server a cui ci possiamo collegare (anche qui il sistema non è peer to peer puro), con tanto di
numero di files ed utenti contenuti all’interno. Ovviamente, se riusciamo a connetterci con server
con molti utenti e files, troveremo più roba.
Una volta connessi, si possono fare delle ricerche (premendo su “Search”, e controllare l’andamento
delle operazioni in corso dalle finestre “Uploads” e “Downloads”.
Figura 3: eDonkey 2000
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
4
Linux per Principianti
Lezione 28
Infine, altri programmi che acquistano credito negli ultimi tempi sono WinMX e Direct Connect. Il
primo, come il nome dovrebbe far sospettare, non esiste per Linux, anche se ho sentito che molta
gente lo usa con l’emulatore Windows senza alcun problema.
Del secondo invece ne esistono molti cloni, tra cui io vi consiglio dcgui (trovate i tre pacchetti che
lo compongono all’indirizzo http://dcgui.berlios.de/files/dcgui/stable/0.2.3).
Una volta installato il tutto, si può invocare il programma con il comando ‘dcgui’ (ovviamente vi
invito sempre a crearvi delle icone sul Desktop o sui pannelli per chiamare i programmi che usate
spesso con un solo click), e vi apparirà una finestra di configurazione come quella in Figura 4.
Dovete dare una username (Nick) ed una password, e, premendo sul lato sinistro sul link “Transfer”,
dovrete decidere quale cartella condividere (se non ne avete già una, createla da interfaccia grafica,
o da shell con il comando ‘mkdir nomeDir’).
Fatto ciò, e premuto sul tasto “Save”, vi apparirà la finestra principale (Figura 5). Non vi fate
spaventare dall’apparenza asettica (in effetti è l’unico punto debole dell’applicazione). Nel menù in
alto, con le icone, avete a disposizione tutte le operazioni possibili: premendo sull’icona con il
computer, accederete alla finestra con la lista dei server (hubs), che sono simili a quelli visti in
eDonkey 2000, ma hanno un nome ed una descrizione che ce ne faranno scegliere uno piuttosto che
un altro (Figura 6). Ad esempio: Italian Divx ha un chiaro target!
Potete connettervi a quanti server volete, se vi accettano (alcuni hanno regole strette, come minima
dimensione della directory di share, etc), ed una volta connessi, potete fare delle ricerche (icona con
la lente di ingrandimento), scaricare ed entrare in chat con tutti gli utenti del server, o privatamente
solo con alcuni di essi.
Vi garantisco che vale la pena di provarlo!
Figura 4: Configurazione di dcgui
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
5
Linux per Principianti
Lezione 28
Figura 5: dcgui
Figura 6: Lista degli hub in dcgui
Ovviamente dovete essere legalmente in possesso di tutto il materiale che condividete (cioè dovete
avere i cd ed i dvd o le videocassette originali), e se scaricate qualcosa, dovete cancellarlo entro 24
ore se non ne possedete l’originale!
Nota sui files .bin
Sia la macchina virtuale che Limewire (che altre applicazioni che potrete trovare) vi fanno scaricare
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
6
Linux per Principianti
Lezione 28
un file dall’estensione .bin che apparentemente non serve a niente.
Questo perché il sistema di protezione di Linux, di solito, non salva un nuovo file come eseguibile, e
dunque appena scaricati i files .bin, questi saranno trattati come files normali.
Per darvi i diritti di esecuzione, o ci fate click sopra con il tasto destro da interfaccia grafica,
andando nella sezione “Proprietà”->”Permessi”, dando al proprietario i diritti di esecuzione, o da
shell digitate il comando “chmod u+x nomeFile.bin”.
A questo punto, lo potete eseguire con il comando “./nomeFile.bin”, e quello che accadrà dipende
dal file stesso.
Limewire fa partire l’installazione grafica, mentre il Java genera un pacchetto rpm che dovrete poi
installare con il solito metodo, da utente root.
Perché tutti i programmi trovino la macchina virtuale senza problemi, dovrete poi (da utente root),
andare ad aggiungere una linea nel file /etc/profile (apritelo con emacs):
subito dopo la linea ‘pathmunge /usr/X11R6/bin after’, e prima di ‘unset pathmunge’, aggiungete
‘pathmunge /usr/java/j2re1.4.1_01/bin’ (dovete aver scaricato la versione 1.4.1 di Java SDK JRE), e
dopo aver salvato e chiuso emacs, digitate ‘source /etc/profile’ sia come root che come utente
normale per prendere atto del cambiamento.
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
7
Lezione 29
Linux per Principianti
I giochi
Ho volutamente lasciato per ultimo un potenziale punto debole di Linux.
In effetti, una grandissima spinta allo sviluppo di Windows l’hanno dato i videogiochi, che hanno
avvicinato al personal computer delle persone che altrimenti ne avrebbero fatto volentieri a meno.
Su Linux siamo ancora parecchio indietro in questo settore, anche perché le case produttrici non si
abituano ancora all’idea di dover fornire più versioni (davvero molto diverse come
programmazione) dello stesso gioco.
Tuttavia, se quando ho iniziato ad usare Linux questo era un problema considerato serio da tanti
utenti, ritengo che al giorno d’oggi ciò sia molto meno drammatico, tenuto conto che per i
videogiochi si sono diffuse incredibilmente le consolle, rubando una fetta di mercato consistente ai
personal computer.
I giochi offerti dalle varie PS2, Xbox e GameCube sono quasi tutti nettamente superiori a quelli che
si trovano per PC, e sono visualizzati sul grande schermo della televisione, piuttosto che un monitor
relativamente piccolo, dando di sicuro uno spettacolo molto migliore.
Inoltre un numero limitatissimo di giochi esistono, anche se quelli ritenuti “seri” sono del tipo
“gente che corre che con un fucile in mano e deve uccidere tutto ciò che si muove”, di sicuro non
adatti a tutti.
Parlando invece di giochi “non seri”, qualcosa in più è stato fatto.
Ovviamente esiste una dotazione piuttosto ricca di quei giochini da desktop tipo solitario e campo
minato, sia per Gnome che per KDE (e si possono usare in qualsiasi ambiente). Per trovarli, basta
andare sul menù applicazioni, categoria “Giochi”.
Ci sono anche dei giochi carini (e meno semplici) per passare qualche minuto di pausa, nella
sezione “Extra”->”Giochi”.
Xboard è l’interfaccia grafica di un gioco di scacchi molto famoso, chiamato GnuChess. La grafica
è un po’ scarna (si veda la Figura 1), ma ha tutto quello che potrebbe fare felice un giocatore di
scacchi senza troppe pretese, e si va da un livello semplicissimo a livelli piuttosto difficili.
Maelstrom invece è un classico giochino che ha come protagonista un’astronave che deve schivare
(e distruggere) meteoriti che schizzano a velocità sempre più assurde ed altre navi spaziali (Figura
2).
Vorrei invece spendere qualche parola in più per un gioco che è diventato molto popolare tra gli
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
1
Linux per Principianti
Lezione 29
amanti del genere. Il gioco in questione si chiama freeciv, e si ispira ad un vecchio gioco per PC che
ha avuto un grandissimo successo: Civilization.
In pratica noi siamo i governanti di una popolazione che dal 3000 AC deve sopravvivere e
progredire, fino al futuro, fondando città. conquistando territori, andando addirittura nello spazio.
Il gioco è formato da due componenti: un server ed un client. Questo perché si può giocare in rete
con altre persone, ma niente vieta di essere l’unico giocatore contro il computer.
Figura 1: Xboard
Figura 2: Maelstrom
Per far partire tutto, si inizia con il server, che apre una sorta di shell: qui possiamo decidere tutti i
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
2
Linux per Principianti
Lezione 29
parametri del gioco che stiamo per iniziare, o caricare una partita salvata.
Ad esempio, se vogliamo che il computer impersoni altre 10 popolazioni, con le quali la nostra potrà
avere contatti (e scontri), dobbiamo digitare
set aifill 10
Ci sono moltissime opzioni, ed il gioco (in discreto italiano) ce le elenca se digitiamo ‘help’, e poi
‘help set’ (ci sono diverse categorie di help, come viene mostrato,
A questo punto, una volta deciso tutto, si può far partire il cliente (che sta accanto al server, nel
menù), e confermare il server ‘localhost’ (cioè il nostro computer).
Se volessimo giocare una partita online, ed il server sta girando sul computer di un amico di cui
conosciamo l’indirizzo IP, basterebbe cambiare localhost con il suo indirizzo, e ci troveremmo nella
stessa partita come avversari.
Una volta che tutti i giocatori sono connessi, si digiti ‘start’ nella finestra del server, e potremo
scegliere che popolazione e che personaggio impersonare.
A questo punto ci troviamo con due carovane di coloni che si possono muovere e che possono
fondare due città dove decidiamo, ed un’unità di esploratori che possono scoprire la conformazione
geografica del mondo (all’inizio infatti non si vede niente).
Ci sono molte regole, e sono tutte ben spiegate nella finestra di help online.
In Figura 3 è mostrata una schermata dopo alcune mosse di gioco, ma vi posso assicurare che se il
tipo di gioco vi piace, freeciv vi appassionerà.
Figura 3: Freeciv
Parlando invece di giochi più dinamici, il primo passo che probabilmente è stato mosso per rendere
Linux più appetibile per gli irriducibili del gioco fu il porting (cioè la riscrittura di codice esistente)
di Doom 1 (Figura 4).
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
3
Linux per Principianti
Lezione 29
Figure 4: Doom
Questo gioco, oggi un po’ datato, ebbe un successo incredibile alla sua uscita, ed anche gli utenti
Linux lo accolsero con entusiasmo, rendendo interessante per alcune software house com ID
Software (che produsse appunto DOOM) il porting di alcuni titoli.
Da allora molti giochi dello stesso genere sono stati prodotti, a pagamento, anche per il sistema del
pinguino, ma una versione free ben curata di Doom è tuttora reperibile. Si chiama prboom, e può
essere scaricata all’indirizzo
http://sourceforge.net/project/showfiles.php?group_id=3396&release_id=102047.
Per un corretto funzionamento, ha bisogno di una libreria facente parte della SDL, che si trova
facilmente facendo una ricerca su rpmfind.net (per evitarvi di perdere tempo, se foste interessati
potete trovarla all’indirizzo
http://rpmfind.net/linux/RPM/redhat/8.0/i386/SDL_mixer-1.2.4-5.i386.html).
Attualmente sono in vendita titoli molto famosi, come “Return to Castle Wolfenstein” e “Unreal
Tournament 2003”, dello stesso tipo di “Doom” (è prevista a breve l’uscita di Doom 3).
Ci sono anche titoli di giochi non basati sul concetto “vedi e spara”, come “Alpha Centauri”, (Figura
5), un altro gioco di strategia un po’ più evoluto graficamente rispetto a “freeciv”.
Se siete interessati a giochi commerciali (quindi a pagamento), esiste un ottimo sito che li elenca
quasi tutti, e che ha delle news sempre aggiornate sulle prossime uscite: si chiama Tux Games, ed
ha indirizzo http://www.tuxgames.com.
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
4
Linux per Principianti
Lezione 29
Figure 5: Alpha Centauri
Infine, una categoria di giochi che un nostalgico come me non può mancare di menzionare, sono
quelli per vecchi computer e consolle quali Amiga, Commodor 64 e SuperNintendo.
Esistono degli emulatori per queste architetture più che discreti, vista anche la potenza di calcolo dei
computer attuali rispetto a quelli emulati.
Per l’Amiga (praticamente tutte le versioni), esiste un ottimo emulatore chiamato UAE, che si può
scaricare dal sito http://www.freiburg.linux.de/~uae/. Per funzionare ha bisogno di software Amiga,
che non è facilissimo da trovare. Se avete dei dischetti con vecchi giochi, tuttavia, potreste usarli di
nuovo con l’emulatore, per ricordare quanto poteva essere ben sfruttato un computer dalle
prestazioni ridicole, se comparate con quelle degli attuali PC.
Per il Commodore 64, esistono molti emulatori anche per Linux, ed è più facile trovare delle
immagini (ROMS) di dischetti con videogiochi. Tuttavia sono così ‘primitivi’, che credo si possano
usare solo per motivi sentimentali o di archeologia.
Diverso è, secondo me, il discorso per SuperNintendo. Esistono dei giochi davvero godibili, a mio
parere, anche se ovviamente non all’altezza degli standard attuali.
L’emulatore più usato si può trovare all’indirizzo
ftp://rpmfind.net/linux/Mandrake-devel/contrib/i586/zsnes-1.36-2mdk.i586.rpm,
e la libreria di cui dipende il pacchetto si trova all’indirizzo
ftp://rpmfind.net/linux/sourceforge/linuxrpms/libalsa0.9-0.9.0beta7-1mdk.i586.rpm.
Anche in questo caso, le ROM dei videogiochi si dovrebbero comprare dai produttori stessi, ma non
è difficile trovarle gratuitamente (anche se vanno cancellate entro 24 ore dallo scaricamento).
In figura 6 è mostrata una schermata del gioco Donkey Kong Country 3, che funziona perfettamente
con tanto di sonoro, e che personalmente trovo divertentissimo.
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
5
Linux per Principianti
Lezione 29
Figura 6: Donkey Cong Country 3
Qui si conclude il corso per principianti su Linux.
Mi sono volutamente mantenuto ad un livello molto semplice, perché chi accede a questo corso può
provenire dalle più disparate esperienze, e dunque non potevo assumere nessuna conoscenza di base
a parte, forse, un minimo di dimestichezza con Windows e suoi programmi.
Abbiamo visto fin nel dettaglo più tedioso come installare Linux, spiegando il concetto di partizione
per far coesistere più sistemi operativi, di pacchetto per gestire i programmi, e di utenti per non dare
troppo potere distruttivo a chi usa il computer da normale utente.
Quindi spero di aver comunicato che la base di tutto il sistema è la shell, da cui si può fare tutto
quello che la grafica permette: con poche conoscenze di base su filesystem e comandi, possiamo
avere un controllo totale del nostro computer.
Ovviamente non mi sono addentrato nelle spiegazioni di basso livello, perché sarebbero più adatte a
degli utenti che hanno già digerito i concetti base.
Abbiamo poi visto come mantenere sempre attuale la nostra distribuzione, e come sostituirla quando
diventa obsoleta, per finire con una carrellata di programmi, grazie a cui anch’io mi sono arricchito
di conoscenza durante le ricerche che ho fatto per documentarmi: avrete infatti capito che il mondo
Linux è molto dinamico, e che ogni giorno qualche nuovo progetto nasce o qualche progetto muore.
Nella prossima esercitazione impareremo a muoverci tra alcuni programmi elencati nelle ultime
lezioni, per essere poi pronti a camminare sulle nostre gambe, a cercare programmi che rispondano
meglio alle nostre esigenze, e ad approfondire concetti che sono rimasti poco chiari.
Lo si può fare sbagliando (sperando di non causare danni irreparabili), ed andando a cercare su
Internet più documentazione: spero anche di avervi comunicato che Linux è un sistema nato in
Internet e che si immerge perfettamente nella rete, che è il miglior luogo dove cercare le
informazioni necessarie, che quasi sempre saranno a disposizione.
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
6
Linux per Principianti
Lezione 30
Esercitazione
Qualche esercizio per prendere più confidenza con i programmi visti nelle ultime lezioni.
Esercizio 1: Installare il browser galeon. Aprire due tab (schede, nella versione in italiano) con le
pagine http://www.redhat.com e http://www.debian.org. Aprite la pagina puntata dal link “Training”
(sulla pagina della RedHat) in un terzo tab senza far aprire una nuova finestra che poi riducete a tab.
Staccate il tab contenente la pagina della Debian in una nuova finestra, che porterete sul quarto
desktop virtuale.
Esercizio
2:
Installare
il
Real
Player
(che
trovate
tramite
il
sito
http://scopes.real.com/real/player/unix/unix.html, compilando un form e scegliendo come OS: Linux
2.x (libc6 i386) RPM), e fatelo funzionare anche come plugin: dopo aver fatto partire galeon o
mozilla, immettete l’indirizzo http://www.985.com.mx/985.ram, e fate in modo che la mia radio
preferita si possa ascoltare con il Real Player appena installato.
Esercizio 3: Andate all’indirizzo http://www.meteo89.it/dati/dati_italia2.htm. Copiate la tabella
relativa a temperature e precipitazioni di Firenze in un foglio di calcolo di Open Office, e disegnate
il grafico delle precipitazioni.
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
1
Linux per Principianti
Lezione 30
Soluzioni:
Esercizio 1: Potete trovare il galeon con uno qualsiasi dei modi visti nel corso. Io l’ho preso dal
secondo cd di installazione, aprendolo con l’interfaccia grafica Gnome, e portandomi nella directory
RedHat/RPMS.
Trovato il pachetto galeon-1.2.5-6.i386.rpm, l’ho installato premendoci sopra il tasto destro del
mouse, e scegliendo “Apri con”->”Install packages”.
A questo punto, invocate il galeon da shell (comando: galeon), oppure andatelo a cercare nel menù
applicazioni, sezione “Extra”->”Internet”.
Dopo aver impostato un nuovo utente (potete accettare tutto quello che vi viene proposto, vi
dovrebbe apparire una finestra tutto sommato simile al mozilla.
Cominciamo ad andare alla pagina http://www.redhat.com nel modo classico (cioè inserendo
l’indirizzo manualmente.
A questo punto, si vada nel menù “File” e si selezioni “Nuova scheda”. Verrà aperta una nuova
pagina che si sovrapporrà a quella della RedHat (che comunque sarà accessibile premendo sul tab
dove c’è l’icona con il cappello rosso e parte del titolo della pagina).
Nel nuovo tab psossiamo inserire l’indirizzo http://www.debian.org, ed avremo due pagine aperte
all’interno della stessa finestra: una bella comodità!
Premete sul tab della RedHat, per visualizzare la pagina, e premete con il tasto destro sul link
“Training” (in alto, tra le voci del menù in rosso).
Tra le varie opzioni, scegliete “Apri in nuova scheda”, e come per magia, invece di sovrapporsi alla
finestra corrente, verrà aperto in un terzo Tab (o scheda).
La situazione dovrebbe essere simile a quella descritta in Figura 1.
Figura 1: Galeon con tre schede aperte
Per staccare una scheda, andate nel menù “Scheda”, e scegliete “Distacca scheda” (ovviamente
dovrete essere in quel momento sulla scheda che volete staccare). Una nuova finestra verrà aperta,
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
2
Linux per Principianti
Lezione 30
con la pagina che prima era sulla scheda.
Portarla sul quarto desktop virtuale dovrebbe ormai essere facile: fate un doppio click sulla
rappresentazione della finestra nel selettore di desktop (si veda la seconda esercitazione), e la si
trascini fino all’ultimo rettangolo (o a quello in basso a destra, se avete mantenuto un selettore su
due righe e due colonne).
Dovreste avere una finestra con due schede sul primo desktop, ed una finestra con un’unica scheda
nell’ultima.
Questo esercizio, nella sua semplicità, ha coinvolto più aspetti che sono stati durante il corso:
l’installazione di una nuova applicazione, il suo uso, e la gestione (minima) del desktop.
Esercizio 2: Per scaricare il Real Player, seguite le istruzioni nel testo dell’esercizio. Dovreste
scaricare un file chiamato rp8_linux20_libc6_i386_cs2_rpm, che potete installare come al solito da
interfaccia grafica o da shell.
Dopo un po’ di lavoro, vi apparirà una schermata per chiedervi se installare il plugin: ovviamente
dovrete dire di sì, e premere sul tasto “Finished.
Se tutto è andato bene, dovrebbe partire automaticamente il lettore (con la solita, immancabile
schermata di registrazione).
Chiudete tutti i browser che avete eventualmente aperto, apritene quindi uno qualsiasi (mozilla o
galeon), ed immettete l’indirizzo dato nel testo dell’esercizio.
Vi dovrebbe apparire una finestra per chiedervi che fare con i files di tipo audio/x-pn-realaudio.
Selezionate la voce “Mostra con applicazione helper”, e selezionate l’opzione “Fai sempre lo stesso
con questo tipo di file”.
Quindi, nella finestra successiva, verificate che tra gli “Helper di GNOME” ci sia anche realplayer
(selezionandolo), e selezionate “Usa sempre questo helper in futuro” (anche se probabilmente in
questa versione di RedHat sarà inutile, e dovrete sempre fare questi due passi).
Dovreste iniziare a sentire una radio messicana che sono solito ascoltare, ma, cosa più importante,
sarete in grado di vedere tutti i files di tipo realaudio e realvideo.
Esercizio 3: Il modo più semplice di fare tutto è di andare sulla pagina richiesta con un browser, e
salvare il file in questione sulla nostra home directory (menù “File”->”Salva come” in Galeon). A
questo punto, possiamo aprire Open Calc, che è il sostituto di Microsoft Excel, e fargli aprire il file
“dati_italia2.htm”, che dovremmo aver salvato. Per fare ciò è sufficiente andare nel menù “File” ->
“Apri”, e selezionare il file. Una nuova finestra con il file html al proprio interno dovrebbe venire
visualizzata (Figura 2).
E’ sufficiente selezionare tutta la tabella relativa ai dati di Firenze (Figura 2), copiarla ed incollarla
in un nuovo foglio (o in quello che avevamo creato inizialmente), per avere una tabella su cui poter
comodamente lavorare.
Ovviamente era possibile lavorare su quella “originale”, ma se non avessimo voluto correre rischi di
far danni, questa è una procedura più sicura.
Un’altra curiosità: in Linux il solo selezionare del testo equivale a copiare, mentre è possibile
incollare con un click del tasto centrale del mouse (o della coppia sinistro-destro se il mouse ha due
tasti, o è stato mal configurato): provate a copiare un’altra tabella (per esempio quella relativa ad
Enna) con questo metodo per convincervi.
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
3
Linux per Principianti
Lezione 30
Figura 2: Tabella dati in Open Calc
Fare un grafico una volta che si hanno dei dati in tabella è del tutto simile a farlo in MS Excel: Dopo
aver selezionato la riga con i dati (temperature medie, nel nostro caso), basta premere nel menù alla
sinestra la figura con il grafico (Inserisci oggetto): i menù seguenti ci permetteranno di
personalizzare il grafico. Se ad esempio volessimo un grafico con le curve, invece del più classico
istogramma, dovremmo selezionare questo tipo tra le varie categorie (Figura 3), dicendo al
programma che i dati sono sulle righe e non sulle colonne (altrimenti avremmo 12 linee invece di
una).
Figura 3: Selezionando un tipo di grafico
A questo punto, il gioco è fatto. Dando il titolo al grafico ed agli assi, avremo il nostro grafico
sull’andamento delle temperature medie in un anno a Firenze.
Questo esercizio serviva per mostrare come l’interazione tra diversi programmi, che in Windows è
un po’ il fiore all’occhiello di Office, in Linux è ancora un po’ agli inizi (per esempio, non ho
trovato un modo semplice per far copiare una tabella di dati direttamente da browser), ma non è poi
così limitante: fino ad un anno fa era impensabile fare quanto visto in così poche azioni, e dunque
probabilmente in poco tempo le cose saranno ancora più semplici!
Alessandro Urpi - Manuali.Net © 2003 Tutti i diritti riservati
4

Documenti analoghi

Peer to Peer

Peer to Peer spesso con un solo click), e vi apparirà una finestra di configurazione come quella in Figura 4. Dovete dare una username (Nick) ed una password, e, premendo sul lato sinistro sul link “Transfer”, ...

Dettagli