| Serata dedicata a Linuxin Sezione ARI - TrevisoPaolo Subiaco1 Dicembre, 2000 0. IntroduzioneLinux e` un sistema operativo multitasking, multitreading, multiprocessor e multiutente, conforme allo standard POSIX, e quindi compatibile con gli altri sistemi operativi di tipo Unix. E' utilizzabile sia in modo testo che in modo grafico, attraverso l'interfaccia grafica X basata su una architettura client/server.Mutitasking significa che piu` processi possono funzionare simultaneamente nello stesso computer, attraverso il meccanismo di time-sharing, e la distribuzione del carico su piu' CPU in modo simmetrico, qualora il computer utilizzato abbia piu' CPU. Multiutente significa che piu' utenti potranno accedere allo stesso computer contemporaneamente, distinguendo le directory di lavoro e consentendo quindi la protezione dei dati; generalmente vi sara' un utente amministratore, che nei sistemi unix assume il nome root, ed i normali utenti che non godranno di tutti i privilegi dell'amministratore. Il filesystem e` strutturato in modo che ad ogni file e directory siano associati un proprietario, un gruppo di lavoro, ed i permessi relativi al proprietario, al gruppo di lavoro, ed agli altri: in questo modo ciascun utente potra' leggere, modificare ed eseguire solo i file di cui ha i permessi, e la ricezione di un virus riportera` pertanto delle conseguenze soltanto nei file che competono all'utente infettato, senza intaccare gli altri utenti ne' tantomeno l'integrita` del sistema che continua a restare perfettamente funzionante. Inoltre, Multiutente significa che piu' utenti possono eseguire programmi simultaneamente sullo stesso computer, utilizzando ovviamente delle console diverse presenti nello stesso computer o in altri collegabili attraverso la rete, siano essi in modo testo (attraverso emulatori di terminale telnet/rsh/ssh) che in modo grafico (attraverso l'uso di X-Term o vnc). Mentre il multitasking esiste nella maggior parte dei sistemi operativi, la multiutenza risulta completamente sviluppata solo nei sistemi unix, che consentono di eseguire piu' sessioni X contemporaneamente: in questo modo le applicazioni vengono eseguite dal server, e il risultato (la parte grafica) viene gestita dai client che potranno funzionare non solo sullo stesso computer, ma anche con altri sistemi operativi, quali Windows e Mac, con minimo impegno di risorse computazionali: questo sistema risulta utilissimo nell'ambito aziendale per ridurre il numero di licenze del software da acquistare e per facilitarne la gestione ed aggiornamento, inoltre si potranno riutilizzare come terminali grafici i computer obsoleti, troppo lenti per l'uso normale come unita` grafica e di elaborazione. Non solo e` possibile eseguire il server X su una macchina remota, ma anche senza di esso e` possibile eseguire sul server applicazioni che automaticamente riconoscono il terminale utilizzato, a cui invieranno l'output grafico: questo e` un altro vantaggio delle architetture client/server. Parlando piu` approfonditamente dell'interfaccia grafica, si e' accennato all'architettura client/server denominata X , che consente la gestione della console anche su terminali remoti. Su tale architettura viene poi caricato un Window Manager, ovvero un sistema che consente la gestione delle finestre, ed opzionalmente un Desktop Manager incaricato di coordinare le funzionalita' di drag&drop e le relazioni fra i vari programmi. Due esempi di Desktop Manager sono KDE e GNOME, i quali risultano particolarmente comodi e facili da utilizzare: la richiesta di memoria per questi due Desktop Manager risulta di almeno 32MB di RAM! Ma il sistema grafico puo' funzionare anche senza Desktop Manager, con un conseguente risparmio di memoria; comodi Window Manager sono sicuramente WMaker, AfterStep, Enlightment e le varie versioni di fvwm, che funzionano bene anche con 16-24 MB di RAM. Ogni Window/Desktop Manager possiede un proprio aspetto ed un proprio funzionamento: ecco che nei sistemi Unix e' possibile scegliere l'interfaccia grafica che piu' ci soddisfa. Linux e' il nome assegnato al sistema operativo vero e proprio, ovvero il codice che gestisce I/O, dispositivi hardware, filesystem e protocolli; per funzionare ha bisogno di diverse utilities e di software applicativo, che vengono raccolte in alcune distribuzioni, fra le quali le piu' importanti sono sicuramente Mandrake, RedHat, Suse, Slackware, OpenLinux, Debian. Infatti vi sono delle software-house che raccolgono in uno o piu' CDROM le applicazioni e utilities piu' importanti, insieme al kernel di Linux e ad un software di installazione, e distribuiscono tali CDROM in forma gratuita ed a pagamento: le versioni a pagamento sono chiaramente piu' ricche di applicazioni e talvolta consistono in piu' di 10 CDROM pieni di software. A seconda del tipo di installazione, saranno richiesti dai 100MB a svariati GB: in quest'ultimo caso saranno installati molti piu' programmi. Vi sono comunque anche distribuzioni Linux che consistono in uno o due dischetti da 1.44 MB, e che si pongono l'obiettivo di poter essere utilizzate in qualsiasi computer senza la necessita' dell'installazione. 1. Requisiti hardwarePer definire i requisiti hardware, facciamo riferimento ad una classica installazione di tipo workstation, ricca di programmi per poter lavorare agevolmente.
2. InstallazioneE' preferibile installare Linux in una partizione di disco ad esso dedicata, per sfruttare al meglio la velocita' e l'affidabilita' dei suoi filesystems. In alternativa puo' essere installato anche in una partizione dos, con risultati penalizzanti dal punto di vista delle performance e soprattutto dell'affidabilita'.Se non si possiede almeno una partizione libera, e si possiede una partizione FAT/VFAT (DOS/Windows) con qualche centinaia di MB liberi, sara' necessario procedere con l'utility FIPS per ridurre la dimensione della partizione FAT/VFAT ottenendo quindi lo spazio necessario alla creazione delle partizioni Linux. Questa operazione va fatta manualmente, e consiste nell'
Eseguito FIPS, sara' necessario specificare la quantita' di MB che vorrete liberare dalla partizione DOS/Windows: per aver un sistema molto funzionale e ricco di applicativi, e' consigliato liberare almeno 2 GB! Terminata questa operazione, dovrete riavviare il computer con il CDROM della distribuzione Linux inserito nel lettore CD, avendo configurato il BIOS del PC per eseguire il boot da CDROM. Il programma di installazione vi fara' solo qualche domanda riguardante la dimensione delle partizioni (e su alcune distribuzioni potrete assegnare al PC il compito di decidere la dimensione e il tipo di filesystem), sulla lingua da utilizzare, tastiera, password di root, utenti da inserire, e sul software da installare. Generalmente vengono installate una partizione di swap (utilizzabile anche da Windows) e una o piu' partizioni per i programmi, dati relativi agli utenti, eccetera. Nelle ultime distribuzioni viene chiesto anche se avviare il server X al boot: vale la pena rispondere SI, cosicche' all'avvio di Linux vi apparira' una finestra in cui selezionare il nome dell'utente con cui collegarsi e la password associata, cosicche` entrerete direttamente nel sistema grafico. Durante questa prima fase di configurazione viene rilevato l'hardware installato, CPU, Chipset, hard disk, scheda video, schede di rete, scheda audio, eccetera. Tipicamente solo l'hardware presente nel mercato da almeno 6 mesi viene rilevato, mentre le schede troppo recenti non sono gestite se non in modalita' non ottimizzata, attraverso driver generici. Dopo un tempo che puo' variare tipicamente dai 15 ai 60 minuti, il programma di installazione vi chiedera` di rimuovere il CDROM e di riavviare il PC: nel riavvio potrete anche riconfigurare il BIOS per effettuare il boot solo da disco fisso. Al riavvio vi apparira' il prompt lilo: oppure una maschera blu con scritto grub; si tratta di due boot manager che consentono di caricare il sistema operativo voluto. Se nel computer erano precedentemente installati altri sistemi operativi, questi saranno selezionabili (assieme a Linux) proprio grazie al boot manager. 3. UtilizzoAll'avvio di Linux si presenteranno due possibilita': vi verra' mostrata una finestra grafica attraverso cui autenticarvi, oppure vi apparira' una schermata in modo testo con il cursore posizionato dopo la dicitura login:Poiche` l'utente root puo' fare qualsiasi cosa nel sistema, quindi cancellare intere partizioni con un solo comando, e' fortemente consigliato il login come utente normale: se poi si avra' bisogno di eseguire dei comandi che richiedono piu' privilegi, potrete digitare da una console su oppure su - , specificare la password di root, e da qui eseguire le applicazioni. Nel caso in cui siate entrati nel sistema in modalita' testo, bastera' poi digitare startx per avviare la Graphic User Interface (X); viceversa al login vi ritroverete gia` nel sistema grafico. Passiamo ora in rassegna il software utilizzabile: sara' riportato solo il software ritenuto piu' potente e comodo da utilizzarsi. 3.1 Programmi di videoscrittura e fogli di calcoloSicuramente la soluzione piu` completa consiste nell'uso di StarOffice, una suite di programmi disponibile per tutti i sistemi unix e windows nato come clone del pacchetto Office di Microsoft. E' garantita una ottima compatibilita` con Office, risultano molto potenti soprattutto il programma di videoscrittura ed il foglio di calcolo, per alcuni aspetti superiori agli antagonisti Word e Excel.Oltre alla stesura di documenti complessi e fogli di calcolo, sono inclusi la gestione dei database, la creazione di disegni, presentazioni, un browser http, programma di posta e news, ed altro ancora, tutto in un unico software monolitico. Proprio per questo motivo, pero`, risulta molto pesante da caricare, e necessita di molta memoria. Un'altra suite per ufficio, non libera ma shareware, e` ApplixWare, che risulta particolarmente veloce ma non molto compatibile con Office ne` completa e ben integrata come StarOffice. Oltre alle suite, vi sono anche i singoli programmi: un altro programma shareware e` WordPerfect, mentre ritornando ai programmi liberi e' da citare AbiWord che, in piena fase di sviluppo, si pone l'obiettivo di facilitare al massimo la stesura di lettere e brevi documenti. Quello che invece costituisce il migliore programma per la redazione di lunghi documenti come tesi e libri, e' sicuramente LyX e kLyX, i quali costituiscono un front-end grafico a LaTex, il piu' potente impaginatore di testi attualmente esistente. Se da un lato ci sono i wordprocessor del tipo What You See Is What You Get, ovvero tutti quelli sopra elencati, dall'altro e' nata una filosofia piu' pratica, potente e veloce, denominata What You See Is What You Mean, in cui anziche` visualizzare esattamente il layout di pagina cosiccome verra` poi stampato, viene visualizzata la struttura del documento, includendo quindi tutti i cross-references, commenti, eccetera, che diventano indispensabili nella stesura dei libri. Per quanto riguarda i fogli di calcolo, un altro prodotto in piena via di sviluppo e` Gnumeric, ancora molto incompleto rispetto a StarCalc di StarOffice. 3.2 Editor di testiIn modo testo vi sono il vecchio ma sempre utile vi, la sua versione migliorata vim, oppure c'e' il facilissimo da utilizzare pico ed i completi joe e emacs.Per quanto riguarda gli editor utilizzabili in modalita` grafica, c'e' sicuramente da segnalare kwrite, facilissimo e comodo da usare, ed Emacs e XEmacs, con le loro innumerevoli possibilita`: questi tre editor hanno tutti il syntax highlighting per diversi linguaggi quali C, JAVA, PERL, LaTex, HTML, eccetera, gli ultimi due fanno pure il caffe` e sono sicuramente l'ambiente ideale per ogni programmatore. Infatti, soprattutto XEmacs presenta moltissime funzionalita` per il programmatore, aiutandolo nell'uso degli strumenti per la compilazione e il debugging. Infine include la gestione delle mail, delle news, un browser http, addirittura dei giochini! Altri editor possono essere GXEdit, nato anch'esso per i programmatori ma molto indietro rispetto ad XEmacs, implementa gia` la gestione del CVS per l'aggiornamento delle release del software prodotto. infine, per i nostalgici di Windows, c'e' TkNotepad con le sue funzionalita` essenziali cosiccome il pessimo Notepad. 3.3 Gestione del filesystemPer coloro che utilizzando KDE, risulta molto comodo sia konqueror che kruiser: il primo implementa anche un browser http che, con la versione 2.0, gestisce anche Java ed i CSS, mentre il secondo risulta utile per accedere, attraverso il protocollo SMB, alle condivisioni dei sistemi Microsoft disponibili in rete.Sono inoltre disponibili le due utility, che usano le librerie GTK+, GNU Midnight Commander e X WinCommander. Tutti questi file manager sfruttano i mime-types predefiniti per l'esecuzione delle applicazioni relative a ciascun programma, quindi cliccando una o due volte su un file, questo verra` aperto con il programma piu' appropriato: in ogni caso e` sempre possibile definire al momento il nome dell'applicazione con cui eseguirlo, cosiccome e' possibile definire in modo permanente le applicazioni da utilizzare per i vari tipi di files. 3.4 Programmi di disegnoPer quanto riguarda il disegno tecnico 2d, sono sicuramente da segnalare qcad, xfig e killustrator.Fra questi il programma piu' completo e` sicuramente xfig, che consente fra l'altro la creazione di librerie di componenti e di esportare i disegni in diversi formati sia vettoriali (PostScript, PDF, LaTeX, HPGL, PIC,...) che bitmap (GIF, JPEG, PNG, TIFF, SLD, ...). Inoltre, xfig consente di definire anche la profondita' delle singole componenti del disegno, creando quindi un primo supporto indispensabile al disegno 3d. Per quanto riguarda invece il disegno tecnico 3d, vi e' l'ottimo software della Bentley, il MicroStation, che pero` necessita di licenza: la versione "evaluation" costa intorno alle 200.000 lire, e differisce dalla versione finale solo per l'apertura di una finestra pubblicitaria aggiuntiva che occupa buona parte dell'area dello schermo: anche in questo caso entra in aiuto X, che consente di configurare il desktop per avere una virtual resolution maggiore dell'area visibile dello schermo, ed e` quindi possibile posizionare la finestra indesiderata in una zona non visibile dello schermo. Vi e' un ottimo programma anche per il disegno artistico: gimp, ovvero Gnu Image Manipulation Program, che implementa tutte le funzionalita` del tipo PhotoShop/Coreldraw, con diversi plugin per la realizzazione di filtri e decorazioni. Attraverso le librerie WINE, la Corel garantisce l'utilizzo delle piu` blasonate applicazioni Coreldraw e CorelPhotoPaint; in realta' allo stato attuale tali applicazioni vanno spesso in crash e vengono pertanto terminate dal sistema operativo, quindi e' consigliato l'uso di GIMP, il quale risulta veloce ed affidabile. 3.5 Programmi per la retePer quanto riguarda la posta elettronica, risulta sicuramente ottima l'accoppiata kmail e kbiff: il primo e` il client di posta che gestisce anche il formato HTML, mentre il secondo e una utility che effettua il polling verso i server e segnala la presenza di posta sia attraverso una icona nel pannello di KDE, sia attraverso un suono o beep.Si puo' ovviamente utilizzare anche il client compreso in Netscape Communicator, comunque molto potente. E' in fase di sviluppo anche Evolution, nato per clonare l'aspetto estetico e le funzionalita' di Microsoft Outlook. Per la gestione delle news, vi e` Netscape, krn, pan, e ovviamente StarOffice. Vi sono anche numerosi browser http: innanzittutto Netscape, sicuramente il piu' potente, poi altri browser sono konqueror, Opera, StarOffice: questi ultimi hanno limitazioni nella gestione del supporto JAVA e dei fogli di stile (CSS). Per i nostalgici del modo testo, vi e` anche LynX che ovviamente non supporta la visualizzazione delle immagini! Ottimi client IRC sono sicuramente kVirc e X-Chat, mentre sono disponibili molti client ICQ, Napster, gnutella, .... Servizi di reteOltre alle applicazioni, ovvero i client, sono disponibili anche molti server per la gestione della posta (smtp, pop3, imap), news, http, irc, fax, SMB, dns, e tutti a costo ZERO.Il firewall, molto potente e sicuro, e` gestito direttamente dal kernel e quindi garantisce tempi di processamento dei datagram limitati. Linux risulta quindi particolarmente attraente proprio per le aziende, in cui un unico server puo' gestire tutti i servizi di cui un'azienda ha bisogno: i vantaggi sono sicuramente in termini economici e di flessibilita', essendo tutti i servizi ampiamente configurabili. printfooter('../','serata-linux','20021016');?> |