Software-update: OpenBSD 6.7

OpenBSD logo (75 pix) De nieuwe halfjaarlijkse release van OpenBSD is uitgekomen. Op deze pagina is een uitgebreide lijst van ftp- en http-downloadlocaties te vinden. OpenBSD stamt af van de originele Berkeley Software Distribution en heeft als kenmerk dat de ontwikkelaars alleen opensourcesoftware willen gebruiken. Verder staat het besturingssysteem bekend om zijn uitstekende documentatie en veiligheid. Uitgebreide releasenotes kunnen op deze pagina worden gevonden; hieronder is een overzicht te vinden van de belangrijkste verbeteringen:

General improvements and bugfixes:
  • Reduced the minimum allowed number of chunks in a CONCAT volume from 2 to 1, increasing the number of volumes which can be created on a single disk with bioctl(8) from 7 to 15. This can be used to create more partitions than previously.
  • Rewrote the cron(8) flag-parsing code to be getopt-like, allowing tight formations like -ns and flag repetition. Renamed the "options" field in crontab(5) to "flags".
  • Added crontab(5) -s flag to the command field, indicating that only a single instance of the job should run concurrently.
  • Added cron(8) support for random time values using the ~ operator.
  • Allowed cwm(1) configuration of window size based on percentage of the master window during horizontal and vertical tiling actions.
  • Allowed use of window-htile and window-vtile with the "empty" group clients in cwm(1).
  • Switched powerpc to a machine-independent mplock implementation, allowing use of witness(4).
  • Added acpi(4) support for the _CCA method, indicating whether DMA is cache-coherent.
  • Switched the default compiler on powerpc to clang.
  • Bumped nvme(4) max physio() i/o size to 128K.
  • Improved apmd(8) support for automatic suspend/hibernate (-z/-Z). The daemon now reacts to power changes messages sent by the battery driver. Those messages are ignored for 60 seconds after a resume, so that the user can take control before the machine goes back to sleep.
  • Prevented a kernel hang when no unlocked ffs_softdep worklist items could be processed.
  • Stopped counting pages mapped as PROT_NONE against the RLIMIT_DATA limit, helping code which reserves large chunks of address space but populates it sparsely.
  • Added the $REQUEST_SCHEME variable to httpd.conf(5), allowing preservation of the original connection type (http or https) for redirect locations
  • Implemented "strip" option in httpd.conf(5) for fastcgi to be able to have multiple chroots under /var/www for FastCGI servers.
  • Changed httpd(8) to send a 408 response when a timeout happens while headers are being received, but close the connection if no request is received.
  • Updated en_US.UTF-8.src to Unicode 12.1.
  • Added a new __tmpfd system call which creates a new, unnamed file in /tmp, intended for shm/fd passing, but in programs that may otherwise lack filesystem access (due to restrictions imposed by unveil(2) or pledge(2)).
  • Imported dt(4), a driver and framework for Dynamic Profiling, and an accompanying bug tracer that speaks the dt(5) language.
  • Added a human-readable mode (-h) to systat(1).
  • Implemented scrolling in top(1) using the 9 and 0 keys.
  • Added timeout_set_flags(9) and TIMEOUT_INITIALIZER_FLAGS(9) to the timeout API, allowing the caller to initialize timeouts with arbitrary flags.
  • Introduced TIMEOUT_SCHEDULED flag and tos_scheduled statistic to timeout(9).
  • Switched to tickless backend in timeout(9), adding new interface timeout_add_ts(9) to avoid backwardly compatible behavior.
  • Added the system clock interface nanoboottime(9), returning the UTC time at which the system booted in seconds and nanoseconds.
  • Introduced efficient page freeing in reverse order from uvm, greatly improving cases of massive page freeing.
  • Added uvm_objfree to uvm to efficiently free all pages from a uvm object, used in the buffer cache for considerable speedup when freeing pages.
  • Modified buffer cache to use individual uvm_objs per buffer to speed page lookups.
  • Speed up sort(1) by not performing a top-level sort when -c is used with a -k field.
  • Modified -z mode verification in signify(1) to save the header and output it, so signify -zV >saved.tgz will keep the signature for later checks.
  • Enabled DNSSEC validation in unbound(8) by default.
  • ntpd(8) now does constraint validation against 9.9.9.9 and 2620:fe::fe by default.
  • Fixed arp(4) issues created by dhclient(8) modifying existing routes.
  • Fixed resolv.conf(5) handling by dhclient(8) when an interface loses link.
  • Restored previous dhclient(8) behaviour of rejecting leases that lack a subnet mask.
  • Enabled dhclient(8) to configure carp(4) interfaces.
  • Fixed dhclient(8) releasing leases without a server identifier.
  • Improved dhclient(8) NAK handling in various corner cases.
  • Fixed dhclient(8) endlessly sending REQUEST messages when an ACK is never received.
  • Prevented dhcpd(8) from referencing freed memory when releasing a lease with an unusually long uid.
  • Corrected parsing of classless static default route "0/0" in dhcpd.conf(5).
  • Increased to 15 the number of softraid(4) CONCAT volumes that can be created on a single disk.
  • Fixed softraid(4) CRYPTO volumes on 4K-sector disks.

OpenBSD screenshot (620 pix)

Versienummer 6.7
Releasestatus Final
Besturingssystemen BSD
Website OpenBSD
Download https://www.openbsd.org/faq/faq4.html#Download
Licentietype Voorwaarden (GNU/BSD/etc.)

Door Bart van Klaveren

Downloads en Best Buy Guide

19-05-2020 • 20:44

11

Submitter: jurroen

Bron: OpenBSD

Update-historie

28-04 OpenBSD 7.7 0
10-'24 OpenBSD 7.6 20
04-'24 OpenBSD 7.5 6
10-'23 OpenBSD 7.4 6
04-'23 OpenBSD 7.3 34
10-'22 OpenBSD 7.2 12
04-'22 OpenBSD 7.1 9
10-'21 OpenBSD 7.0 11
05-'21 OpenBSD 6.9 40
10-'20 OpenBSD 6.8 0
Meer historie

Reacties (11)

11
11
5
2
1
3
Wijzig sortering
De gehele lijst aan veranderingen is lang. Wat ik zelf erg toffe wijzigingen vind:

Cron

Met een tilde, ~, kun je een random tijd instellen. Bijvoorbeeld:
~ 4 * * * /usr/local/bin/script
Zorgt ervoor dat het ergens 's nachts wordt uitgevoerd. En met -s voor het commando, dus bijvoorbeeld:
~ 4 * * * -s /usr/local/bin/script
Kun je aangeven dat er maar één gelijktijdige mag draaien.

Raspberry Pi

Met 6.7 wordt ook de Raspberry Pi 4 ondersteund (arm64), samen met verbeterde ondersteuning voor de Raspberry Pi 3 en 2, de Pinebook, etc.

Beveiliging
  • Unveil bevat nu support voor meer applicaties
  • Bescherming tegen spectre-achtige aanvallen op ARM processoren
  • Client-side TLSv1.3, de serverside zit reeds in -current maar heeft deze release helaas net niet gehaald
En nog veel meer - check de releasepagina voor alle details!

edit: blijkbaar zijn code-tags niet supported, dus in quotes gezet

[Reactie gewijzigd door jurroen op 25 juli 2024 02:00]

"OpenBSD stamt af van de originele Berkeley Software Distribution"

Eerder een afstamming van de open sourced versie 4.4BSD-Lite Release 2,

De officiele Berkeley Software Distribution software werd/is/was bekend als BSD/OS: een commercieel unix wat na i386bsd bij o.a. idg (webwereld), stack (een paar hobbymachines), nlnet (name- en shellservers als ik mij niet vergis), xs4all, Tunix en ook knoware (mail, dns, shell servers, ze waren ook een distributeur in Nederland) werd gebruikt. Na versie 4.3 ging het fout bij het bedrijf door hoger management, men bracht nog net een versie 5.0 internet server editie en een beta 5.1 onder de vlag bij windriver uit alvorens daar de kaars werd uitgeblazen.

Grote kudos overigens voor Theo de Raadt !
Ik heb nooit begrepen waarom iemand een BSD-style licentie zou willen gebruiken.
Je stopt energie en tijd (dus geld) in iets en dan geef je anderen de mogelijkheid
om de dingen te veranderen en het dan als closed-source produkt te verkopen.

Persoonlijk ben ik voorstander van een copy-left licentie zoals de GPL.
Wil je modificaties aanbrengen en het daarna verspreiden? Dan moet je ook
de modificaties (in sourcecode) verspreiden (aan dezelfde ontvangers als waar je
het aan verspreidt).
Da's het mooie van die licenties naast elkaar. Je pakt degene waar je je het beste bij voelt. :) Ik vind persoonlijk de WTFPL licentie wel charmant.
Over het waarom van een bsd licentie: Vraag het aan de gebruikers, zoals Apple.

Volgens mij is een voordeel van bsd dat je zelf toegang krijgt tot zo ongeveer alles maar je hoeft niets door te geven of terug te geven en je kan/mag het zelf als gesloten door verkopen.

Een voordeel van bsd ten opzichte van linux is dat een bsd zich wel echt unix kan/mag noemen.

En dan is er natuurlijk nog de kwaliteit van bsd. Zie daarvoor de redenen van de verschillende bsd implementaties, elk hun eigen kwaliteit en elk net weer anders dan de diverse unix en linux implementaties.
Ik heb altijd BSD willen draaien voor een website die ik thuis host omdat ik altijd het gevoel had dat dit het veiligste besturingsysteem is ter wereld :-). Maar ik ben er nooit toe gekomen :-)
Als je een middagje vrij hebt, installeer het eens :) Ik draai het op laptops, workstation, servers, routers en firewalls.

Afhankelijk van je technische kennis en kunde kan het de eerste keer even wat uitzoeken zijn. Voel je vrij om mij te DM'en als je vragen hebt, hoe simpel ze ook lijken te zijn!
Hallo Jurroen, draai je openbsd of feebsd ? Zijn wel wat verschillen als ik wat lees op reddit.
Ik gebruik zelf voornamelijk OpenBSD. De BSDs zijn geen "distributies", maar volwaardige en losse besturingssystemen, hoewel er wel wat overeenkomsten zijn.

In tegenstelling tot Linux zijn de kernels wel verschillend. En of je nu OpenBSD, FreeBSD of een andere pakt - voor een simpele webserver, is ook een stukje persoonlijke voorkeur :)

[Reactie gewijzigd door jurroen op 25 juli 2024 02:00]

En overigens verschillen OpenBSD behoorlijk van FreeBSD en is er volgens mij eigenlijk niets uitwisselbaar.
Klopt, er zitten flinke verschillen tussen de BSD's, dus ook tussen OpenBSD en FreeBSD (en HardenedBSD). Wellicht belangrijk om te weten voor een simpele webserver:

Configuratiefiles

• Bij OpenBSD zitten de meeste configuratiefiles in /etc en de voorbeelden in /etc/examples.
• Bij FreeBSD zitten alleen een paar kernfiles in /etc, de rest zit in /usr/local/etc.

Packages

• Bij OpenBSD gebruik je pkg_add, pkg_delete, pkg_info enzovoorts voor package management. Installeren van nginx is bijvoorbeeld pkg_add nginx.
• Bij FreeBSD is dit de pkg tool. Op nieuwe installaties dien je dit eerst te bootstrappen, dat is vrij eenvoudig met pkg update, waarna je de prompt krijgt of je wilt bootstrappen. Installeren van nginx doe je met pkg install nginx.

Services

• Op OpenBSD, als je een service zoals nginx geinstalleerd hebt, schakel je deze in met rcctl enable nginx en start je deze vervolgens met rcctl start nginx.
• Op FreeBSD schakel je een service na installatie in met sysrc nginx_enable="YES". Starten is vervolgens een kwestie van service nginx start.

Defaults

• OpenBSD is wat conservatiever met defaults. Zeker als je een server hebt met SSD (SATA, SAS of M.2) kun je het beste de noatime en softdep opties meegeven voor de filesystems. Dit doe je met sed -i 's/rw,noatime,softdep/g' /etc/fstab. Verdere resources kun je definieren in /etc/login.conf. En lees bij packages zoals een database server de readme in /usr/local/share/doc/pkg-readmes/[naam].
• Op FreeBSD zijn de standaard resources veel minder conservatief en kun je veelal met de defaults uit de voeten. Maar, als je ZFS gebruikt in plaats van de default UFS wil je wellicht wel wat filesystem tweaken. Ars Technica heeft uitgebreide guides hoe je dit doet.

Meer informatie

Op zowel OpenBSD als FreeBSD zijn de manpages een heel goed begin voor meer informatie. Hier heeft OpenBSD een groot voordeel, ze hebben een hele sterke focus op goede documentatie. Fouten in de documentatie ziet het project dan ook als bugs.

Natuurlijk zijn er de mailinglijsten, subreddits en uitgebreide documentatie door users. En beide OS'en kennen ook IRC kanalen. Over het algemeen wordt wel verwacht dat je zelf wat research doet voor je een vraag stelt, dat maakt het ook makkelijker om je te helpen. En neemt een deel van de triviale vragen weg voor de supporters :)

Op dit item kan niet meer gereageerd worden.