CRAL MPS: Anatomia di un sistema GNU Linux

  • 408 views
Uploaded on

 

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
408
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
8
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide
  • 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
  • La prima sera abbiamo parlato di Software Libero, la seconda invece di Ubuntu, e oggi inizieremo a guardare “sotto il cofano”.
  • 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 su http://www.gnu.org http://www.softwarelibero.it http://www.linux.it
  • 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.
  • Nello 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"
  • Al 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.
  • Il 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)
  • Dopodiché 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.
  • I 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.
  • Sopra 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.
  • Oltre 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.
  • Quinti questa è la semplificazione della collezione di programmi che compongono Ubuntu.
  • E questa invece una visione semplificata dell'architettura di KUBUNTU.
  • Si 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à.
  • 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.
  • 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.

Transcript

  • 1. Anatomia di un sistema GNU Linux Paolo Sammicheli [email_address] 27 Gennaio 2010 CRAL MPS - Siena
  • 2. http://slideshare.net/xdatap1 http://paolo.sammiche.li/cral
  • 3. Software Libero Anatomia Ubuntu Linux 13 Gennaio 20 Gennaio 27 Gennaio
  • 4. USO COPIA STUDIO MODIFICA
  • 5. CODICE SORGENTE
  • 6.  
  • 7.  
  • 8.  
  • 9.  
  • 10.  
  • 11.  
  • 12.  
  • 13.  
  • 14.  
  • 15.  
  • 16.  
  • 17.  
  • 18.  
  • 19.  
  • 20.  
  • 21.  
  • 22.  
  • 23.  
  • 24. HURD LINUX GNU Project XFree X.ORG Xfce KDE GNOME KOffice Konqueror OpenOffice.org Firefox INTERNET BROWSER OFFICE AUTOMATION DESKTOP ENVIROMENT GRAPHICAL SERVER UTILITIES & LIBRARIES SYSTEM KERNEL Lilo Grub SYSTEM LOADER
  • 25. Lilo Grub SYSTEM LOADER
  • 26. HURD LINUX Lilo Grub SYSTEM LOADER
  • 27. HURD LINUX GNU Project UTILITIES & LIBRARIES SYSTEM KERNEL Lilo Grub SYSTEM LOADER
  • 28. HURD LINUX GNU Project XFree X.ORG UTILITIES & LIBRARIES SYSTEM KERNEL Lilo Grub SYSTEM LOADER
  • 29. HURD LINUX GNU Project XFree X.ORG Xfce KDE GNOME DESKTOP ENVIROMENT GRAPHICAL SERVER UTILITIES & LIBRARIES SYSTEM KERNEL Lilo Grub SYSTEM LOADER
  • 30. HURD LINUX GNU Project XFree X.ORG Xfce KDE GNOME KOffice Konqueror OpenOffice.org Firefox INTERNET BROWSER OFFICE AUTOMATION DESKTOP ENVIROMENT GRAPHICAL SERVER UTILITIES & LIBRARIES SYSTEM KERNEL Lilo Grub SYSTEM LOADER
  • 31. LINUX GNU Project X.ORG GNOME OpenOffice.org Firefox INTERNET BROWSER OFFICE AUTOMATION DESKTOP ENVIROMENT GRAPHICAL SERVER UTILITIES & LIBRARIES SYSTEM KERNEL Grub SYSTEM LOADER
  • 32. LINUX GNU Project X.ORG KDE KOffice Konqueror INTERNET BROWSER OFFICE AUTOMATION DESKTOP ENVIROMENT GRAPHICAL SERVER UTILITIES & LIBRARIES SYSTEM KERNEL Grub SYSTEM LOADER
  • 33. HURD LINUX GNU Project XFree X.ORG Xfce KDE GNOME KOffice Konqueror OpenOffice.org Firefox INTERNET BROWSER OFFICE AUTOMATION DESKTOP ENVIROMENT GRAPHICAL SERVER UTILITIES & LIBRARIES SYSTEM KERNEL Lilo Grub SYSTEM LOADER
  • 34. FORUM
  • 35.  
  • 36.  
  • 37. LAUNCHPAD
  • 38.  
  • 39.  
  • 40.  
  • 41.  
  • 42.  
  • 43.  
  • 44.  
  • 45.  
  • 46.  
  • 47.  
  • 48.  
  • 49. DOMANDE ? Paolo Sammicheli [email_address] 27 Gennaio 2010 CRAL MPS - Siena