FreeBSD The power to serve Linux Day 2006
Introduzione a FreeBSD
Cicuttin Matteo [email protected] FreeBSD The power to serve Chi sono
Studente del 3^ anno di informatica
Uso Linux dall’estate 1998
Uso FreeBSD dal 1999
I miei interessi si concentrano su: sistemi operativi, calcolo parallelo, ethical hacking FreeBSD The power to serve Agenda
Siamo al Linux Day, perché parliamo di FreeBSD?
Cosa mi offre FreeBSD?
Che applicazioni girano su FreeBSD?
E’ un mondo oscuro, dove mi documento?
FreeBSD vs. Linux
OK, come faccio a provarlo? FrTheee powBSDer to serve
Siamo al Linux Day, perchè parliamo di FreeBSD? Siamo al Linux day, perché parliamo di FreeBSD? FrTheee powBSDer to serve
Sistema UNIX-based
Precursore dell’open source
Veramente open source Siamo al Linux day, perché parliamo di FreeBSD? FrTheee powBSDer to serve Riassunto riassuntivo del riassunto della storia di UNIX Unix First Edition http://www.levenez.com/unix Unix Sixth Edition “This diagram is only the tip of an iceberg, with a penguin on it”
PWB Unix Unix Seventh Edition 1BSD
System III 2BSD
System V 3BSD 2.8BSD
4BSD 2.9BSD
4.1BSD
SunOS Minix Eighth Edition 4.4BSD
Plan9
Solaris Linux FreeBSD Siamo al Linux day, perché parliamo di FreeBSD? FrTheee powBSDer to serve Storia di FreeBSD in dettaglio Mach 4.2BSD
4.4BSD Network Release 2
386BSD
FreeBSD 4 NetBSD NextStep
OpenBSD OpenStep
DragonFly BSD FreeBSD 5 MirBSD Rhapsody
FireFly BSD DesktopBSD FreeBSD 6
FreeBSD 7-CURRENT PCBSD Mac OS X Siamo al Linux day, perché parliamo di FreeBSD? FrTheee powBSDer to serve
Unix è stato “open” fin dalla nascita, questo è stato il motivo della sua devastante diffusione
BSD ha avuto problemi legali, infatti includeva codice degli Unix System Labs
4.4BSD-Lite era l’albero sorgente ripulito dal codice USL, da cui nasce FreeBSD
Nello stesso periodo nasce anche Linux, che, scritto da zero, non ha avuto problemi legali e ha messo in ombra BSD Siamo al Linux day, perché parliamo di FreeBSD? FrTheee powBSDer to serve
Da quando esiste BSD, in ogni distribuzione è incluso il codice sorgente dell’INTERO sistema
La via preferenziale di aggiornamento del sistema base è proprio tramite la ricompilazione del “world” FrTheee powBSDer to serve
Cosa mi offre FreeBSD? Cosa mi offre FreeBSD? FrTheee powBSDer to serve
Facilità di istallazione e di uso
Compatibile
Sistema all’avanguardia, implementa tutte le ultime tecnologie
Affidabile Cosa mi offre FreeBSD? FrTheee powBSDer to serve
L’installazione è guidata passo passo
Offre diverse opzioni: standard, expert, custom
Permette di effettuare una prima personalizzazione del sistema già in fase di setup Cosa mi offre FreeBSD? FrTheee powBSDer to serve
FreeBSD contiene quella che è definita l’implementazione di riferimento del TCP/IP
Implementa protocolli ampiamente usati quali NFS, NIS, FTP...
Permette di far girare senza problemi eseguibili di altre piattaforme (Linux, Solaris)
Comprende X, con un vasto supporto di hardware grafico, nVidia fornisce i driver nativi per tutte le sue GPU Cosa mi offre FreeBSD? FrTheee powBSDer to serve
Kernel multi-threaded, con full-preemption
Filesystem avanzato (snapshots, crypto, soft- updates)
Supporto IPv6 out-of-the-box
Stateful packet filtering
Supporto IPSec
Jail-based virtual hosting
... Cosa mi offre FreeBSD? FrTheee powBSDer to serve
I principali sottosistemi del kernel (VFS, VM, rete, ...) sono multi-thread, possono cioè essere eseguiti in parallelo su più processori
Il kernel è fully-preemptible, cioè i task del kernel più ad alta priorità possono interrompere quelli a bassa priorità
Design del kernel estremamente pulito e modulare
Si può scegliere tra due scheduler, il classico 4.4-BSD e ULE, che è O(1) Cosa mi offre FreeBSD? FrTheee powBSDer to serve
Il filesystem supporta gli snapshots, no downtime dovuto al backup
La performance è garantita dai soft-updates
Esistono due diversi sistemi per crittografare i dischi (gbde e geli), in questo modo se la macchina viene rubata, i contenuti non possono essere letti
geli si appoggia sul crypto framework, se nella macchina è presente un acceleratore crittografico viene automaticamente utilizzato Cosa mi offre FreeBSD? FrTheee powBSDer to serve
Supporta completamente IPv6, sia dal lato kernel che dal lato software
#ftp stream tcp nowait root /usr/libexec/ftpd ftpd -l #ftp stream tcp6 nowait root /usr/libexec/ftpd ftpd -l #ssh stream tcp nowait root /usr/sbin/sshd sshd -i -4 #ssh stream tcp6 nowait root /usr/sbin/sshd sshd -i -6 #telnet stream tcp nowait root /usr/libexec/telnetd telnetd #telnet stream tcp6 nowait root /usr/libexec/telnetd telnetd #shell stream tcp nowait root /usr/libexec/rshd rshd #shell stream tcp6 nowait root /usr/libexec/rshd rshd
In FreeBSD è possibile scegliere tra tre diversi firewall con stateful inspection
E’ presente un’ottima implementazione di IPSEC Cosa mi offre FreeBSD? FrTheee powBSDer to serve
Jail based virtual hosting: è possibile creare molti host virtuali sulla stessa macchina, che dall’esterno appaiono come macchine reali con i loro utenti, i loro servizi e il loro IP
Viene massimizzato l’utilizzo dell’hardware
Si riduce il TCO, e.g. con un solo server fisico fornisco una macchina dedicata a 10 utenti
Isolamento tra utenti mutuamente non fidati Cosa mi offre FreeBSD? FrTheee powBSDer to serve
Uno dei goal del progetto è l’affidabilità - meglio una feature in meno che mille feature che non funzionano al massimo delle possibilità
FreeBSD è un sistema che ha alle spalle 25 anni di lavoro, per cui l’architettura è estremamente solida
E’ utilizzato da molti ‘grandi’ dell’informatica: Yahoo, The Weather Channel, fino a poco tempo fa HOTMAIL !!! FrTheee powBSDer to serve
Che applicazioni girano su FreeBSD? Che applicazioni girano su FreeBSD? FrTheee powBSDer to serve
Tutto!
I ports
I packages
I layer di compatibilità binaria
Java Che applicazioni girano su FreeBSD? FrTheee powBSDer to serve
Essendo Unix, pacchetti .tar.gz che generalmente contengono le applicazioni da compilare funzionano senza problemi
Apache, MySQL, PHP, ... si installano da sorgente esattamente come si fa in Linux ... Che applicazioni girano su FreeBSD? FrTheee powBSDer to serve
... tuttavia esiste un sistema migliore: i ports
vantano di 15000 applicazioni di svariate categorie
in /usr/ports viene installato l’albero dei ports, se volete installare apache: # cd /usr/ports/www/apache22 # make install clean
Il sistema dei port si occupa di scaricare, patchare e compilare il pacchetto Che applicazioni girano su FreeBSD? FrTheee powBSDer to serve
Domanda da $ 1.000.000: ho un 486/25 con 8 Mb di RAM, devo per forza compilare tutto ogni volta?
Certo che no! Per un gran numero di port esistono i corrispondenti pacchetti precompilati # pkg_add -vr apache22 Che applicazioni girano su FreeBSD? FrTheee powBSDer to serve
FreeBSD mette a disposizione il Linux Binary Compatibility Layer, cioè uno strato software che permette di eseguire software Linux su FreeBSD
Non è un’emulazione, il software gira a velocità nativa
Talvolta si sono misurate prestazioni migliori degli eseguibili Linux su FreeBSD che su Linux stesso
Esistono Compatibility Layers anche per altri formati Che applicazioni girano su FreeBSD? FrTheee powBSDer to serve
E’ noto che le piattaforme ‘naturali’ per Java siano Solaris, Linux, Mac OS X e Windows
Con il Diablo JDK java è una realtà consolidata anche su FreeBSD
Diablo JDK non è altro che il port del codice Sun di Java su FreeBSD FrTheee powBSDer to serve
E’ un mondo oscuro, dove mi documento? E’ un mondo oscuro, dove mi documento? FrTheee powBSDer to serve
Il fatto che FreeBSD sia un mondo oscuro è un luogo comune
La documentazione di FreeBSD è molto estesa e ampiamente disponibile
Il ‘riferimento’ per ogni amministratore FreeBSD è l’handbook
http://www.freebsd.org/docs.html è il punto di partenza per ricevere risposte ad ogni domanda FrTheee powBSDer to serve
FreeBSD vs. Linux FreeBSD vs. Linux FrTheee powBSDer to serve I Pro E’ un sistema maturo, con 25 anni di lavoro alle spalle
Non esistono i problemi che ci sono tra le varie distribuzioni Linux - Se compilo un programma su Debian probabilmente su RH non funziona - Su ogni sistema i file di configurazione sono nello stesso posto
Tecnologia all’avanguardia, ottimamente progettato
Se c’è una feature, allora funziona come deve, altrimenti non ci sarebbe FreeBSD vs. Linux FrTheee powBSDer to serve I Contro
Capita che i driver arrivino un po’ in ritardo rispetto a Linux
Non c’è il supporto che ha Linux da parte delle grandi software house
Utenza ristretta, non c’è molta gente “a cui chiedere” FrTheee powBSDer to serve
Ok, come faccio a provarlo? FrTheee powBSDer to serve
Si scaricano le ISO (2 da 650 MB circa) da http://www.freebsd.org
FreeBSD esiste per varie piattaforme: - Tier 1: x86, x86-64, Alpha, UltraSparc, IA-64 - Tier 2: PowerPC - Development: Mips, PC98, ARM FrTheee powBSDer to serve
Domande? FrTheee powBSDer to serve
Grazie! Feedback: [email protected]