FreeBSD
Da Wikipedia, l'enciclopedia libera.
FreeBSD |
|
---|---|
Screen d'avvio |
|
Sviluppatore: | The FreeBSD Project |
Famiglia SO: | BSD |
Modello del sorgente: | Libero |
Ultima versione: | 7.0-RELEASE / 27 febbraio 2008 |
Tipo di kernel: | Kernel monolitico |
Licenza: | BSD |
Stadio di sviluppo: | in produzione |
Sito web: | www.freebsd.org/ |
FreeBSD è un sistema operativo libero di tipo UNIX, derivato dalla Distribuzione Unix dell'Universita' Berkeley, e disponibile per piattaforma Intel IA-32, AMD64, DEC Alpha, IA-64, PC-98, UltraSPARC, PowerPC ed altre.
Indice |
[modifica] Origini
Il progetto FreeBSD (il nome si deve a David Greenman) ha origine all'inizio del 1993 come evoluzione dell'"Unofficial 386BSD Patchkit" ad opera di Nate William, Rod Grimes e Jordan Hubbard. La prima distribuzione su CD-ROM fu FreeBSD 1.0 e apparve nel dicembre 1993. Nella primavera del 1994, tuttavia, alcuni sviluppi di una lunga controversia legale tra l'università di Berkeley e la Novell ebbero effetti anche sul sistema operativo FreeBSD.
Parte del codice su cui si basava FreeBSD, infatti, era derivato dal sistema 4.3BSD-Lite, conosciuto anche come "Net/2". Questo codice, originalmente prodotto da AT&T, era poi stato acquistato da Novell, che ne rivendicava la proprietà nei confronti dell'università di Berkeley. In realtà le due parti in causa raggiunsero un accordo perché gran parte del codice che BSD aveva preso dallo UNIX di AT&T, era stato ampiamente modificato, se non completamente riscritto.
FreeBSD doveva comunque eliminare le porzioni di codice prese dal sistema proprietario. La sfida era particolarmente impegnativa: buona parte del codice andava riscritta. Tuttavia già nel novembre dello stesso anno vedeva la luce FreeBSD 2.0, versione ancora piuttosto instabile ma libera dai vincoli di proprietà sul codice. Si susseguirono poi altre versioni intermedie di miglioramento: la 3.x (Ottobre 1998), la 4.x (Marzo 2000) la 5.x (2003) fino ad arrivare alla 6.x (2005) e la 7.x rilasciata il 27 febbraio 2008.
[modifica] Caratteristiche
Sistema operativo utilizzato soprattutto in ambito server, FreeBSD consente l'hosting di numerosi siti web sulla stessa macchina, tramite il meccanismo di VirtualHosting, o IP Based Hosting, in base ovviamente alla potenza hardware disponibile e al consumo delle risorse dei singoli virtual host. Questo è dovuto alla stabilità e scalabilità della parte di networking di FreeBSD. Grande attenzione è posta inoltre alle problematiche di sicurezza, ed attualmente sono disponibili tre sistemi di firewall: IPFW, IPFilter e PF, integrato nel sistema dalla versione 6.0.
Nonostante debba la sua fama soprattutto a questo, FreeBSD può essere benissimo usato come sistema operativo desktop. Migliaia sono infatti le applicazioni disponibili tramite i ports, il sistema di gestione pacchetti di FreeBSD, e tra di esse si trovano browser internet, ambienti grafici integrati, suite per ufficio, lettori multimediali e molto altro.
I ports in effetti liberano l'utente dal problema delle dipendenze relative ai pacchetti, cioè il complesso di altri programmi e librerie necessari per assicurare il corretto funzionamento sulla macchina del programma che stiamo installando; pertanto, installando un programma tramite l'albero dei ports, verranno scaricati i sorgenti più aggiornati del programma stesso, e non il suo eseguibile binario, ed anche i sorgenti aggiornati di tutti i programmi dai quali esso dipende; successivamente i programmi vengono ricompilati ex novo sulla macchina dell'utente ed installati nelle corrette directory pronti per l'uso. Una gestione simile si ha nelle distribuzioni Gentoo e Arch Linux.
[modifica] Sviluppo
I committers di FreeBSD periodicamente rilasciano il sistema. Il rilascio ufficiale avviene con la versione RELEASE, che succede ai RELEASE CANDIDATES, o RCn (con n = da 1 a 3). La fase in lavorazione e' rappresentata dalla versione STABLE che include le innovazioni gia' approvate in un rilascio abbastanza stabile dedicato ai beta testers e sviluppatori, mentre e' rappresentato dalla versione CURRENT il vero e proprio lavoro in corso, spesso instabile, che a sua volta puo' essere sintetizzato con gli snapshot temporanei che congelano la situazione del codice ad uno specifico punto temporale.
[modifica] Port e Packages
La Collezione dei Ports e dei Packages di FreeBSD offre un modo semplice e coerente di installare le applicazioni precompilate nel caso dei packages e autocompilanti nel caso dei ports, meccanismo molto rodato ed utile per gli utenti e gli amministratori e, per certi versi, assimilabile a quello utilizzato dalla distribuzione Debian del sistema Gnu/Linux. Attualmente ci sono diverse migliaia di port disponibili.
La Collezione dei Port supporta l'ultima release dei rami FreeBSD-CURRENT e FreeBSD-STABLE. Le release precedenti non sono supportate e possono o non possono funzionare correttamente con una collezioni dei port aggiornata. Col tempo, le modifiche alla collezione dei port possono basarsi su funzionalità non presenti nelle vecchie release. Quando possibile, si cerca di non rompere il supporto alle release recenti, ma talvolta non è possibile. Quando accade, le patch inviate dalla comunità utenti per mantenere il supporto alle vecchie release vengono solitamente accettate.
Ogni port elencato contiene tutte le patch necessarie per rendere il codice sorgente dell'applicazione originale compilabile ed eseguibile sotto FreeBSD. Installare un'applicazione è semplice: basta scaricare il port, decomprimerlo e digitare make nella directory del port. Tuttavia, il metodo più conveniente (e comune) è scaricare il framework per l'intera lista dei port, installando l'intera gerarchia dei port durante l'installazione di FreeBSD, in modo da avere migliaia di applicazioni pronte per essere installate; navigando nel tree dei ports fino ad arrivare al codice sorgente desiderato, e' posibile compilarlo facilmente col comando:
make install
Il Makefile di ogni port scarica automaticamente il codice sorgente dell'applicazione, sia esso presente in un disco locale, in un CD-ROM, o in un sito ftp. Il codice viene decompresso sul sistema, vengono applicate le patch, e viene compilato. Se tutto è andato bene, un semplice make install installerà l'applicazione e la registrerà nel sistema dei package.
Per la maggior parte dei port, esiste anche un package precompilato, che evita all'utente il lavoro di compilare tutto. L'installazione di un pacchetto remoto può essere effettuata mediante il seguente comando:
pkg_add -r nomepacchetto
La procedura si incarica in maniera trasparente di connettersi in remoto su internet al server che contiene il pacchetto e di scaricarlo installandolo e registrandolo. Ovviamente si tratta del binario precompilato che non rappresenta l'ultima versione del sorgente e neppure la versione ad hoc ottenibile con la compilazione, ma e' comunque un buon metodo per avere l'applicazione rapidamente installata e funzionante, senza cognizioni specifiche e senza ulteriori procedure pre o post installazione.
La Collezione dei Ports e dei Packages e' senz'altro una delle punte di diamante che distinguono tutti i sistemi operativi BSD in genere, che restano sempre strettamente legati tra software e sistema operativo mantenendo una coerenza ed una solidita' non riscontrabile in altri sistemi, ed in special modo FreeBSD e' l'unico ambiente che esprime ed espande questa feature nel modo piu' completo, trasparente ed user-friendly possibile.
[modifica] Ports
La gestione dei ports permette di scaricare localmente il tree, attualizzato alla versione desiderata, di tutto il software esistente per FreeBSD, decine di migliaia tra applicazioni ed utilita'. All'interno di ogni singolo port scaricato nel tree locale, risiede la descrizione delle dipendenze e lo scheletro del codice; attraverso una serie di semplici comandi e' possibile gestire il software: e' possibile installare, deinstallare, reinstallare, cancellare, updatare o upgradare in parte o in toto, compresi i servizi core del sistema operativo; il tutto in maniera trasparente per l'utente, il sistema si occupa di colmare tutte le dipendenze, scaricare dal mirror piu' adatto (scelto in automatico) tutti i codici mancanti, compilare con le opzioni tipiche della macchina su cui gira, eliminare le parti obsolete, ripulire le vecchie installazioni, registrare le nuove mantenendo un database interno di tutto il software e le eventuali problematiche di conflitti di versioni differenti che vengono risolti automagicamente.
Esistono vari metodi che permettono di gestire con pochi comandi intuitivi tutta la faccenda, ad esempio questi:
- portsnap fetch extract , la prima volta che si utilizza viene scaricato da remoto il port tree e viene popolato localmente
- portsnap fetch update , le volte successive che si utilizza viene scaricato da remoto solo il materiale eventualmente aggiornato dall'ultimo fetch eseguito e updatato il port tree
- portversion -v , presenta la lista del software installato con la versione ed eventualmente gli avvertimenti del software obsoleto da upgradare
- portupgrade -a , esegue l'upgrade di tutti i ports segnalati dal sistema come obsoleti
[modifica] Packages
[modifica] Sistemi derivati
Dal sistema operativo FreeBSD sono derivati i seguenti progetti che talvolta sono dei veri e propri fork ed altre volte sono assimilabili alle distribuzioni del mondo gnu/linux; questi sono:
- PC-BSD, sistema user-oriented, destinato alle macchine desktop
- DesktopBSD, sistema desktop ed user-friendly
- PicoBSD, sistema funzionante da 1 solo Floppy disk
- MiniBSD, sistema montabile ed eseguibile da chiavette USB o schedine di memorie Nand
- FreeSBIE, sistema montabile ed eseguibile da supporto ottico removibile (cd, dvd, etc..)
- FreeNAS, sistema per costruire un network attached storage box
- M0n0wall, sistema per costruire un firewall box essenziale, su qualunque device
- PFsense, sistema per costruire un firewall box, utilizzando un normale PC
- DarwinOS, sistema ibrido FreeBSD/NeXTStep progettato da Apple
- ClosedBSD, sistema attualmente terminato
- DragonFlyBSD, sistema nato da un fork di FreeBSD 4.8 che proseguo lo sviluppo di FreeBSD 4.x
[modifica] Collegamenti esterni
- sito ufficiale
- (EN) sito ufficiale
- sito del Gruppo Utenti FreeBSD Italia
- FreeSBIE, FreeBSD su Live CD
- http://www.freebsdsoftware.org/
- Esperienze reali con FreeBSD
|
|
---|---|
BSD | FreeBSD · NetBSD · OpenBSD · DragonFly BSD · DesktopBSD · PC-BSD · FreeNAS · m0n0wall · pfSense |
GNU/Linux (lista) | Arch Linux · Debian · Fedora · Gentoo · Knoppix · Mandriva · Red Hat Linux · Slackware · OpenSUSE · Ubuntu |
Mac OS | System 5 · 6 · 7 · 8 · 9 · Mac OS X · .0 -.1 · .2 · .3 · .4 · .5 · Server |
MS-DOS Microsoft Windows |
1.0 · 2 · 3.x · 95 · 98 · Me · NT · 3.5x · 4.0 · 2000 · XP · 2003 - FLP · Vista |
WebOS | Attolo · Desktoptwo · Divine · eyeOS · Goowy · LFS Desktop · myGoya · Oos · Purefect · ROBIN · SSOE · Xindesk · YouOS |
Altri | AmigaOS · AROS · BeOS · Inferno · LynxOS · Haiku OS · OS/2 · QNX · Solaris · Unix · Minix · MorphOS · MVS · I5/OS · Plan 9 · ReactOS · SkyOS · VMS · Zeta · FreeDOS |