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 -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 ), 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]