Linux

L'idea alla base di Tux, la mascotte del kernel Linux, è nata mediante uno scambio di e-mail in una mailing list pubblica.
L'idea alla base di Tux, la mascotte del kernel Linux, è nata mediante uno scambio di e-mail in una mailing list pubblica.

Linux (o GNU/Linux) è un sistema operativo libero di tipo Unix (o unix-like) costituito dall'integrazione del kernel Linux con elementi del sistema GNU e di altro software sviluppato e distribuito con licenza GNU GPL o con altre licenze libere. Linux è in realtà il nome del kernel sviluppato da Linus Torvalds a partire dal 1991 che, integrato con i componenti già realizzati dal progetto GNU (compilatore gcc, libreria Glibc e altre utility) e da software di altri progetti, è stato utilizzato come base per la realizzazione dei sistemi operativi e delle distribuzioni che vengono normalmente identificate con lo stesso nome.

Secondo Richard Stallman, fondatore del progetto GNU, e secondo la Free Software Foundation, la dicitura Linux (senza prefisso "GNU/") per l'intero sistema operativo sarebbe erronea in quanto il nome Linux è attribuibile al solo kernel e il sistema, strutturato a partire dai componenti dell'originale progetto GNU, dovrebbe più propriamente chiamarsi GNU/Linux. Secondo altri 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 (vedi anche Controversia sul nome GNU/Linux)

Il nome Linux a dispetto dell'assonanza tra il nome dell'ideatore e quello del sistema (LINus UniX) è da attribuire a Ari Lemke, l'amministratore che rese per primo disponibile Linux su Internet via FTP. 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.

Molto conosciuto nell'uso server, Linux gode del supporto di società come IBM, Sun Microsystems, Hewlett-Packard, Red Hat e Novell ed è usato come sistema operativo su una gran varietà di hardware; dai computer desktop ai supercomputer, fino a sistemi embedded come cellulari e palmari.

È anche un componente indispensabile del software per server LAMP, che ha raggiunto un'ampia popolarità tra gli sviluppatori web, e che è presente nella maggior parte dei server di tutto mondo.

Con l'evoluzione di ambienti desktop come KDE e GNOME, il sistema offre una 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 e garantendo un'elevata personalizzabilità dell'interfaccia.

Indice

[modifica] Storia di Linux

[modifica] Inizi

Il kernel Linux vede la luce nel 1991 grazie al giovane studente finlandese Linus Torvalds che, appassionato di programmazione, era insoddisfatto del sistema operativo Minix (sistema operativo unix-like destinato alla didattica, scritto da Andrew Tanenbaum, professore ordinario di Sistemi di rete all'università di Amsterdam), poiché supportava male la nuova architettura i386 a 32 bit, all'epoca tanto economica e popolare. Così Linus decise di creare un kernel unix con lo scopo di divertirsi e studiare il funzionamento del suo nuovo computer, che era appunto un 80386.

Inizialmente Linux (il sistema operativo basato sul kernel programmato da Linus) per girare utilizzava, oltre al kernel di Linus, lo userspace di Minix. Successivamente Linus decise di rendere il sistema indipendente da Minix, anche perché non ne gradiva la licenza che lo rendeva liberamente utilizzabile solo a fini didattici, quindi decise di sostituire quella parte del sistema operativo col software del progetto GNU. Per fare ciò Linus doveva cambiare licenza e adottare la GPL, che tra l'altro considerava buona per il suo sistema operativo a prescindere dal software GNU stesso. E così la licenza cambiò in GPL, e Linux divenne il progetto libero aperto ai contributi esterni che tutti conosciamo, e anche se nessuno all'epoca poteva prevederlo, questa caratteristica gli avrebbe permesso di ottenere il successo che tutti possiamo constatare oggigiorno.

Linux all'inizio era un semplice emulatore di terminale scritto in C e assembly, e non aveva bisogno di appoggiarsi a un sistema operativo. L'emulatore di terminale avviava e gestiva due thread, uno per mandare segnali alla porta seriale e uno per riceverli; quando poi Linus ebbe bisogno di leggere e scrivere file su disco, questo emulatore fu esteso in modo che potesse gestire un filesystem. Lentamente questo programma si trasformò in un intero kernel in grado di gestire un sistema operativo e Linus iniziò a documentarsi sulle specifiche POSIX, chiedendo assistenza sul newsgroup comp.os.minix nel famoso messaggio del 25 agosto 1991. La prima versione del kernel Linux, la 0.01, fu pubblicata su Internet il 17 settembre 1991 e la seconda nell'ottobre dello stesso anno.

Torvalds preferiva chiamare Freax il kernel a cui stava lavorando ma Ari Lemke, assistente alla Helsinki University of Technology che gli aveva offerto lo spazio FTP per il progetto (ftp.funet.fi), preferì assegnare alla subdirectory dedicata il nome alternativo di lavorazione Linux.[1]

Sin dalla versione 0.01 si poteva compilare e far partire la shell GNU Bash: si aveva un sistema operativo minimale da cui poter partire per ulteriori miglioramenti. All'inizio era richiesto un computer con Minix per configurare, compilare e installare Linux (fino alla versione 0.10, la 0.11 poteva essere compilata da linux stesso), perché usava il filesystem del sistema sul quale si appoggiava. Presto i sistemi Linux superarono Minix in termini di funzionalità: Torvalds e altri sviluppatori della prima ora di Linux adattarono il loro kernel perché funzionasse con i componenti GNU ed i programmi in user-space per creare un sistema operativo completo, pienamente funzionante e libero.

[modifica] Linux e la rete

KDE 4 Desktop
KDE 4 Desktop

Nella primavera del 1992 l'hacker Orest Zborowski riuscì a rendere eseguibile il server X sulla versione 0.12 di Linux. Per far ciò, Orest dovette implementare tutta la struttura degli Unix Domain Socket indispensabili a X Window e quindi un primo livello socket sul quale venne poi costruita tutta l'infrastruttura di rete di Linux. In realtà il tutto era imbastito in maniera un po' caotica e non era ben integrato all'interno del kernel ma Linus accettò comunque la patch perché con essa era possibile sia utilizzare X, sia utilizzare tale infrastruttura per dotare Linux di uno stack di rete. Entusiasta della novità, Linus rilasciò dopo la versione 0.13 la versione 0.95 senza pensare a tutti i problemi di sicurezza che la rete avrebbe comportato. Per rimediare alla leggerezza, nei due anni che trascorsero dalla 0.95 alla 1.0 Linus dovette utilizzare sia un ulteriore numero per indicare il livello di patch sia le lettere dell'alfabeto (sino alla versione 0.99.15Z, 0.99 15° livello di patch, revisione Z).

[modifica] La versione 1.0

Il 14 marzo 1994 il 16° livello di patch del kernel 0.99 divenne Linux 1.0. Fu lo stesso Linus Torvalds a presentare la prima versione stabile della sua creatura presso l'Università di Helsinki.

[modifica] Oggi

Oggi Torvalds continua a dirigere lo sviluppo dei kernel, mentre altre parti del sistema, come le componenti GNU, sono sviluppate separatamente. Il compito di fornire un sistema integrato, che combina tutte le componenti di base con le interfacce grafiche (come per esempio GNOME o KDE, che a loro volta si basano sulla presenza dell'X Window System) e con il software applicativo, viene ora svolto dalle distribuzioni. Nel 1996 fu scelto come logo ufficiale di Linux un pinguino disegnato da Larry Ewing e ad esso venne dato il nome di TUX come abbreviazione di Torvalds UniX. Altre fonti sostengono si tratti dell'abbreviazione di TUXedo che in inglese significa il nostro "giacca e cravatta" a causa della colorazione del corpo del pinguino. Oggi Linux resta il sistema operativo preferito da migliaia di programmatori sparsi in tutto il mondo, è usato soprattutto come server in ambienti di produzione ma ultimamente ha conosciuto anche una certa affermazione in ambiente desktop.

[modifica] Le distribuzioni

Per approfondire, vedi la voce Distribuzione Linux.

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.

[modifica] Distribuzioni più diffuse

Linea temporale delle distribuzioni Linux
Linea temporale delle distribuzioni Linux

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 ora disponibile anche per X86-64 e PowerPC.
  • Backtrack - Anche se non molto comune, BackTrack sta attraendo molta gente per le sue potenzialità e tools che permettono di fare test di penetrazione (test di exploit e non solo). Essa deriva dalla distro SlackWare, modificata però, dal team di "Remote-Exploit.org" che ha perfezionato la distro. L'ultima versione è la 3.0(Beta).
  • CentOS - E una distribuzione basata sui sorgenti di RedHat Enterprise Linux, quindi uguale ad essa in tutto e per tutto se non per i loghi e il nome che sono stati cambiati per motivi di trademark. E usata in tutti gli ambienti enterprise in cui non è ritenuto necessario l'acquisto di una RedHat Enterprise Linux.
  • Damn Small Linux - Distribuzione molto leggera, con Desktop Environment Fluxbox, particolarmente indicata per pc datati, (infatti richiede soltanto 16 mb di ram) , e le sue dimensioni sono di 50 mb, caratteristica che le permette di essere avviata da una semplice chiave USB.
  • Debian - È la distribuzione più vicina al progetto GNU poiché composta soltanto da software libero. Offre un ottimo sistema di gestione dei pacchetti software (in formato deb), compilati per ben 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.
  • DEFT - È una distribuzione live per usi inerenti alla Computer Forensics; nata nel 2006, è basata su Xubuntu e risulta essere uno dei migliori live CD per le indagini informatiche. Consigliata anche per usi inerenti alla sicurezza informatica e al recupero dati.
  • Dynebolic - È una distribuzione live orientata al multimedia (streaming audio/video, veejaing, etc.); nata nel 2001, ha come caratteristica peculiare quella di essere molto leggera e di girare su macchina anche obsolete; è in grado di girare anche su XBOX. Inoltre permette di creare con pochi clic un cluster con altre macchine in cui sta girando Dynebolic. È mantenuta dall'hacker italiano Jaromil per la Dyne.org.
  • Dreamlinux - Distribuzione brasiliana derivata da Debian, che utilizza il Desktop Environment Xfce, dall'aspetto simile ad MAC OS X, leggera ed utilizzabile da tutti, distribuita in diverse versioni.
  • 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.
  • Gentoo Linux - Distribuzione non commerciale basata sui sorgenti che permette di ottimizzare e rendere estremamente flessibile il sistema. Implementa un sistema di porting derivato da *BSD. L'installazione avviene manualmente, seguendo l'apposito manuale. Ulteriori punti di forza della distribuzione sono l'ottima documentazione e la comunità molto disponibile.
  • Gnewsense - Distribuzione Linux basata su Ubuntu che include al proprio interno solamente Software libero, e l'obiettivo di gNewSense è di fornire agli utenti i pacchetti di programmi che offrono la stabilità di Ubuntu con l'aggiunta della libertà completa del software libero al 100%. È supportata dalla FSF e ha come ambiente desktop Gnome.
  • Kanotix - È una distribuzione live strettamente imparentata con Knoppix ma maggiormente indirizzata verso l'utilizzo domestico. Offre infatti supporto alle tecnologie Serial ATA e molti modem USB (eciadsl e eagle-usab in primis). Come Knoppix può essere usata come live CD (recupero dati, prove, test, diagnostica, ecc.) e può essere installata sull'hard disk
  • 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, etc. Presenta alcune varianti come Eduknoppix.
  • Linspire - Distribuzione commerciale derivata da Debian che punta alla facilità d'installazione e d'utilizzo anche da parte di principianti.
GNOME 2.20 desktop.
GNOME 2.20 desktop.
  • Mandriva - Conosciuta fino a poco tempo fa come Mandrake, è 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.
  • MEPIS - Distribuzione non commerciale che funziona sia come live CD sia come installabile. L'immagine ISO è scritta con un filesystem ipercompresso, contenente diversi GB di pacchetti in un unico CD.
  • Pardus - Pardus, sviluppato nell'ambito della TUBITAK UEKAE (Istituto di Ricerca Elettronica e Criptologica Nazionale della Turchia), è la distribuzione di Linux più utilizzata in Turchia.
  • PcLinuxOS - Distribuzione facile da utilizzare, basata su Mandriva utilizza i pacchetti RPM.
  • Puppy - Distribuzione molto leggera, disponibile in versione Live cd, ed adatta a pc poco potenti o datati, occupa poche risorse e spazio su disco.
  • Red Hat Enterprise - È la distribuzione commerciale più diffusa. 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 - Precedentemente conosciuta come RR4, Sabayon è una distro basata su Gentoo che utilizza KDE come Desktop Environment.
  • Slackware - Viene spesso definita come la distribuzione più "pura" dal punto di vista degli standard GNU Linux, ma sconsigliata a coloro che non hanno intenzione di passare troppo tempo ad imparare ad utilizzare un nuovo sistema operativo. Un sistema di gestione dei pacchetti molto rigido e la relativa scarsità di software precompilato può mettere in difficoltà l'utente desktop, ma adatta per utenti esperti che conosco già le funzionalità del sistema operativo e che hanno bisogno di un sistema privo di fronzoli.
  • 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. Recentemente è stata creata OpenSuSE, distribuzione identica a SuSE Linux ma non commerciale e contenente esclusivamente software libero.
  • Trustix Secure Linux - Distribuzione orientata all'utilizzo su server e focalizzata su sicurezza e stabilità.
  • Turbolinux - Leader del mercato asiatico. Deriva da Slackware.
  • 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. Esistono numerose varianti, tra cui Kubuntu, Xubuntu ed Edubuntu.
  • Yellow Dog - Distribuzione sviluppata dalla Terra Soft per architetture hardware PowerPC, basata su CentOS supporta anche la Playstation 3.

[modifica] 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. Al giorno d'oggi, infatti, è possibile reperire apparecchiature commerciali (quali router o smartphone) dotate di sistemi Linux fortemente ridotti. Esistono anche distribuzioni Linux pensate per essere utilizzate su tali sistemi embedded, ad esempio OpenWRT o OpenEmbedded.

[modifica] Gestori di Pacchetti

Interfaccia grafica di un gestore di pacchetti
Interfaccia grafica di un gestore di pacchetti

Le distribuzioni Linux sono normalmente composte da pacchetti (packages), ed ognuno di essi contiene una specifica applicazione o componente: ad esempio, ci possono essere pacchetti contenti una libreria per la gestione di un formato di immagini, oppure una serie di font, oppure un browser web così come un qualsiasi altro programma. Un pacchetto è normalmente fornito come codice compilato, e la sua installazione o rimozione è gestita in maniera più sofisticata rispetto ad un semplice programma di archiviazione come tar. Il programma preposto a queste funzioni è detto il sistema di gestione dei pacchetti (package management system o PMS) della distribuzione. Ogni pacchetto dedicato ad un PMS contiene delle meta-informazioni come descrizione, versione, dipendenze, ecc. Il sistema di gestione dei pacchetti tiene in considerazione queste meta-informazioni per permettere ricerche, aggiornamenti automatici a versioni più aggiornate, per controllare che tutte le dipendenze di un pacchetto siano soddisfatte e/o soddisfarle automaticamente.

Distribuzioni diverse hanno gestori di pacchetti diversi, ed i principali sono:

  • RPM : adesso RPM Package Manager, ma in origine Red Hat Package Manager, originariamente introdotto da Red Hat ma adesso usato in molte distribuzioni.
  • deb - Debian package, originariamente introdotto da Debian ma anche usato da altri come Knoppix e Ubuntu.
  • .tgz o tar.gz : standard tar + gzip, a volte con ulteriori file di controllo — usato da Slackware ed altri, o a volte per la distribuzione di pacchetti molto semplici "fatti in casa".
  • ebuild : file contente informazioni su come ottenere, compilare ed installare un pacchetto nel sistema Portage di Gentoo Linux attraverso il comando emerge. Tipicamente queste sono installazioni basate sulla compilazione di sorgenti, nonostante anche alcuni pacchetti binari possano essere installati in questo modo.
  • recipe - file contente informazioni su come ottenere, decomprimere, compilare ed installare un pacchetto nella distribuzione Gobo Linux. Questo sistema è simile a quello di Gentoo ma più povero di funzionalità.
  • Autopackage - il gestore in rapido sviluppo che mira a creare un sistema di installazione indipendente ed uguale per tutte le varie distribuzioni Linux.

È presente inoltre la possibilità di compilare in proprio le applicazioni direttamente dal sorgente disponibili, qualora non siano disponibili i binari precompilati. Sebbene la compilazione spesso comporti alcune difficoltà, l'applicazione mostrerà un incremento delle prestazioni. Seguendo questa logica alcune distribuzioni (es. Gentoo) offrono la possibilità di compilare l'intero sistema operativo.

[modifica] Linux Standard Base

Il Free Standards Group è un'organizzazione formata dai maggiori produttori di software ed hardware il cui obiettivo è di migliore l'interoperabilità tra le diverse distribuzioni. Tra gli standard proposti c'è il Linux Standard Base che definisce una comune ABI (Interfaccia Binaria per le Applicazioni), un unico sistema di pacchettizzazione ed una struttura per il Filesystem che preveda le stesse convenzioni sui nomi e le stesse directory basiliari in ogni sistema Linux. Questi standard, al momento, restano comunque poco diffusi anche tra le distribuzioni sviluppate dagli stessi produttori membri dell'organizzazione.

[modifica] I LUG

Per approfondire, vedi la voce Linux user group.

Un Linux User Group (LUG), o anche "Linux Users Group" e "Linux Users' Group" è un gruppo formato da persone che condividono la stessa passione verso il Software libero e in particolare verso il sistema operativo Linux, oltre che essere accomunati dal piacere di usarlo e quindi di scambiare reciprocamente le proprie esperienze.

[modifica] Linux Day

I Lug italiani ogni anno promuovono ed organizzano il Linux Day, una manifestazione che ha lo scopo di promuovere il sistema operativo Linux e il software libero, ed avvicinare ed aiutare nuovi utenti a questo mondo e consiste in un insieme di eventi contemporanei organizzati in diverse città d'Italia.

La Italian Linux Society (ILS) stabilisce la data del Linux Day e, a volte, fornisce proprio materiale pubblicitario. La responsabilità dei singoli eventi locali è lasciata ai rispettivi gruppi organizzatori, che hanno libertà di scelta per quanto riguarda i dettagli delle iniziative locali, nel rispetto delle linee guida generali definite da ILS.

La manifestazione è nata nel 2001 per iniziativa di Davide Cerri di ILS, con lo scopo di valorizzare la rete dei LUG italiani organizzando una manifestazione di portata nazionale ma allo stesso tempo delocalizzata sul territorio. Il ruolo di ILS, tuttavia, è stato sempre secondario rispetto allo sforzo profuso dai LUG, veri artefici della manifestazione. La prima edizione del Linux Day si è tenuta il 1º dicembre 2001 in circa quaranta città sparse su tutto il territorio nazionale. Il successo è stato via via crescente, rendendo il Linux Day la principale manifestazione italiana no profit dedicata a Linux e al software libero. Le edizioni successive si sono tenute il 23 novembre 2002 (69 manifestazioni locali), il 29 novembre 2003 (85 manifestazioni locali), il 27 novembre 2004 (100 manifestazioni locali), il 26 novembre 2005 (100 manifestazioni locali), il 28 ottobre 2006 (104 manifestazioni locali), e il 27 ottobre 2007 (118 manifestazioni locali).

[modifica] Curiosità

[modifica] Pronuncia

Molte persone non sono sicure sulla pronuncia della parola "linux". In italiano la cosa migliore è pronunciarlo secondo le regole della lettura italiana. Invece in inglese si trovano diverse variazioni, ma viene normalmente pronunciato con una "i" corta e con la prima sillaba dura, come in LIH -nucks. Linus Torvalds pronuncia il nome della sua creatura così

[modifica] Separatori

Nel passaggio da un sistema Windows a uno Linux, risulta probabilmente evidente la differenza nei separatori delle directory. In Windows, infatti, si usa il carattere backslash ("\"), mentre in Linux, come in tutti i sistemi simil-Unix (così come in altri sistemi operativi), si usa lo slash ("http://it.wikipedia.org/"). Si noti che anche il separatore di percorso nelle URL dei vari protocolli di rete (come gli indirizzi internet) è costituito dallo slash; la motivazione è che le reti di computer e Internet sono nate su sistemi Unix.

[modifica] Voci correlate

[modifica] Note

  1. ^ David Diamond - Linus Torvalds, Rivoluzionario per caso, 2001, ISBN 8811738962, pp. 101, 105, 109 ed. orig. Just for Fun, 2001

[modifica] Collegamenti esterni


system wymiany linków wymiana linkami wymiana linkami system wymiany linków system wymiany linków tanie kredyty gotówkowe kreatyna Plaza 3 star hotel Los Angeles krynica noclegi Sejm Tyk