BSD current, release, stable og security

Posted on 23.05.2005 by Kim N. Lesmer.
Dette er en kort beskrivelse af forskellen imellem current, release og stable versioner på OpenBSD, FreeBSD og NetBSD.

I både OpenBSD, FreeBSD samt NetBSD skelner man imellem forskellige udgaver af operativsystemet.

Current

Current er den version der bliver arbejdet på her og nu. Det er udviklingsudgaven, det er det sidste nye. Current står aldrig stille, og der ændres på den dagligt. Hver dag tages der det der hedder et snapshot. Ordet "snapshot" beskriver faktisk sig selv meget godt, fordi det er et "stilbillede" af al kildekoden. Et snapshot fra i dag, sammenlignet med et snapshot fra i går, indholder alle dagens og nattens ændringer.

Current inderholder det seneste arbejde under udvikling, eksperimentel kode, gennemgående ændringer, ting der måske, og måske ikke, forbliver i systemet.

Hvem bruger typisk current? Udviklerne selv, dem der tester for fejl, og dem der godt kan lide at holde øje med hvad der foregår, og som ofte selv indsender fejlrettelser.

Current kan ikke anbefales med mindre at man er en del af det pågældende "community", eller hvis man for sjov vil rode med det sidste nye - dog med forbehold for at systemet måske slet ikke fungerer rigtigt.

I FreeBSD's handbook står der:

Being the first on the block to get the new feature means that you are the first on the block to get the new bugs.

Stable

Stable er også en udviklingsudgave dog med den forskel fra current at stable udgaven er current plus grundig test og fejlrettelser, sikkerhedsrettelser såvel som andre rettelser. Stable udgaven er trods navnet ikke den udgave man skal køre med i et BSD system.

Release

Hvert halve år fryses udviklingen af kildekoden. Stable udgaven, der som nævnt er current påført fejlrettelser og sikkerhedsrettelser m.v., er blevet gennemtestet, og er nået til en tilstand, hvor den skal frigives. Når denne udgave af stable er klar til frigivelse ændre den navn til release, og får derefter påført et versions nummer. Derefter udgives den.

Security

Man må ikke tro at det er nødvendigt at køre med stable udgaven for at sikre at man har de seneste sikkerhedsrettelser. Alle nødvendige og alvorlige rettelser bliver indført i alle tre udgaver. De sikkerhedsrettelser der bliver indført i current og stable, bliver også, hvis det er nødvendigt, udgivet til seneste release udgave. Når release udgaven er patched med sikkerhedsopdateringer skifter den navn og bliver herefter kaldt "security".

I både OpenBSD, FreeBSD og NetBSD udgiver man rettelser to numre bagud. Dvs. hvis nuværende release af OpenBSD er 3.9, og der findes en eller anden bug, så udgives der en patch til 3.8 og 3.9. FreeBSD vælger i nogle tilfælde at gå endnu længere tilbage, og giver så en bestemt release en udvidet opdateringsunderstøttelse. På nuværende tidspunkt er der versioner helt tilbage til 4.10, men det betyder ikke at alle versioner fejlrettes. Det er udvalgte releases, hvor f.eks. 4.10 er en af dem.

Når en version af release i FreeBSD har fået en opdatering bliver release versionen påført et "p" for patch. F.eks. FreeBSD 4.10-RELEASE-p5, hvor P5 står for den femte opdatering.

Packages og Ports

Hvad angår sikkerhedsopdateringer, og andre opdateringer nævnt i dette indlæg, så omhandler det udelukkende basissystemet.

Når der kommer til opdateringer til ports og packages, der er tredjeparts pakker, så har de deres egen fremgangsmåde.

Både FreeBSD og NetBSD har programmet portaudit, der automatisk kan checke samtlige pakker og ports som man har installeret på maskinen.

På OpenBSD skal man selv holde øje med opdateringer til de pakker, som man har installeret. Et andet "program" til FreeBSD er programmet portcheck, som jeg selv har udviklet. Portcheck er et program der først opdaterer hele ports træet, derefter checker den for opdateringer til pakkerne, og sidst men ikke mindst, checker den for sikkerhedsopdateringer til pakkerne.

Links

FreeBSD's errata side

OpenBSD's errata side

NetBSD's security side