FreeBSD - FreeBSD

FreeBSD
Freebsd logo.svg
VirtualBox FreeBSD 12.1 07 05 2020 11 59 43.png
Bootloader FreeBSD 12.1 cu logo de artă ASCII
Dezvoltator Proiectul FreeBSD
Familia OS Unix-like
Starea de lucru Actual
Modelul sursă Sursa deschisa
Eliberarea inițială 1 noiembrie 1993 ; Acum 27 de ani ( 01.11.1993 )
Ultima lansare 13.0 (13 aprilie 2021 ; acum 6 luni ) [±] 12,2 (27 octombrie 2020 ; acum 11 luni ) [±] ( 13.04.2021 )
 ( 27-10-2020 )
Ultima previzualizare 13.0-RC4 (29 martie 2021 ; acum 6 luni ) [±] ( 29.03.2021 )
Repertoriu
Obiectiv de marketing Servere , stații de lucru , sisteme încorporate , firewall-uri de rețea
Manager de pachete pachet
Platforme x86-64 , ARM64 , ARM32 , IA-32 , MIPS , PowerPC , RISC-V , 64-bit SPARC
Tipul de nucleu Nucleul monolitic
Userland BSD

Interfață de utilizator implicită
Unix shell
Licență Licență FreeBSD , licență de documentare FreeBSD
Site oficial www .freebsd .org

FreeBSD este un sistem de operare Unix gratuit și open-source descris din Berkeley Software Distribution (BSD), care se bazează pe Research Unix . Prima versiune a FreeBSD a fost lansată în 1993. În 2005, FreeBSD a fost cel mai popular sistem de operare BSD open-source , reprezentând mai mult de trei sferturi din toate sistemele BSD instalate , licențiate permisiv .

FreeBSD are similitudini cu Linux , cu două diferențe majore în domeniul de aplicare și licențierea: FreeBSD menține un sistem complet, adică proiectul furnizează un kernel , drivere de dispozitiv , utilitare userland și documentație , spre deosebire de Linux care livrează doar un kernel și drivere, și se bazează pe terți pentru software de sistem; iar codul sursă FreeBSD este, în general, lansat sub o licență permisivă BSD , spre deosebire de GPL copyleft folosit de Linux.

Proiectul FreeBSD include o echipă de securitate care supraveghează toate software-urile livrate în distribuția de bază. O gamă largă de aplicații terțe suplimentare pot fi instalate din pachete binare utilizând sistemul de gestionare a pachetelor pkg sau din sursă prin porturi FreeBSD sau prin compilarea manuală a codului sursă.

O mare parte din baza de cod a FreeBSD a devenit o parte integrantă a altor sisteme de operare, cum ar fi Darwin (baza pentru macOS , iOS , iPadOS , watchOS și tvOS ), TrueNAS (un sistem de operare open-source NAS / SAN ) și software-ul sistemului pentru consolele de jocuri PlayStation 3 și PlayStation 4 .

Istorie

fundal

În 1974, profesorul Bob Fabry de la Universitatea din California, Berkeley , a achiziționat o licență sursă Unix de la AT&T . Susținut de finanțare din partea DARPA , Computer Computer Research Group a început să modifice și să îmbunătățească AT&T Research Unix. Au numit această versiune modificată „Berkeley Unix” sau „ Berkeley Software Distribution ” (BSD), implementând caracteristici precum TCP / IP , memorie virtuală și Berkeley Fast File System . Proiectul BSD a fost fondat în 1976 de Bill Joy . Dar, din moment ce BSD conținea cod de la AT&T Unix, toți destinatarii trebuiau să obțină mai întâi o licență de la AT&T pentru a utiliza BSD.

În iunie 1989, a fost lansat „Networking Release 1” sau pur și simplu Net-1 - prima versiune publică a BSD. După lansarea Net-1, Keith Bostic , dezvoltator BSD, a sugerat înlocuirea tuturor codurilor AT&T cu cod liber redistribuibil sub licența BSD originală . Au început lucrările de înlocuire a codului AT&T și, după 18 luni, o mare parte din codul AT&T a fost înlocuit. Cu toate acestea, șase fișiere care conțin cod AT&T au rămas în nucleu. Dezvoltatorii BSD au decis să lanseze „Networking Release 2” (Net-2) fără aceste șase fișiere. Net-2 a fost lansat în 1991.

Nașterea FreeBSD

În 1992, la câteva luni după lansarea Net-2, William și Lynne Jolitz au scris înlocuiri pentru cele șase fișiere AT&T, au portat BSD pe microprocesoare Intel 80386 și au numit noul lor sistem de operare 386BSD . Au lansat 386BSD printr-un server FTP anonim. Fluxul de dezvoltare al 386BSD a fost lent și, după o perioadă de neglijare, un grup de utilizatori 386BSD au decis să se ramifice singuri, astfel încât să poată menține sistemul de operare actualizat. La 19 iunie 1993, numele FreeBSD a fost ales pentru proiect. Prima versiune a FreeBSD a fost lansată în noiembrie 1993.

La începuturile proiectului, o companie numită Walnut Creek CDROM , la propunerea celor doi dezvoltatori FreeBSD, a fost de acord să lanseze sistemul de operare pe CD-ROM . În plus, compania i-a angajat pe Jordan Hubbard și David Greenman, a rulat FreeBSD pe serverele sale, a sponsorizat conferințe FreeBSD și a publicat cărți referitoare la FreeBSD, inclusiv The Complete FreeBSD de Greg Lehey . În 1997, FreeBSD era „cel mai de succes produs” al Walnut Creek. Compania s-a redenumit mai târziu în The FreeBSD Mall și mai târziu iXsystems .

Astăzi, FreeBSD este utilizat de multe companii IT precum IBM , Nokia , Juniper Networks și NetApp pentru a-și construi produsele. Anumite părți ale Apple a lui Mac OS X sistem de operare bazat pe FreeBSD. Sistemul de operare PlayStation 3 împrumută, de asemenea, anumite componente de la FreeBSD, în timp ce sistemul de operare PlayStation 4 este derivat din FreeBSD 9. Netflix , WhatsApp și FlightAware sunt, de asemenea, exemple de companii mari, de succes și puternic orientate către rețea, care rulează FreeBSD.

Proces

386BSD și FreeBSD au fost ambele derivate din versiunile BSD. În ianuarie 1992, Berkeley Software Design Inc. (BSDi) a început să lanseze BSD / 386 , denumit ulterior BSD / OS, un sistem de operare similar cu FreeBSD și bazat pe 4.3BSD Net / 2. AT&T a intentat un proces împotriva BSDi și a presupus distribuirea codului sursă AT&T, încălcând acordurile de licență. Procesul a fost soluționat în afara instanței, iar termenii exacți nu au fost dezvăluiți toți. Singura care a devenit publică a fost aceea că BSDi își va migra baza sursă la sursele mai noi 4.4BSD-Lite2. Deși nu este implicat în litigiu, sa sugerat către FreeBSD că acestea ar trebui să treacă și la 4.4BSD-Lite2. FreeBSD 2.0, care a fost lansat în noiembrie 1994, a fost prima versiune a FreeBSD fără niciun cod de la AT&T.

Caracteristici

Pornire FreeBSD 9.1 cu prompt de conectare la consolă

Utilizați cazuri

FreeBSD conține o colecție semnificativă de software-uri legate de server în sistemul de bază și colecția de porturi, permițând configurarea și utilizarea FreeBSD ca server de mail , server web , firewall , server FTP , server DNS și router , printre alte aplicații.

FreeBSD poate fi instalat pe un desktop obișnuit sau un laptop. Sistemul X Window nu este instalat implicit, dar este disponibil în colecția de porturi FreeBSD . Wayland (protocolul serverului de afișare) este disponibil și pentru FreeBSD (acceptat neoficial). O serie de medii desktop, cum ar fi GNOME , KDE și Xfce , precum și administratori de ferestre ușoare, cum ar fi Openbox , Fluxbox , dwm și bspwm , sunt de asemenea disponibile pentru FreeBSD. Începând cu FreeBSD 12, suportul pentru un stack grafic modern este disponibil prin drm-kmod. Sunt acceptate un număr mare de adaptoare wireless.

FreeBSD lansează imagini de instalare pentru platformele acceptate. De la FreeBSD 13 accentul a fost pus pe platformele x86-64 și aarch64 care au suport Tier 1. x86-32 este o platformă de nivel 1 în FreeBSD 12, dar este o platformă de nivel 2 în FreeBSD 13. Procesoarele ARM pe 32 de biți care utilizează armv6 sau armv7 au, de asemenea, suport pentru nivelul 2. Sunt acceptate și versiunile pe 64 de biți ale PowerPC și RISC-V . Interesul pentru arhitectura RISC-V a crescut. Arhitectura MIPS Portul a fost marcat pentru dezaprobare și nu există nici o imagine pentru orice versiune acceptată în prezent. FreeBSD 12 acceptă SPARC, dar nu există nicio imagine pentru FreeBSD 13.

Rețele

Stiva TCP / IP a FreeBSD se bazează pe implementarea 4.2BSD a TCP / IP care a contribuit foarte mult la adoptarea pe scară largă a acestor protocoale. FreeBSD acceptă, de asemenea, IPv6 , SCTP , IPSec și rețelele wireless ( Wi-Fi ). Stivele IPv6 și IPSec au fost preluate din proiectul KAME . Înainte de versiunea 11.0, FreeBSD suporta protocoalele IPX și AppleTalk , dar acestea sunt considerate vechi și acum au fost abandonate.

Începând cu FreeBSD 5.4, suportul pentru Common Address Redundancy Protocol (CARP) a fost importat din proiectul OpenBSD . CARP permite mai multor noduri să partajeze un set de adrese IP, deci dacă unul dintre noduri coboară, alte noduri încă pot servi cererile.

Depozitare

FreeBSD are mai multe caracteristici unice legate de stocare. Actualizările soft pot proteja consistența sistemului de fișiere UFS (utilizat pe scară largă pe BSD-uri) în caz de blocare a sistemului. Instantaneele sistemului de fișiere permit crearea eficientă a unei imagini a unui sistem de fișiere UFS la un moment dat. Instantaneele permit backupul fiabil al unui sistem de fișiere live. GEOM este un cadru modular care oferă RAID (nivelurile 0, 1, 3 în prezent), criptare completă pe disc , jurnalizare , concatenare, stocare în cache și acces la stocarea bazată pe rețea. GEOM permite construirea de soluții complexe de stocare combinând („înlănțuind”) aceste mecanisme. FreeBSD oferă două cadre pentru criptarea datelor: GBDE și Geli . Atât GBDE cât și Geli funcționează la nivelul discului. GBDE a fost scris de Poul-Henning Kamp și este distribuit sub licența BSD cu două clauze. Geli este o alternativă la GBDE care a fost scrisă de Pawel Jakub Dawidek și a apărut prima dată în FreeBSD 6.0.

Începând cu 7.0, FreeBSD acceptă sistemul de fișiere ZFS . ZFS a fost anterior un sistem de fișiere open-source care a fost dezvoltat pentru prima dată de Sun Microsystems , dar când Oracle a achiziționat Sun, ZFS a devenit un produs proprietar. Cu toate acestea, proiectul FreeBSD își dezvoltă și îmbunătățește implementarea ZFS prin intermediul proiectului OpenZFS .

Securitate

FreeBSD oferă mai multe funcții legate de securitate, inclusiv liste de control al accesului (ACL), audit de evenimente de securitate, atribute extinse ale sistemului de fișiere, controale de acces obligatorii (MAC) și capabilități fine . Aceste îmbunătățiri de securitate au fost dezvoltate de proiectul TrustedBSD . Proiectul a fost fondat de Robert Watson cu scopul de a implementa concepte din Criteriile comune pentru evaluarea securității tehnologiei informației și Cartea portocalie . Acest proiect este în desfășurare și multe dintre extensiile sale au fost integrate în FreeBSD. Proiectul este susținut de o varietate de organizații, inclusiv DARPA, NSA, Network Associates Laboratories, Safeport Network Services, Universitatea din Pennsylvania, Yahoo !, McAfee Research, SPARTA, Apple Computer, nCircle Network Security, Google, Universitatea din Cambridge Laboratorul de calculatoare și altele.

Proiectul a portat , de asemenea, NSA e BALON implementare / TE de la SELinux la FreeBSD. Alte lucrări includ dezvoltarea OpenBSM , o implementare open-source a API-ului Sun Basic Basic Module (BSM) și formatul de fișiere jurnal de audit, care acceptă un sistem de audit de securitate extins. Acesta a fost livrat ca parte a FreeBSD 6.2. Alte lucrări de infrastructură în FreeBSD efectuate ca parte a proiectului TrustedBSD au inclus GEOM și OpenPAM.

Majoritatea componentelor proiectului TrustedBSD sunt în cele din urmă pliate în principalele surse pentru FreeBSD. În plus, multe caracteristici, odată complet maturate, își găsesc drumul în alte sisteme de operare. De exemplu, OpenPAM a fost adoptat de NetBSD . Mai mult, TrustedBSD MAC Framework a fost adoptat de Apple pentru macOS .

FreeBSD este livrat cu trei pachete firewall diferite: IPFW , pf și IPFilter . IPFW este firewall-ul nativ al FreeBSD. pf a fost preluat de la OpenBSD și IPFilter a fost portat la FreeBSD de Darren Reed.

Luat din OpenBSD, programul OpenSSH a fost inclus în instalarea implicită. OpenSSH este o implementare gratuită a protocolului SSH și este un înlocuitor pentru telnet . Spre deosebire de telnet, OpenSSH criptează toate informațiile (inclusiv numele de utilizator și parolele).

În noiembrie 2012, echipa de securitate FreeBSD a anunțat că hackerii au obținut acces neautorizat pe două dintre serverele proiectului. Aceste servere au fost oprite imediat. Mai multe cercetări au demonstrat că primul acces neautorizat de către hackeri a avut loc pe 19 septembrie. Se pare că hackerii au câștigat accesul la aceste servere prin furtul cheilor SSH de la unul dintre dezvoltatori, nu prin exploatarea unui bug din sistemul de operare în sine. Aceste două servere pirate făceau parte din infrastructura utilizată pentru a construi pachete software terță parte. Echipa de securitate FreeBSD a verificat integritatea pachetelor binare și a anunțat că nu au fost făcute modificări neautorizate pachetelor binare, dar a declarat că nu pot garanta integritatea pachetelor descărcate între 19 septembrie și 11 noiembrie.

Portabilitate

FreeBSD a fost portat la o varietate de arhitecturi de seturi de instrucțiuni . Proiectul FreeBSD organizează arhitecturi în niveluri care caracterizează nivelul de sprijin oferit. Arhitecturile de nivel 1 sunt mature și complet acceptate, de exemplu, este singurul nivel „susținut de ofițerul de securitate”. Arhitecturile de nivelul 3 sunt experimentale sau nu mai sunt în curs de dezvoltare activă, iar arhitecturile de nivelul 4 nu au deloc suport.

Începând din martie 2021, FreeBSD a fost portat la următoarele arhitecturi:

Arhitectură Nivel de asistență Note
x86-64 Nivelul 1 denumit „amd64”
x86 (IA-32) Nivelul 1 (nivelul 2 în 13.x) denumit „i386”
ARM pe 64 de biți Nivelul 1
ARM pe 32 de biți Nivelul 2
MIPS Nivelul 2
PowerPC pe 32 și 64 de biți Nivelul 2
SPARC pe 64 de biți Nivelul 2 (nivelul 4 în 13.x) doar arhitectura pe 64 de biți (V9)
RISC-V pe 64 de biți Nivelul 3 (nivelul 2 în 13.x) începând cu 12-ELIBERARE
NEC PC-9801 Nivelul 4 (nivelul 2 în 11.x) denumit „pc98”, suport eliminat în 12-CURENT
IA-64 (era nivelul 3) neacceptat de la 11.0
DEC Alfa (era nivelul 4) suportul a fost întrerupt în 7.0

Suportul ARM pe 32 de biți (inclusiv OTG) și MIPS se adresează în principal sistemelor încorporate ( ARM64 este destinat și serverelor), cu toate acestea FreeBSD / ARM rulează pe mai multe computere cu o singură placă , inclusiv BeagleBone Black , Raspberry Pi și Wandboard .

Compatibilitate hardware

Dispozitivele acceptate sunt listate în FreeBSD 12.1-RELEASE Hardware Notes. Documentul descrie dispozitivele cunoscute în prezent pentru a fi acceptate de FreeBSD. Este posibil ca și alte configurații să funcționeze, dar pur și simplu nu au fost încă testate. Listele extrase automat de ID-uri de dispozitiv acceptate sunt disponibile într-un depozit terț.

În 2020, a fost introdus un nou proiect pentru a colecta automat informații despre configurațiile hardware testate.

Software terță parte

FreeBSD are un depozit de software de peste 30.000 de aplicații dezvoltate de terți. Exemplele includ: sisteme de ferestre , browsere web , clienți de e-mail , suite de birou și așa mai departe. În general, proiectul în sine nu dezvoltă acest software, ci doar cadrul care permite instalarea acestor programe, cunoscut sub numele de colecția Ports. Aplicațiile pot fi fie compilate din sursă („porturi”), cu condiția ca termenii lor de licențiere să permită acest lucru, fie descărcate ca binare precompilate („pachete”). Colecția Ports acceptă ramurile actuale și stabile ale FreeBSD. Versiunile mai vechi nu sunt acceptate și pot funcționa sau nu corect cu o colecție de porturi actualizată.

Porturile folosesc Makefiles pentru a prelua automat codul sursă al aplicației dorite , fie dintr-un depozit local sau de la distanță , îl despachetați pe sistem, îi aplicați patch-uri și îl compilați. În funcție de dimensiunea codului sursă, compilarea poate dura mult timp, dar oferă utilizatorului mai mult control asupra procesului și a rezultatului acestuia. Majoritatea porturilor au, de asemenea, omologi de pachete (adică binare precompilate), oferind utilizatorului posibilitatea de a alege. Deși această metodă este mai rapidă, utilizatorul are mai puține opțiuni de personalizare.

FreeBSD versiunea 10.0 a introdus pkg-ul managerului de pachete ca înlocuitor pentru instrumentele de pachet utilizate anterior. Este funcțional similar cu apt și yum din distribuțiile Linux . Permite instalarea, actualizarea și eliminarea atât a porturilor, cât și a pachetelor. În plus față de pkg, PackageKit poate fi utilizat și pentru a accesa colecția Ports.

Închisori

Introducute pentru prima dată în versiunea FreeBSD 4, închisorile sunt un mecanism de securitate și o implementare a virtualizării la nivel de sistem de operare care permite utilizatorului să ruleze mai multe instanțe ale unui sistem de operare invitat pe o gazdă FreeBSD. Este o versiune îmbunătățită a mecanismului tradițional chroot . Un proces care se desfășoară într-o astfel de închisoare nu poate accesa resursele din afara acesteia. Fiecare închisoare are propriul nume de gazdă și adresa IP . Este posibil să rulați mai multe închisori în același timp, dar nucleul este împărțit tuturor. Prin urmare, numai software-ul acceptat de kernel-ul FreeBSD poate fi rulat într-o închisoare.

Virtualizare

bhyve , o nouă soluție de virtualizare, a fost introdusă în FreeBSD 10.0. bhyve permite utilizatorului să ruleze simultan mai multe sisteme de operare pentru oaspeți (FreeBSD, OpenBSD , Linux și Microsoft Windows ). Sunt planificate alte sisteme de operare, cum ar fi Illumos . bhyve a fost scris de Neel Natu și Peter Grehan și a fost anunțat în conferința BSDCan din 2011 pentru prima dată. Principala diferență dintre închisorile bhyve și FreeBSD constă în faptul că închisorile sunt o virtualizare la nivel de sistem de operare și, prin urmare, sunt limitate doar la oaspeții FreeBSD; dar bhyve este un hipervizor de tip 2 și nu se limitează doar la oaspeții FreeBSD. Pentru comparație, bhyve este o tehnologie similară cu KVM, în timp ce închisorile sunt mai aproape de containerele LXC sau zonele Solaris . Instanțele Amazon EC2 AMI sunt, de asemenea, acceptate prinamazon-ssm-agent

De la FreeBSD 11.0, a existat suport pentru rularea ca domeniu privilegiat Dom0 pentru hipervizorul Xen tip 1. Suport pentru rularea ca DomU (invitat) a fost disponibil de la FreeBSD 8.0.

VirtualBox (fără pachetul de extensii cu sursă închisă ) și QEMU sunt disponibile pe FreeBSD.

Straturi de compatibilitate cu sistemul de operare

Majoritatea software-ului care rulează pe Linux poate rula pe FreeBSD folosind un strat de compatibilitate încorporat opțional . Prin urmare, majoritatea programelor binare Linux pot fi rulate pe FreeBSD, inclusiv unele aplicații proprietare distribuite numai sub formă binară. Acest strat de compatibilitate nu este o emulație ; Interfața de apelare a sistemului Linux este implementată în kernel-ul FreeBSD și, prin urmare, imaginile executabile Linux și bibliotecile partajate sunt tratate la fel ca imaginile executabile native și bibliotecile partajate ale FreeBSD. În plus, FreeBSD oferă straturi de compatibilitate pentru alte câteva sisteme de operare de tip Unix , pe lângă Linux, cum ar fi BSD / OS și SVR4 , cu toate acestea, este mai frecvent ca utilizatorii să compileze acele programe direct pe FreeBSD.

Nu s-a observat nicio penalizare de performanță vizibilă în cazul programelor native FreeBSD atunci când se execută binarele Linux și, în unele cazuri, acestea pot funcționa chiar mai bine decât pe Linux. Cu toate acestea, stratul nu este complet complet, iar unele binare Linux sunt inutilizabile sau doar parțial utilizabile pe FreeBSD. Există asistență pentru apelurile de sistem până la versiunea 2.6.18, disponibilă de la FreeBSD 7.0 . Începând cu versiunea 10.3, FreeBSD poate rula binare Linux pe 64 de biți.

FreeBSD a implementat o serie de interfețe kernel native NDIS Microsoft Windows pentru a permite FreeBSD să ruleze (în caz contrar) drivere de rețea numai Windows.

Stratul de compatibilitate Wine , care permite rularea multor aplicații Windows, în special jocuri, fără o copie (licențiată) a Microsoft Windows , este disponibilă pentru FreeBSD.

Nucleu

Kernel-ul FreeBSD oferă suport pentru anumite sarcini esențiale, cum ar fi gestionarea proceselor, comunicarea, bootarea și sistemele de fișiere. FreeBSD are un nucleu monolitic , cu un design modular. Diferite părți ale nucleului, cum ar fi driverele, sunt proiectate ca module. Utilizatorul poate încărca și descărca aceste module în orice moment. ULE este programatorul implicit în FreeBSD de la versiunea 7.1, acceptă SMP și SMT . Kernel-ul FreeBSD are, de asemenea, o interfață scalabilă de notificare a evenimentelor, numită kqueue . A fost portat la alte derivate BSD, cum ar fi OpenBSD și NetBSD . Kernel filetat a fost introdus în FreeBSD 5.0, folosind un M: model de filetare N . Acest model funcționează bine în teorie, dar este greu de implementat și puține sisteme de operare îl susțin. Deși implementarea acestui model de FreeBSD a funcționat, nu a funcționat bine, așa că de la versiunea 7.0 și mai departe, FreeBSD a început să utilizeze un model de filetare 1: 1 , numit libthr.

Documentare și suport

Documentația FreeBSD constă în manuale, pagini de manuale, arhive ale listelor de corespondență, întrebări frecvente și o varietate de articole, întreținute în principal de The FreeBSD Documentation Project. Documentația FreeBSD este tradusă în mai multe limbi. Toată documentația oficială este eliberată în baza Licenței de documentare FreeBSD , „o licență permisivă de documentare gratuită non-copyleft care este compatibilă cu GNU FDL”. Documentația FreeBSD este descrisă ca „de înaltă calitate”.

Proiectul FreeBSD menține o varietate de liste de discuții. Printre cele mai populare liste de corespondență se numără întrebări FreeBSD (întrebări generale) și hackeri FreeBSD (un loc pentru a pune întrebări mai tehnice).

Din 2004, baza de date BSD Users Group din New York City oferă informații dmesg dintr-o colecție de computere ( laptopuri , stații de lucru , computere cu o singură placă , sisteme încorporate , mașini virtuale etc.) care rulează FreeBSD.

Instalatori

De la versiunea 2.0 la 8.4, FreeBSD a folosit programul sysinstall ca instalator principal. A fost scris în C de Jordan Hubbard . Acesta folosește o interfață de utilizator text și este împărțit în mai multe meniuri și ecrane care pot fi utilizate pentru a configura și controla procesul de instalare. Poate fi, de asemenea, utilizat pentru a instala porturi și pachete ca alternativă la interfața liniei de comandă .

Utilitarul sysinstall este acum considerat depreciat în favoarea bsdinstall, un nou program de instalare care a fost introdus în FreeBSD 9.0. bsdinstall este „un înlocuitor ușor pentru sysinstall” care a fost scris în sh. Potrivit OSNews , „A pierdut unele caracteristici în timp ce a câștigat altele, dar este un design mult mai flexibil și va fi în cele din urmă o îmbunătățire semnificativă”.

Coajă

Shell-ul implicit FreeBSD este shell-ul tcsh pentru root și shell-ul Almquist (sh) pentru utilizatorii obișnuiți. Coaja de script implicită este shell-ul Almquist.

Dezvoltare

FreeBSD este dezvoltat de o echipă de voluntari situată în întreaga lume. Dezvoltatorii folosesc internetul pentru toate comunicările și mulți nu s-au întâlnit personal. În plus față de grupurile de utilizatori locali sponsorizați și participați de utilizatori, USENIX organizează o conferință anuală, numită BSDcon . BSDcon nu este specific FreeBSD, deci se ocupă de aspectele tehnice ale tuturor sistemelor de operare derivate din BSD, inclusiv OpenBSD și NetBSD . În plus față de BSDcon, alte trei conferințe anuale, EuroBSDCon, AsiaBSDCon și BSDCan au loc în Europa , Japonia și, respectiv, Canada .

Structura guvernamentala

Proiectul FreeBSD este condus de aproximativ 500 de angajatori sau dezvoltatori care au acces de acces la depozitele de cod sursă master și pot dezvolta, depana sau îmbunătăți orice parte a sistemului. Majoritatea dezvoltatorilor sunt voluntari și puțini dezvoltatori sunt plătiți de unele companii. Există mai multe tipuri de comittere, inclusiv comutatoare sursă (sistem de operare de bază), comutatoare doc (autorii documentației și site-urilor web) și porturi (portarea aplicațiilor și infrastructura terților). La fiecare doi ani, comitatorii FreeBSD selectează o echipă de bază FreeBSD de 9 membri, care este responsabilă pentru direcția generală a proiectului, stabilirea și aplicarea regulilor proiectului și aprobarea noilor comiteri sau acordarea accesului de comitere SVN. O serie de responsabilități sunt atribuite oficial altor echipe de dezvoltare de către echipa de bază FreeBSD, de exemplu, responsabilitatea pentru gestionarea colectării porturilor este delegată echipei de gestionare a porturilor.

Pe lângă dezvoltatori, FreeBSD are mii de „colaboratori”. Contribuitorii sunt, de asemenea, voluntari în afara proiectului FreeBSD care trimit patch-uri pentru examinare de către comititori, deoarece nu au acces direct la depozitul de coduri sursă al FreeBSD. Comisarii evaluează apoi contribuțiile contribuitorilor și decid ce să accepte și ce să respingă. Un colaborator care trimite patch-uri de înaltă calitate este deseori rugat să devină un comitter.

Ramuri

Dezvoltatorii FreeBSD mențin cel puțin două ramuri ale dezvoltării simultane. -CURRENT ramura reprezintă întotdeauna „ marginea sângerare “ de dezvoltare FreeBSD. O ramură -STABLE a FreeBSD este creată pentru fiecare număr major de versiune, din care -RELEASE este tăiat aproximativ o dată la 4-6 luni. Dacă o caracteristică este suficient de stabilă și de matură, va fi probabil backportată ( MFC sau Merge from CURRENT în jargul dezvoltatorului FreeBSD) în ramura -STABLE .

fundație

„Săptămâna trecută am donat un milion de dolari către Fundația FreeBSD, care susține sistemul de operare open-source care a ajutat milioane de programatori să-și urmărească pasiunile și să-și aducă ideile la viață. De fapt, sunt unul dintre acei oameni. Am început să folosesc FreeBSD la sfârșitul anilor '90, când nu aveam mulți bani și trăiam în locuințe guvernamentale. Într-un fel, FreeBSD m-a ajutat să mă scot din sărăcie - unul dintre principalele motive pentru care am obținut un loc de muncă la Yahoo! Este pentru că foloseau FreeBSD, și a fost sistemul meu de operare ales. Ani mai târziu, când eu și Brian ne-am propus să construim WhatsApp, am folosit FreeBSD pentru a menține serverele noastre în funcțiune. Încă o facem. Anunț această donație pentru a da o lumină bună munca desfășurată de Fundația FreeBSD, cu speranța că și alții vor contribui la avansarea acestui proiect. Vom beneficia cu toții dacă FreeBSD poate continua să ofere oamenilor aceeași oportunitate pe care mi-a dat-o - dacă poate scoate din sărăcie mai mulți copii imigranți , și să ajute mai multe start-up-uri să construiască ceva cu succes ul și chiar transformator. "

Jan Koum

Dezvoltarea FreeBSD este susținută parțial de Fundația FreeBSD. Fundația este o organizație non-profit care acceptă donații pentru a finanța dezvoltarea FreeBSD. O astfel de finanțare a fost utilizată pentru a sponsoriza dezvoltatorii pentru activități specifice, pentru a cumpăra hardware și infrastructură de rețea, pentru a oferi granturi de călătorie la summit-urile dezvoltatorilor și pentru a oferi sprijin legal proiectului FreeBSD.

În noiembrie 2014, Fundația FreeBSD a primit o donație de 1 milion de dolari de la Jan Koum , cofondator și CEO WhatsApp  - cea mai mare donație unică către Fundație de la înființare. În decembrie 2016, Jan Koum a donat încă 500 de mii de dolari. Jan Koum însuși este un utilizator FreeBSD de la sfârșitul anilor 1990 și WhatsApp folosește FreeBSD pe serverele sale.

Licență

FreeBSD este lansat sub o varietate de licențe open-source. Codul kernel și cel mai nou cod creat sunt eliberate sub licența BSD cu două clauze, care permite tuturor să utilizeze și să redistribuie FreeBSD după cum doresc. Această licență a fost aprobată de Free Software Foundation și Open Source Initiative ca licență Free Software și respectiv Open Source. Free Software Foundation a descris această licență ca „o licență de software liber laxă, permisivă, fără copyleft, compatibilă cu GNU GPL”. Există părți eliberate sub licențe BSD cu trei și patru clauze, precum și licența Beerware . Unele drivere de dispozitiv includ un blob binar , precum versiunea Atheros HAL a versiunilor FreeBSD înainte de 7.2. O parte din codul contribuit de alte proiecte este licențiat sub GPL , LGPL , CDDL și ISC . Tot codul licențiat sub GPL și CDDL este separat în mod clar de codul sub licențe liberale, pentru a face mai ușor pentru utilizatori, cum ar fi producătorii de dispozitive încorporate, să folosească numai licențe permise de software gratuit . ClangBSD își propune să înlocuiască unele dependențe GPL în sistemul de bază FreeBSD prin înlocuirea colecției de compilatoare GNU cu compilatorul LLVM / Clang licențiat BSD . ClangBSD a devenit auto-găzduire pe 16 aprilie 2010.

Mulți ani logo-ul FreeBSD a fost genericul BSD Daemon , numit și Beastie , o pronunție distorsionată a BSD . Cu toate acestea, Beastie nu a fost unic pentru FreeBSD. Apărut pentru prima dată în 1976 pe tricourile Unix cumpărate de Bell Labs , versiunile mai populare ale demonului BSD au fost desenate de directorul de animație John Lasseter începând cu 1984. Mai multe versiuni specifice FreeBSD au fost ulterior desenate de Tatsumi Hosokawa.

În termeni litografici, grafica Lasseter nu este o artă de linie și necesită adesea un proces de imprimare offset cu patru culori , pentru o reproducere fidelă pe suprafețe fizice, cum ar fi hârtia. De asemenea, demonul BSD a fost considerat a fi prea detaliat grafic pentru scalarea netedă a dimensiunilor și depinde din punct de vedere estetic de mai multe gradări de culoare, ceea ce face dificilă reproducerea fiabilă ca un logo simplu, standardizat, doar în două sau trei culori, cu atât mai puțin în monocrom. Din cauza acestor îngrijorări, a avut loc o competiție și un nou logo creat de Anton K. Gural, care încă reamintea demonului BSD, a fost lansat la 8 octombrie 2005. Cu toate acestea, Robert Watson a anunțat că proiectul FreeBSD „caută un nou logo, dar nu o mascotă nouă "și că proiectul FreeBSD ar continua să folosească Beastie ca mascotă.

Numele „FreeBSD” a fost inventat de David Greenman la 19 iunie 1993, alte nume sugerate au fost „BSDFree86” și „Free86BSD”. Sloganul FreeBSD, „Puterea de a servi”, este o marcă comercială a Fundației FreeBSD.

Derivate

PC-BSD versiunea 10, sistemul de operare cunoscut ulterior sub numele de TrueOS

Există o serie de distribuții software bazate pe FreeBSD. Derivații notabili includ:

Toate aceste distribuții nu au sau doar modificări minore în comparație cu sistemul de bază FreeBSD original. Principala diferență față de FreeBSD-ul original este că acestea vin cu software preinstalat și preconfigurat pentru cazuri de utilizare specifice. Acest lucru poate fi comparat cu distribuțiile Linux , care sunt toate binare compatibile, deoarece utilizează același nucleu și folosesc, de asemenea, aceleași instrumente de bază, compilatoare și biblioteci în timp ce vin cu aplicații, configurații și branding diferite.

Pe lângă aceste distribuții, există și câteva sisteme de operare independente bazate pe FreeBSD. DragonFly BSD este un fork de la FreeBSD 4.8 care vizează o strategie de sincronizare multiprocesor diferită de cea aleasă pentru FreeBSD 5 și dezvoltarea unor caracteristici de microkernel . Nu urmărește să rămână compatibil cu FreeBSD și are diferențe uriașe în nucleu și în țara utilizatorilor de bază . MidnightBSD este o bursă a FreeBSD 6.1 care împrumută mult de la NeXTSTEP , în special în departamentul de interfață cu utilizatorul.

Darwin , nucleul macOS- ului Apple , include un sistem de fișiere virtuale și un stack de rețea derivat din cele ale FreeBSD, iar componentele spațiului său de utilizatori sunt, de asemenea, derivate din FreeBSD.

Unele servicii de abonament care se bazează direct pe FreeBSD sunt:

  • WhatsApp  - procesează 2 milioane de conexiuni TCP simultane pe server.

Dispozitivele încorporate și sistemele de operare ale dispozitivelor încorporate bazate pe FreeBSD includ:

  • Juniper e JUNOS router sistem de operare.
  • EMC Isilon e OneFS sistemul de operare.
  • NetApp de date ONTAP 8.x e și acum înlocuit ONTAP GX (doar ca un încărcător pentru modul kernel-spațiu de proprietate).
  • Dispozitivul Open Connect Netflix pentru a gestiona difuzarea conținutului.
  • PlayStation 4 ( " OS Orbis ")
  • Panasas PanFS "sistem de fișiere paralel
  • pfSense , un sistem de operare firewall, router și dispozitiv de securitate open-source.

Versiunea istorică

Legendă: Versiune veche, neîntreținută Versiune mai veche, încă menținută Versiune stabilă curentă Ultima versiune de previzualizare Lansare viitoare
Versiune Data de lansare Suportat până la Schimbări semnificative
Versiune veche, care nu mai este menținută: 1.x Noiembrie 1993
  • Prima lansare oficială.
  • Colecția Ports.
  • S-au remediat câteva erori remarcabile din importul 386BSD
  • Adăugarea unor aplicații portate ( XFree86 , XView , InterViews , elm , nntp )
Versiune veche, care nu mai este menținută: 2.x 22 noiembrie 1994
  • Baza de cod a fost înlocuită cu BSD-Lite 4.4 (pentru a satisface termenii stabilirii procesului USL v. BSDi )
  • Noul instalator și noul manager de încărcare
  • Suport sisteme de fișiere încărcabile pentru mai multe sisteme de fișiere (MS-DOS, unionfs, kernfs )
  • Module de kernel încărcabile importate de pe NetBSD
  • Înlocuit BSD malloc cu phkmalloc
  • Emulare Linux completă cu ELF
  • Formarea traficului Dummynet
Versiune veche, care nu mai este menținută: 3.x 16 octombrie 1998
Versiune veche, care nu mai este menținută: 4.x 14 martie 2000 31 ianuarie 2007
Versiune veche, care nu mai este menținută: 5.x 14 ianuarie 2003 31 mai 2008
Versiune veche, care nu mai este menținută: 6.x 1 noiembrie 2005 30 noiembrie 2010
  • Suport pentru contoare de monitorizare a performanței
  • Stivă nouă Wi-Fi
  • GELI
  • Conectarea la rețea
  • Utilitar NanoBSD
  • Suport pentru driverul NDIS
  • Multiplexor de tastatură
  • Stabilitatea sistemului de fișiere UFS
  • Configurare automată Bluetooth
  • Drivere Ethernet și RAID suplimentare
  • Suport pentru arhitectura Xbox
  • Subsistemul de audit OpenBSM
  • freebsd-update (actualizări binare pentru remedieri de securitate și patch-uri de eroare)
Versiune veche, care nu mai este menținută: 7.x 27 februarie 2008 28 februarie 2013
Versiune veche, care nu mai este menținută: 8.x 26 noiembrie 2009 1 august 2015
Versiune veche, care nu mai este menținută: 9.x 12 ianuarie 2012 31 decembrie 2016
  • Mecanism de securitate bazat pe capacitate Capsicum
  • UFS SoftUpdates + Jurnal
  • ZFS actualizat la versiunea 28
  • bsdconfig, utilitar de configurare a sistemului
  • bsdinstall, noul program de instalare a sistemului
  • RCTL, un mecanism flexibil de limitare a resurselor
  • GRAID, software - ul flexibil RAID punerea în aplicare
  • drivere virtio
  • pkgng
  • vt, implementarea noului terminal virtual
Versiune veche, care nu mai este menținută: 10.x 20 ianuarie 2014 31 octombrie 2018
  • BHyVe hypervisor
  • Clang a înlocuit GCC pe arhitecturi acceptate
  • Stivă nouă iSCSI
  • Suport adăugat pentru Raspberry Pi
  • Boot UEFI pentru amd64
  • Pornire ZFS prin UEFI
  • ZFS pe sistemul de fișiere rădăcină
  • Fiabilitate ZFS și îmbunătățiri ale performanței
  • Implementarea pkgunui nou manager de pachete FreeBSD, denumit și pkgng
  • Suport pentru protocolul UDP Lite (RFC 3828)
  • Suport SMP pentru armv6
  • Noul automounter bazat pe autofs
  • Codul DRM actualizat pentru a se potrivi cu Linux 3.8.13, permițând mai multe servere X simultane
  • Suport pentru binare Linux pe 64 de biți prin stratul de compatibilitate
Versiune veche, care nu mai este menținută: 11.x 10 octombrie 2016 30 septembrie 2021
  • Noua versiune a NetMap
  • Suport pentru arhitectura ARM pe 64 de biți
  • umount (8) -N nou flag care este folosit pentru a demonta cu forță un sistem de fișiere montat pe NFS
  • crontab -f nou steag adăugat
  • Sistemul de fișiere ZFS a fost actualizat pentru a implementa montarea în paralel.
  • A fost adăugat utilitarul trim (8), care șterge conținutul blocurilor de pe dispozitivele de stocare bazate pe flash care utilizează algoritmi de nivelare a uzurii.
Versiune mai veche, dar încă menținută: 12.x 11 decembrie 2018
  • Sistemul de fișiere ext2fs (5) a fost actualizat pentru a suporta suportul complet de citire / scriere pentru ext4
  • FreeBSD a schimbat modul în care sunt tratate driverele grafice pe amd64 și i386. Driverele grafice pentru plăcile grafice moderne ATI-AMD și Intel sunt acum disponibile în Ports Collection.
  • Sistemul de fișiere UFS / FFS a fost actualizat pentru a susține verificarea hashurilor pe hărțile grupului de cilindri.
Versiune stabilă curentă: 13.x 13 aprilie 2021
  • Utilitățile clang, lld și lldb și bibliotecile compiler-rt, llvm, libunwind și libc ++ au fost actualizate la versiunea 11.0.1.
  • Au fost eliminate binutilele învechite 2.17 și gcc (1) 4.2.1 din copac. Toate arhitecturile acceptate utilizează acum lanțul de instrumente LLVM / clang.
  • Nucleul acceptă acum încadrarea și criptarea in-kernel a datelor Transport Layer Security (TLS) pe soclurile TCP pentru versiunile TLS 1.0 până la 1.3. Transmiterea descărcării prin drivere de criptare în kernel este acceptată pentru suitele de cifrare MtE folosind AES-CBC, precum și pentru suitele de cifrare AEAD folosind AES-GCM. Primiți descărcarea prin drivere de criptare în kernel este acceptată pentru suitele de cifrare AES-GCM pentru TLS 1.2. Folosirea KTLS necesită utilizarea unei biblioteci SSL cu conținut de utilizator KTLS. Biblioteca OpenSSL inclusă în sistemul de bază nu activează implicit suportul KTLS, dar suportul poate fi activat prin construirea cu opțiunea WITH_OPENSSL_KTLS
  • Arhitectura ARM pe 64 de biți cunoscută sub numele de arm64 sau AArch64 este promovată la starea Tier-1 pentru FreeBSD 13.
Versiune Data de lansare Suportat până la Schimbări semnificative

Vezi si

Referințe

Citații

Surse

linkuri externe