CORSO BASE DI
“TECNICO RIPARATORE HARDWARE”
“LINUX”
Docente:
Dott. Ing. Antonio Pagano
DESCRIZIONE: IL KERNEL 1/3
Linux è una famiglia di sistemi operativi di tipo Unix-like aventi la
caratteristica comune di utilizzare come nucleo il kernel Linux.
Il kernel Linux è un software libero distribuito con licenza GNU
General Public License (GPL); è stato creato nel 1991 da Linus
Torvalds. Integrato con il Sistema GNU, sviluppato da Richard
Stallman, ha dato vita al sistema operativo GNU/Linux (chiamato
comunemente con il solo nome Linux). Molte importanti società come:
IBM, Sun Microsystems, Hewlett-Packard, Red Hat e Novell hanno
sviluppato e sviluppano un sistema Linux. Grazie alla portabilità del
kernel Linux sono stati sviluppati sistemi operativi Linux per un'ampia
gamma di computer, dai cellulari, tablet computer e console ai
mainframe e i supercomputer ed esistono sistemi Linux installabili
come server.
DESCRIZIONE: IL KERNEL 2/3
Il kernel è il "cuore" di un sistema operativo (nucleo) e fornisce tutte le
funzioni essenziali per il sistema, in particolare la gestione della
memoria, delle risorse del sistema e delle periferiche, assegnandole di
volta in volta ai processi in esecuzione. La controparte del kernel è la
shell, ovvero l'interfaccia utente del sistema, la parte più esterna. I
programmi chiedono le risorse al kernel attraverso delle chiamate
(system call) e non possono accedere direttamente all'hardware. Il
kernel si occupa quindi di gestire il tempo processore, le
comunicazioni e la memoria distribuendole ai processi in corso a
seconda delle priorità (scheduling) realizzando così il multitasking.
Come ogni progetto che sia software libero, anche il kernel Linux è in
continua evoluzione. La dimensione del kernel Linux cresce in maniera
esponenziale, aggiungendo nuovi moduli, hardware supportato ecc.
DESCRIZIONE: IL KERNEL 3/3
Linux è un kernel che supporta il multitasking (“multiprocessualità” =
più programmi contemporaneamente) ed è multi utente. Ciò permette
che diversi utenti (con privilegi differenziati) possano eseguire sullo
stesso sistema diversi processi software in simultanea. Attualmente
Linux supporta gran parte dell'hardware disponibile per PC e supporta
un numero enorme di architetture (tra cui SPARC, PowerPC e le più
moderne CPU a 64 bit).
Dato che il codice sorgente di Linux è disponibile a tutti, è ampiamente
personalizzabile, al punto da rendere possibile, in fase di compilazione,
l'esclusione di codice non strettamente indispensabile. La flessibilità di
questo kernel lo rende adatto a tutte quelle tecnologie embedded
emergenti e anche nei centri di calcolo distribuito (cluster Beowulf)
fino ad essere incorporato in alcuni dispositivi digitali e nei cellulari.
SCRITTO IN LINGUAGGIO C
Linux è scritto nella versione del linguaggio di programmazione C
supportata dal compilatore GCC (che ha introdotto numerose
estensioni e cambiamenti al C standard), insieme a un certo numero di
brevi sezioni di codice scritte in linguaggio assembly. Grazie alle
estensioni di C che supporta, GCC per lungo tempo è stato il solo
compilatore in grado di compilare correttamente Linux. Nel 2004, Intel
asserì di aver modificato il kernel in modo tale che anche il suo
compilatore C fosse in grado di compilare Linux.In qualche modo
vengono utilizzati molti altri linguaggi, soprattutto nel processo di
compilazione del kernel. Questi includono Perl, Python e diversi
linguaggi di shell scripting. Alcuni driver possono anche essere scritti
in C++, Fortran o altri linguaggi, ma è fortemente scoraggiata come
pratica. Il sistema di compilazione di Linux supporta ufficialmente solo
GCC come compilatore sia del kernel sia dei driver.
PORTABILITA’
Sebbene inizialmente non progettato per essere portabile, Linux è uno
dei kernel di sistema operativo maggiormente portabile, in grado di
funzionare su un'ampia gamma di sistemi dall' iPAQ (un computer
palmare) all' IBM System z9 (un server mainframe in grado di eseguire
centinaia o migliaia di istanze Linux contemporanee). Linux è il
sistema operativo principale dei supercomputer Blue Gene di IBM.
Linux è il sistema operativo di più dell' 85% dei sistemi nella classifica
Top 500 dei supercomputer. Inoltre, Linux è stato compilato in
numerosi dispositivi portatili come TuxPhone e l'iPod di Apple. Il
kernel Linux ha un supporto estensivo e funziona su numerose
architetture di macchine virtuali sia come sistema operativo "server"
che "client". Le macchine virtuali solitamente emulano la famiglia di
processori Intel x86, sebbene in alcuni casi sono emulati anche i
processori PowerPC o AMD.
DEFINIZIONE 1/2
Il suo sviluppo è sostenuto da un'associazione senza fini di lucro,
ovvero la Linux Foundation. Linux, come detto, è il nome del kernel
sviluppato da Linus Torvalds a partire dal 1991 che è stato utilizzato
come base per la realizzazione di vari sistemi operativi, in particolare
molti progetti open source hanno scelto di sviluppare sistemi operativi
con kernel Linux e software sviluppato dal progetto GNU, tutti questi
sistemi vengono però comunemente chiamati con il nome del loro
kernel (Linux) senza specificare di che tipo è il resto del software
utilizzato. L'utilizzo della parola Linux è da attribuire a Ari Lemmke,
l'amministratore che rese per primo disponibile Linux su Internet via
FTP il 17 settembre 1991. In particolare, Linux era il nome della
directory, la pub/OS/Linux, in cui risiedevano i file del nuovo sistema
operativo. Il nome scelto da Torvalds e che durò per sei mesi era
Freax, ovvero Freaks con la x d'ordinanza.
DESCRIZIONE 2/2
Secondo alcuni e secondo l'uso della maggior parte degli utenti e degli
sviluppatori e delle società coinvolti nello sviluppo del sistema
operativo e del software ad esso collegato, il nome Linux è ormai
divenuto sinonimo di sistema "Linux based", cioè di sistema basato sul
kernel Linux. Sebbene non sia insostituibile per questo scopo, è anche
il sistema operativo più comunemente usato per eseguire Apache,
MySQL e PHP, i software alla base della maggior parte dei server web
di tutto il mondo. Le iniziali di questi tre progetti, insieme all'iniziale
della parola Linux, hanno dato origine all'acronimo LAMP.
Con l'evoluzione di ambienti desktop come KDE e GNOME, sono
state sviluppate distribuzioni che offrono un'interfaccia grafica simile a
quella di Microsoft Windows o di Mac OS X, più vicina alle esigenze
degli utenti meno esperti, rendendo il passaggio da un sistema all'altro
meno traumatico.
DISTRIBUZIONI 1/5
Non esiste un'unica versione di Linux ma esistono diverse distribuzioni
(chiamate anche distro), solitamente create da comunità di sviluppatori
o società, che scelgono, preparano e compilano i pacchetti da
includere. Tutte le distribuzioni condividono il kernel Linux (sia pur in
versioni diverse e spesso personalizzate), mentre si differenziano tra
loro per il cosiddetto "parco software", cioè i pacchetti preparati e
selezionati dagli sviluppatori per la distribuzione stessa, per il sistema
di gestione del software e per i servizi di assistenza e manutenzione
offerti.
Esistono distribuzioni eseguibili direttamente da CD senza che sia
richiesta l'installazione sul proprio hard disk, come Knoppix e derivate:
sono chiamate distribuzioni live o desktop CD. Per altre ancora si può
effettuare l'installazione dalla penna USB.
DISTRIBUZIONI 2/5
In ordine alfabetico, segue la lista delle distribuzioni più diffuse e conosciute:
Arch Linux - È leggera, veloce, estremamente scalabile e adattabile alle proprie esigenze.
Ottimizzata per i686 e X86-64.
Backtrack - Offre tools per fare test di penetrazione. Fino alla versione 3.0 derivava dalla
distro WHAX, dalla versione 4.0 è invece basata su Ubuntu.
CentOS - È una distribuzione basata sui sorgenti di Red Hat Enterprise Linux, quindi
uguale ad essa in tutto e per tutto se non per i loghi e il nome che vengono cambiati in
quanto marchi registrati. È usata per lo più in ambito server.
Debian - Offre un ottimo sistema di gestione dei pacchetti software (in formato deb),
compilati per 11 architetture differenti: Alpha, AMD64, ARM, HP PA-RISC, Intel x86,
Intel IA-64, MIPS (big endian), MIPS (little endian), PowerPC, IBM S/390, SPARC.
Viene definita per questo "il sistema operativo universale". Ha un'installazione disponibile
sia in modalità testuale che grafica.
Fedora - Distribuzione non commerciale sponsorizzata da Red Hat. Piuttosto curata
nell'aspetto, viene aggiornata frequentemente con le ultime novità. Il sistema di
pacchettizzazione è basato su RPM Package Manager e l'installazione è disponibile sia in
modalità testuale che grafica.
DISTRIBUZIONI 3/5
Knoppix - La distribuzione live CD più famosa. Nata per uso forense, deriva da Debian.
Molto indicata per i principianti, permette di avere un sistema completo avviabile
direttamente da CD-ROM o DVD che permette, tra i vari usi, l'utilizzo dimostrativo, come
tool di diagnostica, come test di compatibilità hardware, ecc. Presenta alcune varianti come
Eduknoppix.
Linspire - Era un distribuzione commerciale derivata da Debian che puntava alla facilità
d'installazione e d'utilizzo anche da parte di principianti.
Mandriva - Conosciuta come Mandrake fino al 2005, anno in cui la Mandrakesoft ha
acquisito Conectiva. È una tra le distribuzioni più diffuse e maggiormente orientate
all'utente desktop. È distribuita sia in forma gratuita che come prodotto commerciale (in
questo caso include alcuni pacchetti proprietari), con nuove release a cadenza
approssimativamente annuale. Ha un sistema di pacchettizzazione basato su RPM.
Mint - Derivata da Ubuntu, comprende alcuni software personalizzati per installazione e
gestione, un menù principale che richiama quello di Windows Vista, e comprende codec
multimediali preinstallati per DVD, MP3 ecc.
OpenSUSE - È una distribuzione non commerciale nata dall'apertura allo sviluppo
comunitario di SuSE.
DISTRIBUZIONI 4/5
Puppy - Distribuzione molto leggera, disponibile in versione Live cd, ed adatta a pc poco
potenti o datati, occupa poche risorse e spazio su disco. Se la quantità di RAM è sufficiente
(256 MB o più), può girare integralmente in memoria.
Red Hat Linux Enterprise - È la distribuzione commerciale più diffusa. Leggera, non viene
aggiornata alle ultime novità ma predilige versioni di kernel e componenti stabili e
collaudate. Gli sviluppatori di Red Hat hanno realizzato il diffuso sistema di pacchetti
RPM.
Sabayon - Sabayon è una distro basata su Gentoo che si caratterizza per la compresenza di
due package manager (binario e sorgente). È disponibile in diverse versioni con KDE,
GNOME, XFCE, LXDE, Enlightenment, Fluxbox.
Slackware - Viene spesso definita come la distribuzione più "pura" dal punto di vista degli
standard GNU Linux. Possiede un sistema di gestione dei pacchetti molto rigido con una
relativa scarsità di software precompilato.
SLAX - Deriva direttamente da Slackware e ne conserva le caratteristiche di velocità,
stabilità, leggerezza e ampia configurabilità in base alle varie esigenze del singolo utente.
Adotta un approccio modulare avanzato.
DISTRIBUZIONI 5/5
SuSE - Celebre distribuzione europea, molto usata a livello aziendale, ma rivolta anche
all'utente Desktop. Anch'essa basata su RPM, è un prodotto commerciale. - Home page. È
basata sul lavoro del progetto OpenSUSE.
Ubuntu - Distribuzione derivata da Debian, è salita alla ribalta per la facilità d'installazione
e d'utilizzo e per la disponibilità di frequenti aggiornamenti della versione stabile. Supporta
i pacchetti Debian e il desktop GNOME. Esistono numerose varianti, tra cui Kubuntu,
Xubuntu, Lubuntu ed Edubuntu. Secondo una statistica relativa al mese di dicembre 2010
risultava la distribuzione più diffusa.
La maggioranza delle distribuzioni Linux non contiene esclusivamente software libero ma
anche, in misura ridotta, software proprietario (ad esempio driver, codec
codec,, tool e applicazioni),
spesso per reale mancanza di software libero corrispondente
corrispondente.. La Free Software Foundation
22]], ha stilato una lista di
(FSF), sulla base delle Guidelines for Free System Distributions[22
distribuzioni Linux che contengono esclusivamente software libero
libero:: gNewSense,
gNewSense, BLAG,
DRAGORA, Dynebolic
Dynebolic,, Kongoni
Kongoni,, Musix
Musix,, ecc
ecc…
…
UBUNTU 1/5
E’ un sistema operativo GNU/Linux nato nel 2004, basato su Debian,
che si focalizza sull'utente e sulla facilità di utilizzo. Ubuntu è orientato
all'utilizzo desktop e pone una grande attenzione al supporto hardware.
È prevista una nuova versione ogni sei mesi.
Finanziato dalla società Canonical Ltd (registrata nell'Isola di Man),
questo sistema è rilasciato come software libero sotto licenza GNU
GPL ed è gratuito e liberamente modificabile. L'ideatore dell'iniziativa
è Mark Shuttleworth, un giovane imprenditore sudafricano diventato
sostenitore del software libero al cui servizio ha posto le sue risorse.
Ubuntu infatti, prende il nome da un'antica parola africana che
significa "umanità verso gli altri", oppure "io sono ciò che sono per
merito di ciò che siamo tutti". L'obiettivo è portare questa idea nel
mondo del software, dando un grande peso alla comunità di utenti
partecipanti nello sviluppo del sistema operativo.
UBUNTU 2/5
Ubuntu è progettata per fornire un'interfaccia semplice, intuitiva e allo
stesso tempo completa e potente. I punti di forza di questa
distribuzione sono l'estrema semplicità di utilizzo, l'ottimo
riconoscimento e supporto dell'hardware, il vasto parco software
costantemente aggiornato e una serie di strumenti di gestione grafici
che la rendono improntata verso l'ambiente desktop. È corredata da
un'ampia gamma di applicazioni libere. Esistono vari strumenti di
amministrazione del sistema, ed è possibile gestirli sia separatamente
che in maniera centralizzata con l'Ubuntu Control Center, paragonabile
al pannello di controllo Windows o al Mandriva Linux Control Center
o a YaST di OpenSUSE. La versione desktop è stata realizzata per
rispondere alle più frequenti necessità di un utente medio, quali
navigazione in Internet, gestione dei documenti e delle immagini,
svago e comunicazione.
UBUNTU 3/5
Il sistema operativo comprende una suite da ufficio (LibreOffice) per
creare e stampare documenti o presentazioni, un internet browser
(Mozilla Firefox) per navigare su internet, un client BitTorrent
(Transmission), un client email (Mozilla Thunderbird), un client di
messaggistica istantanea (Empathy), un gestore delle fotografie
(Shotwell), un riproduttore musicale (Banshee), un editor video
(PiTiVi) e un client per microblogging (Gwibber). Inoltre offre
funzioni più basilari come un editor di testi (Gedit), un visualizzatore
di documenti PDF (Evince), un lettore multimediale (Totem) e una
serie di giochi. È possibile scaricare ed installare gratuitamente e senza
alcuna procedura di configurazione oltre 30.000 pacchetti software
liberi dell'universo Linux, tramite il semplice ed intuitivo Ubuntu
Software Center.
UBUNTU 4/5
Alcuni di questi sono: VLC media player, Inkscape (grafica vettoriale),
GIMP (fotoritocco), Pidgin (chat), Blender (grafica 3D), Synfig
(Tweening), Bluefish (editor HTML), KompoZer (WYSIWYG) e
molti altri. Da dicembre del 2011 è possibile cercare i programmi
contenuti nei repository ufficiali di Ubuntu ed installarli direttamente
dal web, avviando un'istanza di Ubuntu Software Center.
Sul sito ufficiale è disponibile una lista di applicazioni che possono
rimpiazzare software proprietari usati su altri sistemi operativi, come
ad esempio Microsoft Office o Adobe Photoshop.
La distribuzione è tradotta in quasi tutte le lingue occidentali (tra cui
l'italiano), orientali e africane. I programmi installati vengono gestiti
attraverso un sistema centralizzato, detto gestione dei pacchetti, tipica
di un sistema operativo Linux.
UBUNTU 5/5
Una caratteristica di Ubuntu, dovuta all'architettura Linux, è la sua
resistenza a programmi dannosi come virus, adware, spyware o
malware. L'architettura di un sistema operativo Linux lascia, infatti,
poca o nessuna libertà d'azione ad un programma nocivo. Anche se un
programma nocivo sfruttasse una falla, l'architettura del sistema
operativo ne impedirebbe l'utilizzo, almeno nella stragrande
maggioranza dei casi, e il danno rimarrebbe circoscritto nell'home
directory dell'utente che ha causato il danno. Inoltre questi programmi
dannosi sono generalmente sviluppati per Windows, che dispone di
una più ampia diffusione. L'utente utilizza un account con permessi
limitati, ciò riduce la pericolosità dei programmi installati. Per eseguire
compiti amministrativi è richiesta la propria password per confermare
l'operazione. E’ inoltre, distribuito con un firewall software,
Uncomplicated Firewall, e permette di discriminare gli accessi esterni.
DISTRIBUZIONI PER BAMBINI
Si tratta di distribuzioni che forniscono raccolte preinstallate di giochi
educativi in ambienti adatti a bambini a partire dall'età prescolare fino
agli inizi dell'adolescenza. Tutte le distribuzioni di questo tipo adattano
l'ambiente da un punto di vista grafico, ed alcune semplificano anche
in maniera consistente le modalità di utilizzo dell'ambiente.
Normalmente vengono fornite anche delle raccolte di giochi ludici, e a
volte vengono preinstallati anche dei programmi per sviluppare la
creatività. Non di rado vengono integrati dei filtri famiglia per
proteggere i bambini dall'ottenimento di pagine inappropriate durante
la navigazione in internet. I giochi educativi inclusi non differiscono
molto tra una distribuzione e l'altra, e comprendono giochi per
l'apprendimento dell'uso del mouse e della tastiera, dell'alfabeto e delle
sillabe, dei numeri e delle operazioni, di abilità di memorizzazione e
ragionamento, fino ad attività più complesse come scienze.
VERSIONI EMBEDDED
La possibilità di intervenire sul kernel Linux e la comparsa di molti
appassionati ne hanno suggerito l'utilizzo nell'elettronica dei dispositivi
integrati. Infatti a partire dal 2009, è possibile reperire apparecchiature
commerciali (quali router, smartphone o tablet) dotate di sistemi Linux
fortemente ridotti. Esistono anche distribuzioni Linux pensate per
essere utilizzate su tali sistemi embedded, ad esempio OpenWRT,
Android (sviluppato da Google), MeeGo o Ångström.
STABILITA’
Linux non soffre, ad esempio, di problemi di frammentazione del file
system, oppure l'installazione o la disinstallazione di applicazioni non
sporcano il sistema o ne rallentano l'avvio o la chiusura. Inoltre il
blocco di un'applicazione, nella maggior parte dei casi, non blocca
l'intero sistema.
Attualmente i requisiti minimi di installazione sono:
Minimo 300 MHz per Processore x86;
256 MB di RAM (192 con il cd Alternate);
Almeno 3-4 GB di spazio libero su disco fisso per un'installazione
completa e per la partizione di swap;
Scheda video VGA con una risoluzione minima pari a 640*480;
REQUISITI RACCOMANDATI
Processore 1 GHz x86
1 GB di RAM
15 GB di spazio libero su disco
Scheda grafica con una risoluzione minima pari a 800x600
Piastra madre capace di avvio da lettore CD/DVD o USB
Scheda audio
Connessione Internet
I requisiti raccomandati per attivare gli effetti desktop sono, oltre a
quelli richiesti per l'installazione base:
Minimo 1,2 GHz per Processore x86;
Scheda video con accelerazione 3D.
Grazie