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
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”,
...