Introduzione a Linux.

Slides:



Advertisements
Presentazioni simili
Eugenia Franzoni Il software libero Catnic Srl. Si può comprare un software?
Advertisements

Hardware e Software Hardware costituito dai componenti materiali, tangibili del computer: tastiera, video, mouse, scheda madre, scheda video, stampante,
D. Talia - UNICAL 1. 1 Sistemi Operativi Domenico Talia Facoltà di Ingegneria Università della Calabria.
Giuditta Cantoni, 4 E S.I.A I DATABASE. Definizione databese In informatica, il termine database, banca dati o base di dati (a volte abbreviato con il.
Cos'è Linux?. Linux, GNU e GNU/Linux ● Linux: è un kernel, un programma che costituisce il nucleo di un sistema operativo. ● GNU: acronimo di GNU is.
LTSP (Linux Terminal Server Project) GNU/Linux ed Workshop di Enrico Teotti powered with Gentoo Linux Linux Day LUG Mantova.
1 14 marzo 2006 sommaruga andrea Fondazione Ordine Ingegneri di Milano VPN: Reti Private Virtuali VPN: RETI PRIVATE VIRTUALI LE POSSIBILITA' DI ACCESSO.
Fabrizio Felici Linux e Windows a confronto, perché passare a Linux 27 ottobre 2007.
Corso gratuito di Linux. Linux User Group Mantova
POLITECNICO DI MILANO FACOLTA’ DI INGEGNERIA SEDE DI CREMONA TESI DI DIPLOMA IN INGEGNERIA INFORMATICA RELATOREAUTORI Prof. Vittorio TrecordiDemicheli.
Introduzione a GNU/Linux. GNU/Linux Caratteristiche Compatibile con UNIX ® Multitasking Multiutente Libero.
1 Alberto Pollastro, !#/bin/bash Novara, GalLUG - Gruppo Utenti Linux Galliate - #!/bin/bash Alberto Pollastro.
Orientamento. Il Kernel Il Kernel è un programma scritto in linguaggio vicino all'hardware che ha il compito di fornire ai processi in esecuzione sul.
Software libero & co Torino 12 settembre Alessandro UGO - E. Richiardone -
Corso Gnu/Linux 2011 – Hacklab Cosenza Breve storia di GNU/Linux  V. Pirrone.
Che cos’è un e book? E’ un libro in formato digitale; si può leggere con un apposito dispositivo ereader, oppure su un tablet, uno smartphone o un computer.
PGDay 2009 FSGateway Ing. Torello Querci Resp. Architetture SW - Negens S.r.l. 4 Dicembre 2009, Pisa.
Gruppo Alpini Rivoli sezione Torino
Basi di dati - Fondamenti
Corso di Elementi di Informatica
PNSD - Modulo D1A marzo 2017 Piattaforme di e-­learning e cloud:​ installazione e gestione (azione #22) Prof. Rocca Marcello
IL SOFTWARE (FPwin 6.0).
A cura dell’Ing. Buttolo Marco
Linux Day 2016.
Introduzione all'Open Source
Che cos’è un e book? E’ un libro in formato digitale; si può leggere con un apposito dispositivo ereader, oppure su un tablet, uno smartphone o un computer.
Compilazione del kernel Linux
“Vivere insieme” – Lezione4
Incontri tematici su GNU/Linux ed il Software Libero - sommario -
Corso LAMP Linux Apache Mysql Php
GeoGebra QuizFaber Formazione tra pari
Breve report su corso RedHat Enterprise Virtualization (RH318)
PNSD - Modulo D1A 27 aprile 2017 Piattaforme di e-­learning e cloud:​ installazione e gestione (azione #22) Prof. Rocca Marcello
Commissione Calcolo e Reti
I PERMESSI IN LINUX.
Excel 1 - Introduzione.
INDICO Parte 1 01/07/2018 Francesco Serafini.
LA GESTIONE DEI PACCHETTI
ai termini e ai principi informatici utili per utilizzare Linux
Tanti motivi per scegliere GNU / Linux
LA GESTIONE DEI PACCHETTI
* Il Sistema Operativo GNU/Linux * Sistema Operativo e Applicazioni
Cosa sono il Software Libero e GNU/Linux? Scopriamolo insieme!
SAS® OnDemand for Academics SAS Studio
Italo Vignoli, 7/2009 Aggiornato da Alberto Guiotto, 1/2010.
INSEGNARE e IMPARARE LIBERAMENTE
analizzatore di protocollo
POWER POINT Il programma, all'interno del pacchetto Office della Microsoft, è quello dedicato alla realizzazione di audiovisivi. Consente di creare documenti.
1.
Corso di Ingegneria del Web A A Domenico Rosaci 1
MODULO 1 – Computer essentials
Organizzazione di una rete Windows 2000
Realizzazione di R. Diana
Ecco tutte le informazioni Microsoft Notizie di SharePoint
Access.
Alessandro Brunengo Mirko Corosu INFN - Sezione di Genova
Nuove Tecnologie e Disabilità
Programmare.
Marco Panella MS - Windows Marco Panella
Marco Panella Windows Marco Panella
Come personalizzare il sito Web online di Microsoft SharePoint
ADO Per gestire i database con tecnologia ASP si utilizzano strumenti ADO (ActiveX Data Objects): un'architettura che fornisce oggetti.
© 2007 SEI-Società Editrice Internazionale, Apogeo
Fogli elettronici e videoscrittura
Excel 3 - le funzioni.
Parti interne del computer
Il passaggio all’opensource nella didattica: analisi e utilizzo di software anche per alunni con BES e DSA Stefano Garione.
Come creare una presentazione
PowerShell di Windows PowerShell è un shell che mette a disposizione un prompt interattivo e un interprete a riga di comando , per le sue caratteristiche.
CLOUD.
Transcript della presentazione:

Introduzione a Linux

Il software Libero Un software libero è un software rilasciato con una licenza che permette a chiunque di utilizzarlo, studiarlo, modificarlo e redistribuirlo; per le sue caratteristiche, si contrappone al software proprietario.

Caratteristiche del software libero La parola libero non implica la possibilità di utilizzare il software libero in maniera indiscriminata: un software libero è comunque soggetto ad una licenza d'uso, a differenza ad esempio del software di pubblico dominio.

Uso del software libero Rispetto al software proprietario, la licenza d'uso del software libero permette di: * eseguire il programma per qualsiasi scopo; * accedere alla struttura interna del programma (codice sorgente), studiarla ed eventualmente modificarla; * ridistribuirlo in un numero di copie illimitato.

Vincoli del software libero La licenza d'uso pone in genere i seguenti vincoli, di cui i principali sono: gli autori precedenti del software devono essere menzionati anche nelle versioni modificate, lasciando intatto il loro copyright;

Vincoli del software libero/2 non è possibile applicare una licenza d'uso incompatibile con la licenza originaria o che vada contro le norme della licenza stessa.

Vincoli del software libero/3 normalmente, nella licenza, vi è una clausola che sancisce la non usabilità del software se non si rispetta la licenza d'uso o se una o più norme della stessa licenza non sono valide per termini di legge;

Vincoli del software libero/4 quando si distribuisce un binario occorre o distribuire insieme anche i sorgenti o garantire per iscritto la possibilità a tutti gli utenti di venirne in possesso dietro richiesta ed al solo costo del supporto

Le "quattro libertà" Secondo Richard Stallman e la Free Software Foundation da lui fondata, un software per poter essere definito libero deve garantire quattro "libertà fondamentali":

Le "quattro libertà"/2 Libertà di eseguire il programma per qualsiasi scopo (chiamata "libertà 0") Libertà di studiare il programma e modificarlo ("libertà 1") Libertà di copiare il programma in modo da aiutare il prossimo ("libertà 2") Libertà di migliorare il programma e di distribuirne pubblicamente i miglioramenti, in modo tale che tutta la comunità ne tragga beneficio ("libertà 3")

Il software libero Il software libero, come "libro di testo", ha molteplici ragioni per essere adottato nella didattica perché principalmente: non discrimina i soggetti su base economica ma seleziona su base meritocratica la gratuità delle licenze d'uso tra l'altro è conforme ai criteri stabiliti dalle varie circolari sull'adozione dei libri di testo che si preoccupano di stabilire un tetto di spesa, a seconda del tipo di scuola

Il software libero /2 permette, sia all'insegnante che all'allievo, l'assoluta libertà di copia, fondamento dello scambio della conoscenza; in questo modo si educa alla legalità non dovendo, nella scuola, ricorrere alla pirateria informatica per svolgere la normale attività educativa;

Il software libero /3 è rispettoso della libertà d'insegnamento, perché permette all'insegnante di scegliere la soluzione e il fornitore che più si adatta alle sue esigenze conoscitive e didattiche;

Il software libero / 4 è rispettoso della libertà di parola, perché permette anche all'insegnante, e alla scuola più in generale, di "entrare in gioco" ed essere "soggetto di cultura";

Il software libero /5 educa alla cultura galileiana e alla consapevolezza informatica attraverso la trasparenza, la verifica e la sperimentazione;

Il software libero /6 incentiva l'economia locale valorizzando le risorse umane locali.

LINUX Linux è un sistema operativo UNIX-like, ovvero discendente dal sistema operativo UNIX

Particolarità di Linux Linux condivide l'impostazione e le strutture fondamentali di UNIX, ma è stato completamente riscritto, compreso il KERNEL

Il nome Linux Generalmente si crede che Linux derivi dal nome della persona che ha maggiormente contribuito alla scrittura del kernel, il finlandese Linus Torvald.

Il nome Linux /2 Invece, il nome Linux a dispetto dell'assonanza tra il nome dell'ideatore e quello del sistema (Linus - Linux) è da attribuire a Ari Lemke, l'amministratore che rese per primo disponibile Linux su internet via FTP.

Il nome Linux /3 In particolare Linux era il nome della directory in cui risiedevano i file del nuovo sistema operativo. il nome scelto da Torvalds era Freax, una combinazione tra “free”, “freak” e “x”, per indicare la caratteristica di un sistema Unix-like.

Linus Torvald La popolarità di Torvalds ebbe inizio a seguito di una disputa accademica con il professor Andrew Tanenbaum, professore ordinario di Sistemi di Rete all'università di Amsterdam.

Linus vs Tanenbaum /2 Tanenbaum aveva realizzato per scopi didattici Minix, un sistema operativo simile a Unix, che poteva essere eseguito su di un comune Personal Computer.

Minix Tale sistema operativo veniva distribuito con il codice sorgente, ma la sua licenza di distribuzione vietava di apportare modifiche al codice senza l'autorizzazione dell'autore.

Minix /2 Altre divergenze, tra Linus e Tanenbaum, portarono Linus a riflettere direttamente sulla possibilità di creare una sorta di Unix per PC, ispirato a Minix, ma che allo stesso tempo consentisse a tutti di metterci le mani

Storia della nascita di Linux Luglio 1991 Linus Benedict Torvalds, ancora un giovane studente dell' Università di Helsinki, inizia a lavorare al suo hobby: Linux. Il 3 Luglio lo si sente informarsi su usenet: "Hello netlanders, Due to a project I'm working on (in minix), I'm interested in the posix standard definition. Could somebody please point me to a (preferably) machine-readable format of the latest posix rules? Ftp-sites would be nice. " Torvalds giustificherà poi la folle impresa con queste parole: "I couldn't afford some of the commercial OSes and I didn't want to run DOS or Windows -- I don't even know, did Windows really exist then?".

5 Ottobre 1991 Nello stesso anno viene rilasciata la versione 0.02. Il post su usenet che ne annuncia la presenza è diventato un classico.

Gennaio 1992 Viene rilasciata la versione 0.12. Risulta relativamente stabile e supporta vario hardware. "Earlier kernel releases were very much only for hackers: 0.12 actually worked quite well" Da questa versione in poi la crescita di Linux inizia a diventare progressiva e dirompente, sia come numero di coder che supportano lo sviluppo, sia come utilizzatori.

Aprile 1992 Rilasciate la versione 0.95 e 0.96. Il salto è diretto dalla 0.12. Nascono le prime distribuzioni: la MCC Linux e la SLS.

1994 Viene rilasciata la prima versione definitiva 1.0. Nascono RedHat, Debian, SUSE tutt'ora fra le distribuzioni più diffuse.

1995 Compaiono sul mercato delle nuove distribuzione commerciali come Caldera Linux. Kernel 1.2 in Marzo. Dal kernel 1.3 in sviluppo si passerà direttamente al 2.0

1996 Rilasciata la versione 2.0. Compaiono le prime versioni tradotte in più lingue.

Il logo di Linux Linux ha bisogno di una mascotte: nasce TUX, il pinguino più famoso del mondo, disegnato da Larry Erwing.

1997 Da qui in poi la storia di Linux diventa sempre più Linus indipendente, nel 1997 lascia la Finlandia per raggiungere Santa Clara, Silicon Valley

1999 Dopo lunga attesa il kernel 2.2 vede la luce.

2001 Agli inizi dell'anno, dopo varie pre-version, su www.kernel.org appare l'immagine da 19.788.626 byte del 2.4.0 La prima release di un altro stable thread.

Oggi Linux è una reale alternativa al mondo Microsoft e Unix, si ritrova milioni di utenti, migliaia di sviluppatori e un mercato in espansione.

Dove si usa Linux E' presente in sistemi integrati, è usato per il controllo di dispositivi robotizzati e ha volato a bordo dello shuttle, praticamente gira su oggetti elettronici di tutti i tipi, dai palmari alle workstation Alpha, risultando l'OS in assoluto più soggetto a porting.

Chi lo usa IBM "lo monta sui suoi server", Microsoft lo considera il principale nemico da combattere (e non lesina risorse nel farlo), Oracle ci fa girare sopra il suo DB.

Linux SO Open Source Diversamente da altri sistemi operativi, come ad esempio Microsoft Windows, prodotto da una sola azienda ed i cui codici sorgenti sono protetti da copyright e segreto industriale, Linux è un sistema operativo open source

Linux SO Open Source/2 Il codice sorgente dell'intero sistema operativo è disponibile e liberamente modificabile

Linux SO Open Source /2 Linux è frutto di un intenso lavoro operato anche a titolo gratuito da migliaia di programmatori in tutto il mondo, che mettono a disposizione le proprie competenze, ed idee per contribuire allo sviluppo di Linux come SO robusto, affidabile e molto potente

Personalizzazione di Linux La natura open-source di Linux permette agli sviluppatori una completa personalizzazione del sistema operativo con: differenti kernel differenti tools di installazione e configurazione differenti gestori di finestre ecc.

Distribuzioni Linux Ogni distribuzione (personalizzazione) di Linux comprende una vasta raccolta di programmi, scelti, assemblati e/o prodotti da chi realizza la distribuzione. Normalmente questi pacchetti rientrano nella categoria di software libero, distribuito sotto la licenza GNU GPL

Funzionalità dei pacchetti semplificare l'installazione del sistema operativo al momento dell'accensione del sistema (ad esempio i boot manager GRUB e LILO) configurare e utilizzare il computer nelle sue funzionalità di base (uso della rete, delle periferiche, ecc.) configurare e utilizzare il computer nelle applicazioni avanzate (configurare i servizi server di rete, di posta, etc.)

Funzionalità dei pacchetti /2 offrire applicazioni per Internet (web browser, clienti di posta, IRQ, ICQ, ecc.) offrire strumenti di produttività (elaboratori di testi, immagini, ecc.) offrire strumenti multimediali (player mp3, DVD, ecc.) offrire una documentazione sul sistema operativo

Kernel - Che cos'è? Per kernel si intende il cuore di un sistema operativo, il codice che gestisce le risorse presenti sul nostro sistema e le rende disponibili alle applicazioni. Il kernel si occupa principalmente di gestire: - le comunicazioni con l'hardware del sistema, - i file system, la memoria, - l'accesso a queste risorse da parte dei processi (le applicazioni che girano sul sistema)...

Le versioni del kernel Le versioni del kernel Linux sono identificate con numeri dal significato ben preciso. Per esempio il kernel 2.4.15 ha: 2- Il major number. I kernel della serie 1.x sono ormai piuttosto vecchi e pochissimo usati. 4- Il minor number. Se è pari il kernel viene considerato stable e pronto per sistemi in produzione, se è dispari lo si considera in development e da usare con cautela o per sperimentazione.

Kernel Monolitico Vs Kernel Modulare Esistono diversi tipi di kernel: Monolitico Esempi di tali sistemi sono UNIX, Linux, MS-DOS. Microkernel Modulare

Monolitico Monolitico E' un singolo file binario eseguibile in modalità "kernel" che contiene il gestore del processo, della memoria, del sistema e tutto il resto.

Microkernel E' un piccolo nucleo ridotto ai minimi termini che ha il compito di gestire le comunicazioni fra i gestori di sistema, processi separati eseguiti al di fuori dal kernel. Esempi di tali sistemi sono BE OS, GNU HURD, MINIX.

kernel Modulare Per kernel Modulare si intende un' estensione del kernel monolitico, con la capacità di caricare/scaricare parti di codice (moduli) secondo necessità e richieste. Può esserlo Linux se lo si definisce in fase di configurazione pre- compilazione.

Kernel Il kernel monolitico è più veloce, poichè tutto il codice è già stato caricato al bootstrap dell'OS, ma di contro occupa maggiori risorse del sistema. Un altro punto a favore è la maggiore stabilità: non richiede moduli evitando così pericolose dipendenze. Il kernel modulare è quello utilizzato da tutte le distribuzioni in fase di installazione di LINUX su una macchina.

Le distribuzioni Una Distribuzione (distro) è un confezionamento (packaging) di Linux, con procedure che rendono comoda e semplice l'installazione.

Le distribuzioni /2 Si consideri che il "Linux di Linus" non è veramente un OS ma il semplice kernel. A questo ogni distribuzione aggiunge tutto il software necessario per avere un sistema operativo completo di software applicativo e di servizio.

Le distribuzioni /3 Le distribuzioni differiscono per: - Numero e versioni dei programmi installabili; - Versione del kernel utilizzata e modalità di pre-installazione (il kernel solitamente non viene compilato durante una normale installazione); - Procedura di installazione (interfaccia utente e possibilità di definire opzioni e scegliere quale software installare); - Organizzazione di file di configurazione, programmi, log nel file system; - Configurazioni predefinite del software installato.

Le distribuzioni più note Red Hat Debian Suse Slackware Mandriva

Red Hat Red Hat è la più popolare distribuzione Linux e si adatta bene ad usi diversi (desktop, server, laptop). Pioniera nell'includere un meccanismo di update User Friendly e l'aggiornamento automatico tramite il RedHat Network. Ha introdotto il sistema di gestione di pacchetti software con estensione .RPM che facilita installazione e aggiornamento del software.

Debian Distribuzione completamente sviluppata da una comunità che consta di centinaia di persone in tutto il mondo; fornisce un proprio sistema di pacchettizzazione simile all'RPM (pacchetti .DEB). Viene considerata per puristi ed esperti e risulta generalmente meno user-friendly delle altre.

SUSE Distribuzione più diffusa in Europa, solida e ben accessoriata, RPM compatibile. Utilizza un software di gestione e configurazione (YAST) completo, semplice, ma poco compatibile.

MANDRIVA In crescente diffusione, usa pacchetti simili a RPM (MDK) che sono aggiornati molto rapidamente. E' molto user friendly e probabilmente è la più adeguata per un sistema desktop.

Slackware Slackware è una delle prime distribuzioni. Si differenzia dalle altre per non usare package tipo RPM o DEB e viene generalmente considerata più ostica da installare. Per puristi.

VoltaLinux Voltalinux è una nuova distribuzione di linux realizzata da Matteo Garofano basata sulla distibuzione Slackware linux ed il sistema di impacchettamento software di NetBSD .

Il desktop grafico di Linux E' possibile operare sul sistema Linux in due modi: tramite una shell, con interfaccia testuale a caratteri, particolarmente comoda su server, o tramite un ambiente grafico, con icone e finestre gestite via mouse.

X Window System Il sistema grafico di Linux viene comunemente chiamato X (X Window System) che nel tempo è diventato la GUI (graphic user interface) standard di UNIX e Linux. Logo di X Window

X Window System /2 X Window System, noto in gergo come X11 o ancor più semplicemente X, è di fatto il sistema grafico standard per tutti i sistemi Unix (Linux e BSD compresi); è mantenuto dalla X.Org Foundation e rilasciato sotto una licenza di software libero.

X Window System /3 A differenza di Microsoft Windows, in cui l'interfaccia a finestre è parte integrante del kernel, in UNIX è un normale processo e viene trattato come tale, con vantaggi (maggiore stabilità del sistema nel momento in cui si dovesse bloccare) e gli svantaggi (prestazioni penalizzate)

X Window System /4 X fornisce l'ambiente di lavoro di base per le interfacce grafiche, ovvero il disegno e lo spostamento delle finestre sullo schermo e l'interazione con il mouse e la tastiera.

X Window System /5 X non gestisce invece l'interfaccia grafica utente o lo stile grafico delle applicazioni: tutti questi aspetti sono gestiti direttamente da ogni singola applicazione.

X Window System /6 Un'altra caratteristica molto importante è la trasparenza di rete: la macchina dove girano i programmi (client) non deve essere per forza la macchina locale (display server)..

X Window System /7 I termini "server" e "client" vengono spesso confusi: per X il server è il display locale dell'utente, non una macchina remota. Questo permette anche di visualizzare sullo stesso display applicazioni che vengono eseguite su diversi host, oppure che su un host vengano eseguite applicazioni la cui interfaccia grafica finisce su diversi display..

Il modello client/server X usa un modello client/server: in altre parole, il server X comunica con gli altri programmi (client). Il server accetta richieste per output grafici (finestre) e input dall'utente (dalla tastiera, il mouse o dal touchscreen).

Il modello client/server 2 Il server X può essere: * un programma di sistema che controlla l'output video di un PC (oggi è il caso più comune)

Il modello client/server 3 * un componente hardware dedicato (i cosiddetti X terminal: calcolatori dotati solo dell'hardware necessario ad eseguire il server X, pensati per visualizzare applicazioni eseguite su appositi server applicativi.

Il modello client/server 4 * un applicazione che mostra dati su una finestra di un altro sistema grafico.

Il modello client/server 4 Questa terminologia client/server - il terminale dell'utente come "server", le applicazioni remote come "client" - spesso confonde i nuovi utenti di X perché i termini sembrano inversi.

Il modello client/server 5 Questa terminologia client/server - il terminale dell'utente come "server", le applicazioni remote come "client" - spesso confonde i nuovi utenti di X perché i termini sembrano inversi.

Il modello client/server 6 X prende la prospettiva del programma piuttosto che quella dell'utente finale o dell'hardware: il display locale di X fornisce un servizio di visualizzazione ai programmi, in questo modo agisce da server; il programma remoto usa questi servizi, così agisce come un client.

Il modello client/server 5 Architettura di un client X Window System

X Window System /8 L'ambiente grafico X è composto essenzialmente da questi componenti: Server X (applicazione che interagisce con l'hardware grafico locale) Windows Manager (applicazione che provvede alla grafica delle finestre: bordi, pulsanti, commutazione tra finestre) Desktop Manager Client X

Desktop Manager Desktop Manager: componente presente nelle implementazioni più recenti ma non obbligatorio: fornisce una serie di elementi integrati per le funzionalità di base del desktop: pannelli, icone, menu avvio, file manager, applicazioni di base... Gli esempi più comuni sono KDE e gnome.

Server X E' il processo che si occupa di gestire il display, ovvero si occupa di far interagire l'utente con la GUI. Esistono molteplici Server X, ma su linux sono diffusi Xorg e XFree86.

Windows Manager Sono i software che si occupano di gestire le finestre e l'interazione con l'utente, ne esistono numerosi, e possono essere alla base di sistemi desktop più complessi e completi. Fra i nomi più noti, KDE, Enlightenment, Sawfish, AfterStep, FVWM, Blackbox, Fluxbox, Metacity

Desktop Manager Insiemi di programmi che offrono una interfaccia unificata, coerente ed integrata. I Desktop Manager più conosciuti ed utilizzati sono Gnome e KDE, dotati di tutto il software necessario per un desktop moderno, con XFCE terzo incomodo, sicuramente più “leggero”

Client X Sono tutti i programmi eseguiti sotto X, con cui l'utente interagisce (ad esempio un browser, un word processor, ecc.) Usano i servizi del server X per visualizzare la loro interfaccia grafica e ricevere input dall'utente

Ambienti Desktop L'interfaccia grafica di Linux può basarsi su diversi ambienti desktop (Desktop Environment o Desktop Manager), che mirano alla definizione di una interfaccia a finestre omogenea, coerente, semplice da usare ed integrata: Gnome e KDE sono i più noti nelle distribuzioni Linux.

KDE (K Desktop Environment) Comprende, oltre ad un windows manager autonomo, un intero ambiente desktop molto user friendly.

KDE (K Desktop Environment) Fornisce vari sistemi integrati per la gestione e configurazione del sistema, oltre a vari programmi come una suite office completa (Koffice) e un IDE- Ambiente di sviluppo integrato (KDevelop).

KDE (K Desktop Environment) Si basa sulle librerie Qt ed utilizza un proprio metodo di comunicazione tra processi: DCOP.

Introduzione al KDE Il K Desktop Environment (KDE) é un ambiente desktop grafico che usa icone, finestre, menu e pannelli; vi permette di accedere al vostro sistema Linux e alle varie applicazioni tramite il mouse e la tastiera.

Introduzione al KDE Il desktop di KDE mostra icone di accesso alle applicazioni, finestre di documenti, cartelle di file e così via. Potete anche accedere al menu principale e configurare il desktop in base alle vostre esigenze.

Il Desktop

Introduzione al KDE La barra visualizzata nella parte inferiore dello schermo è chiamata pannello. Il pannello contiene le icone per l'esecuzione di applicazioni, gli indicatori di stato e il gestore del desktop. In KDE potete eseguire fino a 16 desktop contemporaneamente. La barra dei task mostra le applicazioni attualmente in esecuzione.

Il pannello La barra visualizzata nella parte inferiore dello schermo è chiamata pannello. Il pannello contiene le icone per l'esecuzione di applicazioni, gli indicatori di stato e il gestore del desktop. In KDE potete eseguire fino a 16 desktop contemporaneamente. La barra dei task mostra le applicazioni attualmente in esecuzione.

Il pannello l pannello è altamente configurabile. Potete aggiungere o rimuovere pulsanti di accesso rapido alle varie applicazioni. Fate clic con il pulsante destro del mouse e selezionare Configurare il pannello per aprire il pannello Impostazioni.

Il pannello

Il pannello Impostazioni del pannello

Il pannello Potete configurare l'orientamento e la misura del pannello, impostare una configurazione hiding (dove il pannello resta nascosto fino non andate sopra l'area del pannello), e personalizzate il vostro menu principale.

Il pannello È abbastanza semplice aggiungere applicazioni e utility al pannello. Fate clic con il pulsante destro del mouse sul pannello e selezionate Aggiungi. Selezionate quindi Pulsante delle applicazioni e scegliete dai menu.

Il pannello

Le Icone Le icone presenti sul desktop possono essere file, cartelle, collegamenti a dispositivi o icone per l'esecuzione di applicazioni. Per accedere a uno di questi elementi, fate clic sull'icona corrispondente.

Utilizzo del Menu principale Il Menu principale è il punto focale dell'utilizzo di KDE. Facendo clic sull'icona Menu principale sul pannello, potete visualizzare un grande menu dal quale effettuare vari task per esempio, avviare applicazioni, trovare file e configurare il desktop.

Utilizzo del Menu principale Il menu principale contiene, inoltre, diversi sottomenu utili per organizzare le applicazioni e i tool in categorie. Tra gli altri: Grafiche, Internet Office, Giochi e molte altre.

Le applet Le applet sono piccole applicazioni in esecuzione sul pannello. Vi sono applet di diverso tipo, ciascuna delle quali svolge una propria funzione: il monitoraggio del sistema o della rete e l'esecuzione di applicazioni tramite la digitazione di comandi in una casella di testo.

Le applet

Il Desktop Il desktop di KDE funziona come il desktop di un qualsiasi altro sistema operativo. È possibile trascinare e lasciare file e icone di applicazioni in qualsiasi punto del desktop. Si possono inoltre aggiungere nuove icone per ogni tipo di applicazione e risorsa al desktop, al pannello o al file manager.

Il desktop Il desktop di KDE funziona come il desktop di un qualsiasi altro sistema operativo. È possibile trascinare e lasciare file e icone di applicazioni in qualsiasi punto del desktop. Si possono inoltre aggiungere nuove icone per ogni tipo di applicazione e risorsa al desktop, al pannello o al file manager.

Il Desktop Il desktop contiene le icone per il cestino, la vostra home directory, e una icona del dischetto. Potete accedere a tutti questi dispositivi facendo clic sull'icona dell'applicazione corrispondente.

Il Desktop cestino cartella home floppy masterizzatore

Il Desktop Facendo, invece, clic con il pulsante destro del mouse su queste icone, visualizzerete diverse opzioni, come Cancella Rinomina Sposta nel cestino e Copia.

Il Desktop

Il Desktop Potete trascinare e rilasciare nell'icona Cestino gli oggetti (per esempio i file) che non desiderate più conservare. Per cancellare tali oggetti in modo permanente, fate clic con il pulsante destro del mouse sull'icona del cestino e selezionate Svuota cestino.

Lavorare in desktop multipli Per default, KDE vi offre quattro desktop diversi, che potete utilizzare per visualizzare molteplici applicazioni senza concentrarle tutte in uno stesso ambiente di lavoro. Ciascun desktop può contenere icone, aprire applicazioni e presentare sfondi personalizzati singolarmente.

Lavorare in desktop multipli /2 Potete cambiare il numero e i nomi dei vari desktop disponibili in KDE nei modi seguenti: 1. Facendo clic con il pulsante destro del mouse sul desktop, potete visualizzare un piccolo menu che vi mostrerà le azioni che potete svolgere. 2. Selezionando Configure Desktop per aprire il tool di configurazione di KDE. 3. Fate clic sull'icona Desktop multipli

Lavorare in desktop multipli /3

Gnome (GNU Network Object Model Environment) E' scritto e sviluppato dal Gnome Developer's project e fa parte del progetto GNU. A differenza di KDE, Gnome è solo l'ambiente desktop, per cui ha bisogno di un windows manager come FVWM (Fantastic Virtual Windows Manager)

Gnome (GNU Network Object Model Environment)/2 Anche Gnome offre dei propri sistemi integrati per la gestione del computer. La sua architettura è completamente basata su CORBA. Si basa sulle librerie GTK ed utilizza CORBA per la comunicazione tra processi con l'implementazione ORBit

Ambienti Desktop /2 Molte distribuzioni Linux prevedono la possibilità di installare ed utilizzare sia Gnome che KDE, è poi possibile modificarli e aggiornarli secondo le proprie necessità.

Ambienti Desktop /3 E' possibile lanciare programmi per KDE sotto Gnome, e viceversa (sono tutti client X), l'interoperabilità reciproca migliora ma resta l'onere di caricare in memoria le librerie di base di entrambi e quindi appesantire sistemi non ben dimensionati.

XFCE E' un ambiente desktop che sta crescendo molto perché mantiene la caratteristica di essere leggero, e quindi permettere un agevole uso anche su hardware non potente.

FILESYSTEM E PARTIZIONI Durante l'installazione di Linux viene richiesto come partizionare i(l) propri(o) hard disk, in modo da definire cosa formattare e dove installare il sistema operativo, se preservare le eventuali partizioni esistenti (contenenti altri OS) o ripulire completamente gli hard disk.

Diskdruid e Fdisk Gli strumenti generalmente disponibili per questa operazione sono: fdisk Tool testuale con la possibilità di operazioni avanzate per il partizionamento diskdruid Tool grafico fornito da RedHat, semplice ed intuitivo alternativa funzionale a fdisk se non si hanno bisogno di funzionalità avanzate

Partizioni /2 Con diskdruid e fdisk si ha la possibilità di decidere come partizionare i propri hard disk e decidere quale filesystem adottare per far girare linux. Il minimo partizionamento richiesto prevede: - una partizione generale (/, root) in cui saranno inseriti tutti i file. - una partizione di swap (usata come Virtual Memory)

Partizioni /3 E' preferibile, nelle installazioni standard avere un miglior partizionamento cioè dedicare partizioni indipendenti per: - / (la root, sotto la quale stanno tutte le altri directory - /boot (partizione di boot, dove risiede kernel e file di boot. 20 Mb di spazio possono bastare) - /var (partizione in cui vengono messi file che cambiano di dimensione, tipicamente i log. E' utile averla su partizione indipendente per evitare che un aumento dei log inattesi riempa tutto il filesystem. Farla almeno di 100 Mb) - /home (dove risiedono i file di tutti gli utenti. Può essere piccola e praticamente inutilizzata (mail, dns server) o molto grossa e piena di documenti (web, file server) - /tmp dove risiedono file temporanei.

Partizioni /4 In fase di partizionamento, oltre a decidere come partizionare gli hard disk bisogna assegnare ad ogni partizione un mount point. Per esempio se abbiamo un hard disk da 10 Gb come primary master e lo vogliamo dividere in 6 partizioni, potremo ottenere: Partizione Mount Point Partizione Mount Point Partizione Mount Point /dev/hda1 / /dev/hda2 /boot /dev/hda3 /var /dev/hda4 /home /dev/hda5 /tmp /dev/hda6 SWAP

Partizioni /5 Considerare inoltre che possiamo formattare ogni partizione con un file system diverso. Possiamo per esempio avere, nell'esempio sopra, tutte le partizioni in ext2 (File System nativo di Linux) e la partizione /dev/hda4 ( dove viene montala la /home ) formattata in FAT 32 (File System di Windows 98, supportato anche da Linux).

Differenze fra gli utenti In ambienti Unix e quindi anche su Linux esistono differenze fra i vari utenti, definite dai permessi e dall'acceso ai file e comandi che un'utente può lanciare.

Utenti /2 E' convenzione che i semplici utenti possono scrivere, leggere e modificare file solo all'interno del loro ambiente (home) e lanciare semplici comandi che non influiscono sulla configurazione del sistema.

Utente root Per poter accedere completamente alle risorse del sistema bisogna accedere al sistema come superuser ovvero impersonificando l'utente root.

Chi è root? L'utente root è l'amministratore del sistema con tutti i poteri che comporta questo ruolo, quindi è molto importante che l'accesso a root sia limitato solo al reale amministratore di sistema (sysadm).

Utente root /2 L'utente root ha poteri assoluti sul sistema: - Aggiungere, Eliminare e modificare account (altri utenti) - Installare e configurare servizi - Accesso completo (lettura e scrittura) di tutti i file presenti nel filesystem - Aggiungere e Modificare il Filesystem - Distruggere tutto con un solo comando (e tante altre brutte cose, il potere di root sul sistema è assoluto).

I processi di login e logout Linux è un sistema operativo multiutente, dove differenti utenti possono avere accesso al sistema avendo i propri dati, i propri programmi e impostazioni completamente separate da quelle di altri utenti oltre ad avere la possibilità di accedere alla risorse del sistema simultaneamente (sia direttamente tramite console (tastiera) sia da remoto via rete).

Login L'operazione di autenticazione dell'utente, tramite nome utente e password, che permette l'accesso alle risorse del sistema è detto login.

La shell L'interfaccia testuale di gestione del sistema, a cui si accede tramite il login (in modalità testuale) è si chiama shell.

Login /2 Il login può essere eseguito in ambienti diversi, grafici o testuali da locale o da remoto ma hanno tutti lo stesso scopo: verificare che l'utente abbia i requisiti per accedere al sistema o ad un suo servizio e metterlo in condizione di interagire con la macchina.

Logout Il logout è esattamente l'opposto del login: chiude la shell aperta con il precedente login e tutti i successivi programmi lanciati dall'utente, e fa in modo che l'utente debba ripetere il login per riaccedere alla linea di comando o meglio shell.

Cosa è una shell? Se il kernel è il nucleo, la shell è il guscio. Per shell si intende la l'interfaccia (testuale) tramite la quale l'utente può operare sul sistema. Il guscio esterno, accessibile all'umano, con cui è possibile interagire con le funzionalità offerte dal kernel, interprete e gestore dell'hardware.

La shell /2 La shell è un programma che gestisce la comunicazione fra utente e sistema operativo interpretando ed eseguendo i comandi dell'utente (la shell viene chiamata anche command interpreter).

La shell /3 Può avere diversi utilizzi: - Uso interattivo, il sistema attende i comandi digitati dall'utente, che possono redirezionare input ed output; - Configurazione della propria sessione, con cui definire variabili e parametri che vengono utilizzati in ogni interazione dell'utente con la macchina; - Programmazione utilizzando comandi di sistema e funzionalità della shell è possibile realizzare piccoli programmi (script shell) in grado di automatizzare operazioni e reagire ad eventi.

Quali shell? Esistono molteplici shell, ognuna delle quali presenta caratteristiche e peculiarità proprie. sh Bourne shell, è disponibile su qualsiasi ambiente UNIX, quindi è la più utilizzata per creare script shell compatibili e cross- platform. csh C shell, prende il nome dal linguaggio di programmazione, ovviamente le funzionalità di tale shell derivano in modo diretto dal C. bash Bourne Again Shell. Una delle ultime nate, offre le stesse capacità della C shell, con l'aggiunta di alcune funzionalità come l'history dei comandi e la TAB completion

Panoramica bash, funzioni e caratteristiche Bash acronimo di Bourne Again SHell, è la shell di gran lunga più utilizzata in ambiente Linux.

Bash: funzioni e caratteristiche Alcune sue caratteristiche (presenti anche in altre shell): - Possibilità di editare la command line - Autocompletion dei comandi - Possibilità di definire alias per i comandi - History infinita dei comandi inseriti

Bash: funzioni e caratteristiche/2 - Funzionalità di scripting e funzioni condizionali e di ciclo. - Possibilità di definire funzioni e alias - Possibilità di gestire array indicizzati di dimensioni infinite - Gestione e controllo dei job - Espressioni aritmetiche - Caratteri jolly (metacaratteri) nella gestione dei nomi di file