CRAL MPS: Anatomia di un sistema GNU Linux

download CRAL MPS: Anatomia di un sistema GNU Linux

If you can't read please download the document

Transcript of CRAL MPS: Anatomia di un sistema GNU Linux

Anatomia di un sistema GNU Linux

Paolo [email protected]

27 Gennaio 2010

CRAL MPS - Siena

http://slideshare.net/xdatap1

http://paolo.sammiche.li/cral

Come la scorsa volta non serve prendere appunti. Queste slide con le relative note sono gia' Online.

Siccome qualcuno ha avuto difficolt a scaricare le slide su slideshare le ho esportate anche in formato PDF che trovate nel mio sito personale, all'indirizzo http://paolo.sammiche.li/cral

13 GennaioSoftware Libero

Anatomia

Ubuntu Linux

20 Gennaio27 GennaioLa prima sera abbiamo parlato di Software Libero, la seconda invece di Ubuntu, e oggi inizieremo a guardare sotto il cofano.

USO

COPIA

STUDIO

MODIFICA

Ricordiamo cos'e' il SOFTWARE LIBERO per chi non c'era le volte scorse.

Queste 4 liberta' sono alla base della licenza GNU GPL, che definisce un software libero: USO, COPIA, STUDIO e MODIFICA

Ulteriori informazioni suhttp://www.gnu.org

http://www.softwarelibero.it

http://www.linux.it

CODICESORGENTE

Cos'e' il codice sorgente: i computer parlano un linguaggio di 1 e 0 molto difficile da ricordare per un uomo. Gli esseri umani parlano un linguaggio, detto Naturale, di difficile, se non impossibile, comprensioni per le macchine. I linguaggi di programmazione sono dei linguaggi facilmente ricordabili dagli esseri umani ma abbastanza rigorosi da essere convertibili automaticamente in linguaggio macchina (fatto di 1 e 0). Per codice sorgente si intende la descrizione del funzionamento di un programma (algoritmo) in un linguaggio di programmazione.

Un programma, per essere libero, deve mettere a disposizione degli utenti il proprio codice sorgente.

UBUNTU invece una distribuzione Linux. Esce con cadenza semestrale e ha, nella sua versione desktop, come utente di riferimento l'utenza tipica casalinga.

Ulteriori informazioni su Ubuntu sono disponibili sul sito www.ubuntu-it.org

Parliamo intanto di come si installa Ubuntu sul disco fisso.

Per prima cosa vi serve un CD di installazione. Dovete andare su Ubuntu-it.org, selezionare ottenere ubuntu e scaricate l'immagine.

Potete farvela copiare anche da un amico e spesso si trovano allegate anche alle riviste in edicola.

Se l'avete scaricata dovete masterizzarla su di un cd e avviare il pc con il cd inserito.

Se il pc non dovesse partire da CD dovete entrare nel BIOS della macchina, ovvero quel menu del computer dove si configura l'hardware. Li' trovate anche l'ordine di partenza delle periferiche: dovete spostare il lettore CD come prima periferica da cui partire. Se non sapete come fare chiedete a qualsiasi amico esperto di PC. Anche se non conosce Ubuntu questa cosa la sapr di sicuro.

Se il computer si avvier da CD vi apparir questo menu. La prima voce vi permette di provare Ubuntu senza toccare il disco fisso, quindi senza nessun pericolo.

anche un modo molto comodo per verificare se le periferiche del computer funzionano con Ubuntu o se ci sono problemi per cui occorrer aggiungere qualche driver proprietario.

Se volete installare Ubuntu su un PC la cosa che consiglio di provare prima il sistema in questa maniera. La seconda cosa che consiglio di digitare su google il modello del computer seguito dalla parola Ubuntu. Usciranno senz'altro tante informazioni utili.

La scrivania di una immagine Live molto simile a quella di un pc installato.

Ma c' un'icona in pi che vi permette di lanciare il programma di installazione.

Come prima cosa il programma vi chieder la lingua di installazione.

E come seconda cosa il fuso orario in cui vi trovate.

La disposizione della tastiera pu essere lasciata quella predefinita nella stragrande maggioranza dei casi.

Dopodich occorre partizionare il disco fisso per far spazio ad Ubuntu. Se la macchina priva di sistema molto semplice, si pu dire al sistema di usare tutto lo spazio per Ubuntu.

Se c' un solo sistema operativo e c' spazio libero a sufficienza il sistema propone di ricavarsi spazio da solo per inserire Ubuntu.

Questa operazione, essendo una scrittura critica sul disco, comporta un minimo di rischio. consigliabile aver fatto un backup dei dati prima, per ogni evenienza.

Altrimenti possiamo andare in partizionamento manuale e ridimensionare la partizione dell'altro sistema a nostro piacimento, e crearne due per Ubuntu.Una contenente tutto il file system, che verr montata sulla radice (carattere slash / ) mentre l'altro lo swap, ovvero l'area dove il kernel sposta i programmi che usa meno, dalla memoria Ram, per avere pi spazio disponibile.

Una volta era dimensionata due volte il valore della Ram. Oggi giorno, con tanta memoria a disposizione, io sconsiglio di farla pi grossa di 2 giga.

In questa schermata invece si mette il nome utente, la password, il nome macchina

(si, avrete da battezzare il vostro PC. I veri Linuxari usano nomi di fantasia in sequenza per i propri PC. C' chi usa i pianeti, chi i segni zodiacali e chi i nomi di personaggi dei fumetti. Un tocco di originalit me lo aspetto anche da voi :)

Dopodich siamo pronti per l'installazione e possiamo avviarla.

E avrete da guardare un po' la barra di avanzamento che scorre.

Nel frattempo passeranno delle informazioni utili. Non cercheranno di vendervi nulla, potete prestare attenzione a leggerle ;)

Al termine dovrete riavviare il sistema e, se tutto andato bene, vi troverete con una scrivania cos.

Una delle primissime cose da fare verificare se non ci fossero da aggiungere driver proprietari per alcuni componenti del vostro computer. Nel caso l'applicazione potr aggiungerli. necessario un collegamento ad internet per installare questi componenti.

Attenzione! comune che le schede WiFi necessitino di questi driver. Assicuratevi di poter collegare il vostro computer ad internet anche via cavo. Le schede ethernet di norma funzionano sempre.

Se alcuni componenti driver non fossero di vostro interesse (modem interni, bluetooth, ecc) vi consiglio di non installare i driver che non vi servono. Eviterete di contaminare il vostro pc con software proprietario che difficile da gestire in caso di Bug.

Se vorrete fare uso di Formati Proprietari dei file multimediali avrete bisogno di CODEC che per motivi diversi non possono essere inclusi nel CD. Vi invito a leggere la pagina apposita sul wiki di Ubuntu-it, alla fine si tratta di installare un meta pacchetto, cosa facilissima.

Se avrete bisogno di codec particolari date una lettura anche a Medibuntu che include del software proprietario di cui che alcune volte difficile fare a meno.

Adesso cerchero' di illustrare l'anatomia di un sistema linux, come e' fatto. Questo non perche' per usarlo sia necessario sapere tutte queste cose ma perche' possiate essere in grado anche di risolvere problemi a cui potrete incorrere e capire le differenze tra una distribuzione e l'altra.

HURDLINUXGNU ProjectXFreeX.ORGXfceKDEGNOMEKOfficeKonquerorOpenOffice.orgFirefoxINTERNET BROWSER

OFFICE AUTOMATIONDESKTOP ENVIROMENT

GRAPHICAL SERVERUTILITIES & LIBRARIES

SYSTEM KERNELLiloGrubSYSTEM LOADERNello schema si nota una semplificazione degli strati software che compongono una distribuzione Linux. Come vedete, per ogni componente c'e' almeno scelta tra almeno 2 alternative.

La filosofia KISS (Keep It Simple, Stupid) si realizza poi nella descrizione tipica dei programmi Unix: "un insieme di tanti, semplici, programmi che fanno BENE un SOLA cosa ciascuno"

LiloGrubSYSTEM LOADERAl primo livello c' il system Loader. Sono dei programmini che partono appena acceso il disco e propongono all'utente quale sistema caricare. Le distribuzioni moderne preferiscono GRUB ultimamente ma ne esistono alternativi, ad esempio LILO.

HURDLINUXLiloGrubSYSTEM LOADERIl system loader, dopo che l'utente ha scelto il sistema da caricare, proceder eseguendo da disco il kernel del sistema.

Per kernel si intende il nucleo del sistema operativo. Esso permette ai programmi di parlare con l'hardware e di parlare tra di loro.

In un sistema Linux il kernel , appunto Linux ma ne esistono altri alternativi, ad esempio HURD che fa parte del progetto GNU (www.gnu.org)

HURDLINUXGNU ProjectUTILITIES & LIBRARIES

SYSTEM KERNELLiloGrubSYSTEM LOADERDopodich ci sono tutte le utility che compongono il sistema, partendo dalla shell. Per semplificazione le ho rappresentate come un generico GNU Project, ma ricordate che per ogni singolo componente c' sempre almeno 2 scelte.

Questo schema compone un sistema funzionante ma con interfaccia a caratteri. I vecchi Unix erano fatti cos, non avevano interfaccie grafice quindi i programmi utente si appoggiavano sopra questo strato.

HURDLINUXGNU ProjectXFreeX.ORGUTILITIES & LIBRARIES

SYSTEM KERNELLiloGrubSYSTEM LOADERI sistemi moderni, invece, sono dotati di interfaccia grafica.

Il primo strato viene chiamato X (si pronuncia proprio ics). Esso si occupa di gestire l'input da tastiera e mouse e l'output su scheda grafica ad alta risoluzione. Tutto qui, niente finestre.

HURDLINUXGNU ProjectXFreeX.ORGXfceKDEGNOMEDESKTOP ENVIROMENT

GRAPHICAL SERVERUTILITIES & LIBRARIES

SYSTEM KERNELLiloGrubSYSTEM LOADERSopra il server grafico X si poggia il Desktop Enviroment che formato da un Window Manager, ovvero il componente che crea la cornice alle finestre e ne gestisce il ridimensionamento con il mouse, e tutte le funzionalit a cui siete abituati in un desktop moderno come la scrivania, le barre, i menu, ecc.

Il tipo di Desktop Enviroment cambia molto l'esperienza utente perch influenza l'aspetto di tutte le applicazioni.

HURDLINUXGNU ProjectXFreeX.ORGXfceKDEGNOMEKOfficeKonquerorOpenOffice.orgFirefoxINTERNET BROWSER

OFFICE AUTOMATIONDESKTOP ENVIROMENT

GRAPHICAL SERVERUTILITIES & LIBRARIES

SYSTEM KERNELLiloGrubSYSTEM LOADEROltre appunto a fornirne alcune predefinite. Qui vedete semplificato l'esempio delle suite di office automation e dei browser.

Lato arancione le applicazioni predefinite su GNOME e lato blu quelle predefinite su KDE.

LINUXGNU ProjectX.ORGGNOMEOpenOffice.orgFirefoxINTERNET BROWSER

OFFICE AUTOMATIONDESKTOP ENVIROMENT

GRAPHICAL SERVERUTILITIES & LIBRARIES

SYSTEM KERNELGrubSYSTEM LOADERQuinti questa la semplificazione della collezione di programmi che compongono Ubuntu.

LINUXGNU ProjectX.ORGKDEKOfficeKonquerorINTERNET BROWSER

OFFICE AUTOMATIONDESKTOP ENVIROMENT

GRAPHICAL SERVERUTILITIES & LIBRARIES

SYSTEM KERNELGrubSYSTEM LOADERE questa invece una visione semplificata dell'architettura di KUBUNTU.

HURDLINUXGNU ProjectXFreeX.ORGXfceKDEGNOMEKOfficeKonquerorOpenOffice.orgFirefoxINTERNET BROWSER

OFFICE AUTOMATIONDESKTOP ENVIROMENT

GRAPHICAL SERVERUTILITIES & LIBRARIES

SYSTEM KERNELLiloGrubSYSTEM LOADERSi possono anche mescolare alcune cose, ad esempio usare programmi di Kde su GNOME. Non sar efficientissimo perch se usate programmi omogenei con il desktop enviroment questi troveranno gi in memoria le librerie che necessitano... ma con i pc e gli hard disk di oggi si possono fare esperimenti in tutta libert.

FORUM

Poco dopo aver installato Ubuntu vi verranno in mente un sacco di domande. La cosa migliore entrare in contatto con altri utenti e discuterne con loro.

Potrete chiedere aiuto per un problema tecnico. O anche chiedere un consiglio prima di un acquisto.

Oppure, perch no, chiedere un parere sul migliore programma per una particolare attivit.

Nel forum di Ubuntu ci sono gi 90.000 utenti che condividono le loro esperienze che aspettano che anche voi entriate in questa comunit.

Se conoscete l'inglese potrete iscrivervi anche al forum internazionale. stato recentemente raggiunto il ragguardevole traguardo di 1 milione di iscritti.

LAUNCHPAD

Parliamo adesso del cuore delle informazioni su Ubuntu.

Per sviluppare Ubuntu utilizziamo un programma che si chiama Launchpad.

In Inglese questo il Launchpad, la piattaforma di lancio delle navette spaziali.

Ecco Launchpad. Come vedete un'applicazione web. Esso utilizzato per fare Ubuntu ma pu essere usato anche per qualsiasi software libero. L'uso di Launchpad gratuito e ci si pu iscrivere liberamente. A sua volta anche Launchpad Open Source.

L'unico ostacolo che in Launchpad bisogna usare la lingua inglese. Comunque un ambiente internazionale e non ci si aspetta che abbiate un inglese fluente. Un inglese schematico sufficiente per comunicare con gli altri.

In Lanchpad trovate il bug tracking di Ubuntu e di tutte le derivate.

Quindi potrete interrogare il database dei bug alla ricerca di un malfunzionamento che affligge anche voi per trovare un rimedio.

Potrete anche commentare i bug dialogando cos con gli sviluppatori e magari aiutarli a diagnosticare il problema. Potrebbero chiedere informazioni che sono ottenibili solo facendo prove sul proprio hardware.

C' anche un sistema di domande/risposte.

Potete porre una domanda, anche nella vostra lingua, ed altri utenti risponderanno. Voi indicherete quale risposta vi ha risolto il problema a beneficio di chi far ricerche successivamente.

Un po' simile al forum ma in maniera pi schematica.

Le blueprint sono le specifiche funzionali. Se qualcuno curioso pu andare a leggere come evolveranno i programmi nell'immediato futuro vedendo i documenti dei gruppi di lavoro.

Questo ad esempio la pagina wiki collegata alla blueprint del software center. Se andate a leggerla potrete scoprire i piani relativi a questo componente, cosa c' adesso e cosa ci sar in futuro.

Per chi informatico di professione sicuramente un modo per imparare tante cose. E per chi curioso sicuramente un modo per divertirsi un sacco sentendosi veramente parte del software che usa.

In launchpad c' poi il codice sorgente del software. C' un sistema che permette semplicemente di clonare una particolare versione di un software in modo che uno sviluppatore possa sviluppare una propria modifica e poi proporla, per differenza, all'autore originale.

Questo per incentivare e semplificare la collaborazione, anche estemporanea, a progetti di software libero.

Da Launchpad poi facciamo le traduzioni nelle varie lingue. L'uso dell'interfaccia web semplifica il processo e il fatto di lavorare su un unico database permette simpatiche funzionalit come il suggerimento di stringhe simili gi tradotte in altri pacchetti.

In launchpad poi ci sono i PPA. Se qualcuno vuole distribuire il proprio software su UBUNTU pu usare liberamente questo strumento che semplifica all'utente il recuperarsi software non presente nei repository ufficiali e fornisce lo stesso livello di sicurezza.

L'account Launchpad, poi, un account OPENID. Che significa? Significa che potete riutilizzarlo anche in altri servizi collegati ad Ubuntu. Ad esempio Ubuntu One, il sistema di memorizzazione, sincronizzazione e condivisione di cartelle di files tra computer ed utenti diversi.

La quota iniziale di 2 GB gratis per tutti. Se poi lo trovate un servizio utile potete pagare un abbonamento per dello spazio aggiuntivo.

Siamo alla fine di queste tre serate.

Spero di avervi fornito gli elementi sufficienti e la curiosit necessaria per iniziare questo viaggio in un nuovo mondo. In un mondo in cui gli utenti si condividono il software, la conoscenza e si aiutano l'un con l'altro.

Il mondo di Ubuntu, dove io sono cio' che sono per merito di cio' che siamo tutti

Grazie a tutti voi per la partecipazione, ad Alessandro per aver organizzato le serate ed al CRAL che ha risposto in maniera cosi' entusiasta all'iniziativa.

DOMANDE ?

Paolo [email protected]

27 Gennaio 2010

CRAL MPS - Siena