FreeBSD

FreeBSD
operativsystem
Oppstartsskjermbilde _
UtviklerFreeBSD-prosjektet
FamilieBSD
Nåværende utgivelse13.1 (16. mai 2022)
Kjernetype _Monolitisk kjerne
Støttede plattformerIA-32 , x86-64 , SPARC , SPARC64 , IA-64 , NEC PC98 , PowerPC , ARM , MIPS
LisenstypeGratis programvare
TillatelseBSD
UtviklingsstadietI produksjon
Nettstedwww.freebsd.org

I informatikk er FreeBSD et gratis Unix [1] operativsystem avledet fra Berkeley Software Distribution ( BSD ) (tilgjengelig for Intel IA-32 , AMD64 , DEC Alpha , IA-64 , NEC PC-9801 , UltraSPARC , PowerPC og andre arkitekturer ) .

Historie

Opprinnelse

FreeBSD-prosjektet (oppkalt etter David Greenman ) oppsto tidlig i 1993 som en utvikling av "Unofficial 386BSD Patchkit" av Nate William , Rod Grimes og Jordan Hubbard . Den første CD-ROM- distribusjonen var FreeBSD 1.0 og dukket opp i desember 1993. Våren 1994 påvirket imidlertid noen utviklinger av en lang juridisk tvist mellom University of Berkeley og Novell også FreeBSD-operativsystemet.

Koden til FreeBSD 1.0 var basert på koden til 386BSD 0.1, som igjen ble avledet fra Net / 2-systemet. Denne koden, som inneholdt deler med AT&T UNIX-opphavsrett, ble senere kjøpt opp av Novell , som hevdet eierskap til den fra University of Berkeley. Faktisk kom de to sidene til enighet fordi mye av koden som BSD hadde hentet fra AT & Ts UNIX hadde blitt omfattende modifisert, om ikke fullstendig omskrevet.

Imidlertid måtte FreeBSD eliminere delene av koden hentet fra det proprietære systemet. Utfordringen var spesielt krevende: mye av koden måtte skrives om. Allerede i november samme år ble imidlertid FreeBSD 2.0 utgitt, en versjon som fortsatt er ganske ustabil, men fri for eierskapsbegrensninger på koden. Andre mellomversjoner av forbedring fulgte: 3.x (oktober 1998 ), 4.x (mars 2000 ), 5.x ( 2003 ) opp til 6.x ( 2005 ), 7.x distribuert 27. februar 2008, den 8. .x av november 2009, 9.2. september 2013 og 10.0.20. januar 2014.

Foundation

FreeBSD-utvikling støttes delvis av "FreeBSD Foundation". Stiftelsen er en ideell organisasjon som tar imot donasjoner. Noen donasjoner er hentet fra utviklersponsoren og brukes til å kjøpe maskinvare og nettverksinfrastruktur, til toppmøter og til juridisk støtte for selve prosjektet. [2]

"FreeBSD License" eller "Simplified BSD License"

FreeBSD-lisens
ForfatterFreeBSD-prosjektet
forleggerOffentlig domene
Publiseringsdato?
Kompatibel med DFSGJepp
Gratis programvareJa [3]
OSI godkjentJa [4]
LPG-kompatibelJa [3]
CopyleftNei [3]
Kobling fra kode under annen lisensJepp

FreeBSD-lisensen med to klausuler ( Free BSD License , som den kalles av Free Software Foundation ) er en forenklet versjon av BSD-lisensen med tre klausuler, som den skiller seg fra i fraværet av ikke-godkjenningsklausulen. Den legger også til en ytterligere ansvarsfraskrivelse angående synspunktene og meningene som er uttrykt i programvaren. FSF erklærer at FreeBSD-lisensen er kompatibel med GPL . FSF oppfordrer også brukere til å være spesifikke når de refererer til lisensen ved navn (f.eks. uten å referere til den bare som en " BSD-lisens " eller som en " BSD-lignende lisens "), slik tilfellet er med den nye/modifiserte BSD-lisensen , for å unngå forvirring med den originale BSD-lisensen.

OSI har ratifisert FreeBSD-lisensen som en åpen kildekode-lisens under navnet "Simplified BSD License". [4] FreeBSD distribueres under flere åpen kildekode-lisenser. Kjernekoden er distribuert under klausul 2 i BSD-lisensen som lar hvem som helst bruke og omdistribuere FreeBSD. Annen kode inkludert i FreeBSD-distribusjonene er under forskjellige lisenser som: GPL , LGPL , ISC eller CDDL . All kode under GPL og CDDL er tydelig atskilt fra den gratis lisensierte koden, noe som gjør det enkelt for alle brukere, for eksempel produsenter av innebygde enheter, å bruke tillatte fri programvarelisenser .

{{#switch: {{{2}}} | nowiki | nw = {{# tag: nowiki | {{{3}}}}} | {{{2}}}}} | mellomrom: -moz -pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; white-space: pre-wrap; word-wrap: break-word; {{{stil |}}} "> {{# bryter: {{{1}}} | nowiki | nw = {{# tag: nowiki | {{{2}}}} } | {{{1}}}}}}}

Andre prosjekter, som NetBSD , bruker en to-klausul lisens som ligner på FreeBSD, men uten den ekstra ansvarsfraskrivelsen. [5]

Beskrivelse

Funksjoner

Det er et operativsystem som hovedsakelig brukes i serversektoren , og dette skyldes stabiliteten og skalerbarheten til nettverksdelen ; stor oppmerksomhet rettes også mot sikkerhetsproblemer, og tre brannmursystemer er for tiden tilgjengelige (IPFW, IPFilter og PF) [6] , integrert i systemet fra og med versjon 6.0: selv om det først og fremst skylder sin berømmelse til dette, kan det være effektivt brukt som et skrivebordsoperativsystem : det er tusenvis av applikasjoner tilgjengelig gjennom portene , det vil si FreeBSD- pakkehåndteringssystemet , og blant dem er nettlesere , integrerte grafiske miljøer , kontorpakker , multimediaspillere, etc.

Portene frigjør brukeren fra problemet med avhengigheter knyttet til pakker , det vil si komplekset av andre programmer og biblioteker som er nødvendige for å sikre riktig funksjon på maskinen til programmet vi installerer; derfor, ved å installere et program gjennom port-treet, vil de mest oppdaterte kildene til selve programmet lastes ned, og ikke dets binære kjørbare , og også de oppdaterte kildene til alle programmene det er avhengig av; så blir programmene rekompilert fra bunnen av på brukerens maskin og installert i de riktige katalogene klare til bruk (en lignende administrasjon har man også i Linux-distribusjonene Gentoo og Arch Linux ).

Nettverk

Protokollstakken er basert på TCP/IP-stakken , men støtter også IPv6 , SCTP , IPSec , IPX , AppleTalk og trådløse nettverk .

Lagring

FreeBSD har flere lagringsrelaterte funksjoner. Myke oppdateringer opprettholder integriteten til filsystemet i tilfelle systemkrasj. GEOM -rammeverket støtter funksjoner som RAID , full diskkryptering og disksammenkobling . Snapshot-filsystemet er en funksjon som lar deg effektivt lage et snapshot-bilde av filsystemet, samtidig som det lar deg gjenopprette systemet fra et levende filsystem. FreeBSD støtter også ZFS [7] filsystemet som et alternativ til det vanlige UFS2 .

Sikkerhet

FreeBSD støtter flere sikkerhetsrelaterte funksjoner som tilgangskontrolllister (ACLs) [8] , hendelsessporing, utvidede filsystemattributter og obligatorisk tilgangskontroll (MAC). Disse funksjonene ble utviklet av TrustedBSD -prosjektet som ble grunnlagt av Robert Watson med sikte på å implementere Common Criteria og TCSEC-konsepter . Dette prosjektet pågår fortsatt, og mange av utvidelsene har blitt integrert i FreeBSD-distribusjonene.

Dette prosjektet tilpasset også National Security Agency sin implementering fra SELinux til FreeBSD. Annet arbeid inkludert i utviklingen av OpenBSM , en åpen kildekodeimplementering av Suns API (BSM) og støtte for loggfilformater, som gir mer sikkerhet til systemet.

Mens mange komponenter av TrustedBSD-prosjektet har blitt inkludert i kildene for FreeBSD, finner mange funksjoner, som nå er fullstendig modne, sin plass i andre operativsystemer, slik som: OpenPAM og UFS2 har blitt tatt i bruk i NetBSD . TrustedBSD MAC-rammeverket har blitt tatt i bruk av Apple for deres macOS -operativsystem .

Kjernen

FreeBSD har en monolittisk kjerne . [9] FreeBSD -kjernen alene (ofte forkortet til kFreeBSD ) brukes av andre distribusjoner , slik som Debian GNU/kFreeBSD . [10]

Portabilitet

FreeBSD har blitt tilpasset en rekke prosessorarkitekturer. FreeBSD-prosjektet organiserer arkitekturer i nivåer som kjennetegner den tiltenkte støtten. Nivå 1-arkitekturer er fullt modne og støttes. Nivå 2 arkitekturer er under utvikling. Nivå 3-arkitekturer er eksperimentelle og har ingen aktiv utvikling, og i tilfelle av nivå 4 har de absolutt ingen støtte.

Linux-kompatibilitet

Linux-kompatibilitetslaget lar deg kjøre 32-biters og 64-biters ELF-filer kompilert for Linux. Det er vanligvis ingen signifikante ytelsesfall sammenlignet med en innfødt utførelse. Ulike programmer kompilert for Linux er inkludert og vedlikeholdt i portsamlingen. For å utføre sistnevnte, er det nødvendig å installere noen kjernemoduler (blant annet nødvendig for installasjon av kjernemodulen til NVIDIA-driveren) og et grunnleggende Linux-system (på tidspunktet for FreeBSD 11.0-RELEASE brukes binærfilene av CentOS 6.x). [11]

Installer

Port og pakke

FreeBSD Ports and Packages Collection tilbyr en enkel og konsistent måte å installere forhåndskompilerte applikasjoner på når det gjelder pakker og selvkompilering når det gjelder porter , en meget veletablert og nyttig mekanisme for brukere og administratorer og på noen måter , lik den som brukes av Debian -distribusjonen av Gnu / Linux-systemet. Det er for tiden flere tusen porter tilgjengelig.

Ports Collection støtter den siste utgivelsen av FreeBSD-CURRENT og FreeBSD-STABLE grenene. Tidligere utgivelser støttes ikke og fungerer kanskje ikke ordentlig med en oppdatert samling av porter. Over tid kan endringer i portsamlingen være avhengig av funksjoner som ikke finnes i eldre utgivelser. Når det er mulig, prøver vi å ikke bryte støtten for nylige utgivelser, men noen ganger er dette ikke mulig. Når dette skjer, blir patcher sendt inn av brukerfellesskapet for å opprettholde støtte for eldre utgivelser vanligvis akseptert.

Hver port som er oppført inneholder alle patchene som trengs for å gjøre den originale applikasjonens kildekodekompilatoren og kjørbar under FreeBSD. Det er enkelt å installere en applikasjon: bare last ned porten, pakk den ut og skriv inn make i portkatalogen. Den mest praktiske (og vanlige) metoden er imidlertid å laste ned rammeverket for hele listen over porter, installere hele hierarkiet av porter under FreeBSD-installasjonen, slik at du har tusenvis av applikasjoner klare til å bli installert; ved å bla gjennom porttreet til du kommer til ønsket kildekode, kan du enkelt kompilere den med kommandoen:

gjøre installasjonen ren

Makefilen til hver port laster automatisk ned applikasjonens kildekode, enten den finnes på en lokal disk, på en CD-ROM eller på et FTP-sted. Koden pakkes ut på systemet, patcher påføres og kompileres til slutt. Hvis den aktuelle porten tillater det, kan en foreløpig konfigurasjonsprosedyre utføres. Hvis alt gikk bra, vil en enkel make-installasjon installere applikasjonen og registrere den i pakkesystemet.

For de fleste porter finnes det også en forhåndskompilert pakke, som sparer brukeren for arbeidet med å kompilere alt. Installasjon av en ekstern pakke kan gjøres ved å bruke følgende kommando:

pkg_add -r pakkenavn

Prosedyren er ansvarlig på en transparent måte å koble eksternt over internett til serveren som inneholder pakken og laste den ned ved å installere og registrere den. Dette er åpenbart den forhåndskompilerte binære filen som ikke representerer den nyeste versjonen av kilden eller ad hoc -versjonen som er tilgjengelig med kompileringen, men det er fortsatt en god metode for å få applikasjonen raskt installert og kjørende, uten spesifikk kunnskap og uten ytterligere forhånds- prosedyrer eller etter installasjon.

Ports and Packages Collection er utvilsomt en av spydspissene som skiller alle BSD-operativsystemer generelt, som alltid forblir tett knyttet mellom programvare og operativsystem samtidig som de opprettholder en konsistens og soliditet som ikke finnes i andre systemer, og i spesielt FreeBSD er det eneste miljøet. som uttrykker og utvider denne funksjonen på en mest mulig komplett, transparent og brukervennlig måte.

Port

Portadministrasjonen lar deg lokalt laste ned porttreet , oppdatert til ønsket versjon, av all programvare som vedlikeholdes for FreeBSD. Til å begynne med inneholder hver enkelt katalog i det lokale treet en beskrivelse av programvaren og en Makefile. Porter kan installeres ved å kjøre make i din egen katalog, eller ved å bruke programvare for portadministrasjon, for eksempel portmaster eller poudriere (sistnevnte tillater opprettelse og vedlikehold av et depot, og er en av de foretrukne tilnærmingene for erfarne brukere, spesielt for å bruke fengsler på kompileringstidspunktet) .

Pakke

For mange porter er det forhåndskompilerte binærfiler som allerede eksisterer. Denne metoden er veldig rask og unngår kompileringsprosessen, men i dette tilfellet kan ikke brukere konfigurere kompileringstidsalternativene. Men selv om det generelt ikke anbefales, er det mulig å opprettholde et hybridsystem med forhåndskompilerte pakker og porter kompilert lokalt.

Porter og pakkeadministrasjonsverktøy

Det er mange verktøy tilgjengelig for programvareadministrasjon både under GUIs grafiske grensesnitt og under CLIs kommandolinje , og de er følgende:

Utvikling

FreeBSD-kommittere distribuerer systemet med jevne mellomrom. Den offisielle utgivelsen skjer med RELEASE-versjonen, som etterfølger RELEASE CANDIDATES, eller RC n (med n = 1 til 3). Fasen som pågår er representert av STABLE-versjonen som inkluderer innovasjonene som allerede er godkjent i en ganske stabil utgivelse dedikert til betatestere og utviklere, mens den AKTUELLE versjonen er det virkelige arbeidet som pågår , ofte ustabilt, som igjen kan syntetiseres med midlertidige øyeblikksbilder som fryser kodesituasjonen på et bestemt tidspunkt.

Versjoner

Avledede systemer

Følgende prosjekter er avledet fra FreeBSD-operativsystemet, som noen ganger er ekte gafler og andre ganger ligner de på distribusjonene til Gnu/Linux- verdenen ; disse er:

DESKTOP :

MINIMALER :

LIVE :

AD HOC :

GAFLER :

Spillkonsoll OS :

Merknader

  1. ^ DistroWatch, DistroWatch.com: FreeBSD , på distrowatch.com . Hentet 20. juni 2018 .
  2. ^ Om FreeBSD Foundation , på freebsdfoundation.org , The FreeBSD Foundation. Hentet 6. september 2009 (arkivert fra originalen 28. mars 2010) .
  3. ^ a b c Ulike lisenser og kommentarer om dem - GNU Project - Free Software Foundation (FSF): FreeBSD-lisens , su gnu.org , Free Software Foundation. Hentet 21. januar 2013 .
  4. ^ a b Open Source Initiative OSI - The BSD License: Licensing , på opensource.org , Open Source Initiative. Hentet 21. januar 2013 ( arkivert 29. november 2009) .
  5. ^ NetBSD Licensing and Redistribution , på netbsd.org , The NetBSD Foundation. Hentet 21. januar 2013 .
  6. ^ Kapittel 30. Brannmurer , på freebsd.org . Hentet 20. juni 2018 .
  7. ^ Pawel Jakub Dawidek, ZFS forpliktet til FreeBSD-basen. , på lists.freebsd.org , fre 6. apr 02:58:34 UTC 2007. Hentet 20. juni 2018 .
  8. ^ 13.9. Tilgangskontrolllister , på freebsd.org . Hentet 20. juni 2018 .
  9. ^ Konfigurere FreeBSD - kjernen , på freebsd.org . Hentet 25. november 2016 .
  10. ^ Hva står ' k' i "kFreeBSD" for ? , på wiki.debian.org . Hentet 25. november 2016 .
  11. ^ Linux®-emulering i FreeBSD , på freebsd.org . Hentet 13. oktober 2017 .

Relaterte elementer

Andre prosjekter

Eksterne lenker