Perché scegliere FreeBSD 15 per i server
Scopri i vantaggi di FreeBSD 15 per i server grazie all'integrazione di ZFS, jails e pf in un unico base system coerente e stabile per la tua infrastruttura.
Cos'è FreeBSD 15, in un paragrafo
FreeBSD è un sistema operativo completo per server, non un kernel con una distribuzione costruita sopra. Gli sviluppatori che scrivono il kernel scrivono anche il core userland, la documentazione e il rilascio, distribuendoli insieme come un unico pacchetto versionato. FreeBSD 15 è l'ultima release major di questo sistema. Se hai usato solo Linux, il concetto fondamentale da tenere a mente è questo: su FreeBSD il base system è un singolo progetto, e i pacchetti che aggiungi si trovano chiaramente sopra di esso. Questa scelta di design spiega la maggior parte degli aspetti apprezzati dagli utenti.
Uso Linux per la maggior parte delle mie attività e SSD Nodes è un provider di VPS Linux. FreeBSD rimane il mio sistema operativo server preferito e questo post spiega il perché. Una precisazione onesta: non offriamo piani VPS con FreeBSD perché la domanda è bassa. Chi ama FreeBSD solitamente lo esegue su hardware proprio invece di affittarlo, quindi il mercato VPS per questo sistema rimane limitato.
Novità in FreeBSD 15
Il cambiamento principale in FreeBSD 15.0, rilasciato a dicembre 2025, è pkgbase: il base system viene ora installato e aggiornato come pkg pacchetti. L'installer lo offre, e le immagini ufficiali VM e cloud, che sono quelle utilizzate su una VPS, usano pkgbase di default. Il vecchio strumento freebsd-update funziona ancora per il ramo 15, ma sia esso che i set di distribuzione su cui si basa sono destinati alla rimozione in FreeBSD 16; pertanto pkgbase rappresenta la direzione futura, non è un esperimento.
Il base system rispetto al modello delle distro Linux
Se una differenza definisce FreeBSD, è questa, e la maggior parte delle altre ne deriva. Su un server Linux si esegue una distribuzione. Il kernel proviene da un progetto, la libreria C da un altro, i comandi core da un altro, e i manutentori della distribuzione assemblano questi pezzi scegliendo versioni compatibili tra loro. Richiede molta coordinazione e funziona, ma le giunzioni sono visibili: un aggiornamento può spostare alcuni componenti e non altri.
FreeBSD traccia il confine in un punto diverso. Il kernel, i comandi standard, la libreria C, il firewall e il boot loader sono un unico albero sorgente con un unico numero di versione. Si aggiorna il base system come un'unità: con freebsd-update sulle installazioni precedenti o, sulle installazioni pkgbase utilizzate di default dalle immagini cloud di FreeBSD 15, con pkg stesso. Tutto il resto, come il web server, il database o i runtime dei linguaggi, proviene da pacchetti pkg che risiedono sopra il base system invece di essere integrati in esso. Anche con pkgbase, dove un unico strumento aggiorna entrambi i livelli, "il sistema operativo" e "il software installato" rimangono due livelli distinti che possono essere gestiti separatamente.
ZFS come cittadino di prima classe
ZFS è il filesystem per cui la maggior parte delle persone sceglie FreeBSD, e su FreeBSD 15 è una parte integrante del sistema piuttosto che un add-on esterno. ZFS combina il filesystem e il volume manager in un unico elemento, fornendo dati con checksum per rilevare la corruzione silenziosa invece di affidarsi al disco, snapshot istantanei, clone economici e zfs send e zfs receive per trasferire un filesystem su un'altra macchina byte per byte.
Per un server che conta in modo concreto. È possibile fare lo snapshot di un dataset prima di un aggiornamento:
zfs snapshot zroot/ROOT/default@before-upgradee se l'aggiornamento fallisce, si può tornare immediatamente esattamente a quello stato. Il boot loader di FreeBSD comprende i boot environments di ZFS, quindi è possibile riportare l'intero sistema operativo allo snapshot effettuato prima di apportare modifiche. Anche Linux utilizza ZFS tramite OpenZFS e lo esegue bene. La differenza è che su FreeBSD è integrato fin dall'inizio nell'installer, nel boot loader e negli strumenti di aggiornamento.
Jails: i container prima che i container fossero comuni
Una jail è un ambiente leggero e isolato che condivide il kernel dell'host ma ha il proprio filesystem, utenti, rete e vista dei processi. Se questo ricorda un container, lo è, e le jail precedono Docker di circa un decennio. FreeBSD 15 continua a perfezionarle.
Il modello mentale è più semplice rispetto a uno stack di container completo. Una jail è un albero di directory più una piccola configurazione, che esegue un vero userland FreeBSD contro il kernel dell'host. Non è necessario un registro di immagini o un daemon in background per ottenere l'isolamento. Per un server che ospita diversi servizi separati, le jail offrono una forte separazione con un overhead minimo, e strumenti come bastille le rendono facili da gestire. Si tratta dello stesso istinto di eseguire ogni servizio nel proprio container Docker, ma raggiunto da una direzione diversa.
pf, il firewall che ti divertirà scrivere
Il packet filter di FreeBSD, pf, è molto apprezzato per un motivo: la sua sintassi delle regole si legge come frasi comuni. Un ruleset è un file che si può leggere dall'inizio alla fine e comprendere realmente. Rispetto alla scrittura manuale di regole iptables/nftables su Linux, pf sembra progettato per essere mantenuto da un essere umano. Se hai mai combattuto contro un muro di iptables righe, pf è un sollievo.
Dove FreeBSD è adatto e dove non lo è
FreeBSD è una scelta solida per i server di storage grazie a ZFS, per i firewall e i router grazie a pf, e per qualsiasi server dove un base system stabile e coerente e aggiornamenti puliti contano più della ricerca dell'ultima feature del kernel. La sua documentazione, il FreeBSD Handbook, è uno dei migliori manuali nell'intero mondo open-source, e leggerlo è il modo più veloce per imparare il sistema.
Non è la scelta giusta per tutto. L'ecosistema dei container è più piccolo e orientato a Linux, quindi se il tuo workflow si basa su immagini Docker e Kubernetes, andrai controcorrente. Alcuni driver proprietari e strumenti dei vendor sono disponibili solo per Linux. Inoltre, la maggior parte dei tutorial di self-hosting, inclusi molti su questo sito, assume l'uso di una distribuzione Linux. Per una panoramica di ciò che può eseguire un server domestico o per progetti secondari, la panoramica sul self-hosting è scritta per Linux ma i concetti sono applicabili. Per un confronto diretto funzione per funzione, leggi Linux versus FreeBSD per i server.
Per un confronto differente, Linux versus Windows Server confronta l'altra grande piattaforma server con Linux.
FAQ
FreeBSD 15 è buono per un server?
Sì, per i compiti corretti. FreeBSD 15 è un sistema operativo server stabile e coerente con ZFS, jails e pf integrati nel base system, documentazione di alto livello e aggiornamenti puliti per unità. È particolarmente forte per storage, firewall e servizi a lunga durata dove si preferisce la prevedibilità rispetto all'avere l'ultima feature del kernel. È meno indicato se il workflow è costruito attorno all'ecosistema container orientato a Linux.
Qual è la differenza tra il base system di FreeBSD e Linux?
Su Linux, il kernel e l'userland provengono da progetti separati che una distribuzione assembla. Su FreeBSD, il kernel, i comandi core, la libreria C, il firewall e il boot loader sono un unico albero sorgente con un'unica versione, aggiornati come un'unità — tramite freebsd-update o, sulle installazioni pkgbase, tramite pkg — mentre tutto ciò che si installa rimane un livello separato di pacchetti sopra di esso. Questa divisione tra base e pacchetti è la differenza strutturale fondamentale.
Posso eseguire FreeBSD su una VPS?
È possibile eseguire FreeBSD su una VPS fornita da host che la offrono, anche se la scelta è più limitata rispetto a Linux. SSD Nodes non offre piani FreeBSD perché la domanda è bassa: chi usa FreeBSD tende a utilizzare hardware proprio invece di una VPS. Molti server FreeBSD sono macchine fisiche controllate direttamente dal proprietario.
Devo conoscere Linux prima di provare FreeBSD?
No, ma aiuta. La shell, SSH e la maggior parte dei comandi quotidiani risultano familiari se si è usato Linux. Le cose principali da imparare da zero sono la divisione base-versus-pacchetti, pkg per il software (e, sulle installazioni pkgbase di FreeBSD 15, anche per il base system, con freebsd-update in uscita) e pf per il firewall. Il FreeBSD Handbook ti guida attraverso tutto questo.