Perché NetBSD
Da Wiki di NetBSD Italia.
Molto spesso nuovi utenti, soprattutto utenti di sistemi GNU/Linux chiedono perché provare ed utilizzare NetBSD e/o pkgsrc e non altri sistemi operativi Unix-like.
Questo documento cercherà di descrivere le numerose qualità di NetBSD e rispondere a questo tipo di domande, focalizzandosi sulle differenze (o pregi per gli utenti NetBSD) rispetto agli altri sistemi Unix-like.
Indice |
NetBSD
Pulito, portabile, stabile e sicuro
I quattro aggettivi che descrivono al meglio NetBSD sono:
Pulito
L'attenzione al buon design ed alla qualità del codice in NetBSD è di fondamentale importanza, è anche uno tra i motivi per cui anche progetti commerciali importanti come QNX e Android, giusto per citarne alcuni.
Citando un motto di NetBSD: Non funziona se non è corretto.
Portabile
Al momento della scrittura di questo documento NetBSD gira su ben 59 diverse architetture.
La portabilità su NetBSD è forse l'elemento che lo distingue maggiormente dagli altri sistemi operativi, e per raggiungere questo scopo NetBSD utilizza livelli di astrazione e framework in modo tale da semplificare nuovi porting.
Non a caso il motto di NetBSD è: Certamente ci gira NetBSD.
Stabile
Il kernel NetBSD ha alle spalle decenni e decenni di sviluppo, basta pensare che la prima versione di BSD è apparsa nel 1977, mentre la prima versione di NetBSD nel 1993.
Tutte le modifiche inoltre, vengono accettate e discusse solitamente da più sviluppatori, e modifiche importanti devono essere discusse con il team core@.
Inoltre le versioni formali vengono rilasciate solo quando sono pronte e ben testate.
Sicuro
La sicurezza in NetBSD è un obiettivo fondamentale, grazie alla sua pulizia, semplicità e minimalismo si evitano bug.
Nel sistema operativo inoltre sono presenti pseudo-device come ad esempio cgd(4), che permette di criptare le partizioni, ipf(4) e pf(4) (quest'ultimo importato da OpenBSD) come firewall, veriexec(4) per il controllo dell'integrità dei file, etc.
Anche mostrare agli utenti solo le informazioni riguardanti loro (ad esempio mostrare su ps(1) o top(1) solo i processi di quell'utente) è semplicissimo:
# sysctl -w security.curtain=1
Per maggiori informazioni riguardo alla sicurezza: security(8).
Comunità
NetBSD, da buon progetto libero ed aperto, è utilizzato e sviluppato da persone provenienti da tutto il mondo.
Negli anni si sono sviluppate comunità amichevoli e attive sia internazionali, nazionali e anche locali.
Ci sono canali IRC dedicati completamente a NetBSD e/o pkgsrc.
Ci sono anche diversi wiki, tra cui NetBSD Community Wiki ricchi di informazioni utili o più accessibili o approfondite delle man page.
Oltre a questi mezzi uno tra i mezzi più utilizzati per mettersi in contatto con la comunità sono le mailing list.
Anche collaborare a NetBSD e/o pkgsrc è semplice, grazie alla potenzialità degli PR o a progetti come pkgsrc-wip. Un altro modo per entrare in stretto contatto con gli sviluppatori è partecipare agli hackathon eventi dedicati a correggere bug che si svolgono solitamente su #NetBSD-code@Freenode.
Documentazione
L'intero sistema, dai tool più basilari, le librerie di sistema, i device driver, i file di configurazione agli interni del kernel sono ben documentati in man page.
Oltre alle man page ci sono guide complete ai vari componenti del sistema operativo NetBSD che coprono i più diversi argomenti capaci di guidare il cammino di apprendimento dell'utente:
rc.conf(5)
A differenza di altri sistemi Unix-like per la configurazione di base (servizi, rete, ecc.) c'è un singolo e semplice file di configurazione: /etc/rc.conf.
La sua sintassi è semplicissima, per un servizio (sshd(8)) ad esempio:
sshd=YES
Anche configurare un indirizzo IP statico o l'hostname è semplicissimo:
defaultroute=192.168.1.1 ifconfig_lii0="inet 192.168.1.15 netmask 255.255.255.0" hostname=jones
Per chi non ama questo approccio monofile ovviamente NetBSD dà la libertà all'utente di configurare ciò in più file, per l'esempio precedente:
# echo "192.168.1.1" > /etc/mygate # echo "inet 192.168.1.15 netmask 255.255.255.0" > /etc/ifconfig.lii0 # echo "jones" > /etc/myname
Insomma: NetBSD: a te la scelta.
pkgsrc
TODO