9.1 - Tips voor gebruikers van andere Unix-achtige besturingssystemen
Hoewel OpenBSD een heel traditioneel Unix-achtig besturingssysteem is
en heel bekend voorkomt voor hen die andere Unix-achtige besturingssystemen
gebruikt hebben, zijn er toch belangrijke verschillen.
Nieuwe gebruikers van OpenBSD moeten kijken naar hun eigen ervaring:
als uw enige kennis van Unix enige ervaring is met een variant van Linux,
dan vindt u OpenBSD misschien "vreemd".
Wees gerust, Linux ziet er vrij vreemd uit voor iemand die start met
OpenBSD.
U moet het verschil onderkennen tussen "standaard" en uw ervaring.
Als u Unix hebt geleerd van eender welk goed
boek over algemene Unix, de "Unix filosofie" begrijpt en vervolgens
uw kennis hebt uitgebreid tot een bepaald platform, zal u OpenBSD een
heel "getrouwe" en bekende Unix vinden.
Als u Unix heeft geleerd door een "typ dit om dat te doen" proces of een
boek zoals "Leer PinkBeenie v8.3 in 31.4 Uren", en uzelf gezegd hebt dat u
"Unix kent", dan zult u OpenBSD waarschijnlijk heel verschillend vinden.
Een belangrijk verschil tussen OpenBSD en veel andere besturingssystemen
is de documentatie. OpenBSD ontwikkelaars zijn erg trots op de systeem
man pagina's.
De man pagina's zijn de gezaghebbende bron van OpenBSD documentatie
-- niet deze FAQ, niet third-party onafhankelijk onderhouden pagina's,
niet "HOWTO"s, of wat dan ook.
Wanneer een ontwikkelaar een wijziging aanbrengt in het systeem, wordt
van hem verwacht dat hij de man pagina's aanpast samen met zijn verandering
aan de systeemcode, niet "later" of "wanneer hij er eens tijd voor heeft"
of "wanneer iemand klaagt". Een manual pagina bestaat voor nagenoeg elk
programma, utility, driver, configuratiebestand enzoverder op het stock
systeem.
Er wordt verwacht dat een gebruiker de man pagina's bekijkt alvorens
om hulp te vragen op de mailinglijsten.
Hier zijn enkele van de vaak geziene verschillen tussen OpenBSD
en andere Unix varianten.
OpenBSD is een vrij zuivere "BSD-Style" Unix, die het 4.4BSD
ontwerp vrij strict volgt.
Linux en SCO Unix zijn "System V" style systemen.
Sommige Unix-achtige besturingssystemen (waaronder enkele Linux distributies)
vermengen veel SysV en BSD eigenschappen.
Een veel voorkomende plaats waar dit verwarring zaait is in de
startup scripts, OpenBSD gebruikt de
traditionele BSD4.4-style
rc(8)
stijl.
OpenBSD is een compleet systeem, bedoeld om in sync gehouden te
worden.
Het is niet een "Kernel plus utilities" die los van elkaar kunnen
opgewaardeerd worden.
Verzuimen om uw systeem (kernel, user utilities, en applicaties)
in sync te houden, brengt met zich meer dat er nare dingen zullen gebeuren.
Aangezien veel applicaties niet ontwikkeld worden om meteen te
compileren en te draaien in een OpenBSD omgeving, heeft OpenBSD een
ports tree, een systeem waarmee gebruikers
makkelijk code kunnen bekomen, deze patchen voor OpenBSD, dependencies
installeren, het compileren, het installeren en verwijderen op een
gestandaardiseerde en onderhoudbare manier.
Voorgecompileerde packages worden aangemaakt
en verspreid door het OpenBSD ports team.
Gebruikers worden aangemoedigd om deze
packages te gebruiken, veeleer dan ze zelf te compileren.
OpenBSD gebruikt CVS om wijzigingen in de broncode bij te houden.
OpenBSD deed pionierswerk met anonymous CVS, dat
gelijk wie toelaat om de volledige source tree uit te pakken voor gelijk
welke versie van OpenBSD (vanaf 2.0 tot current, en alle revisies van alle
bestanden tussenin) op gelijk welk moment, en u kan al toegang hebben tot
de meest recente wijzigingen binnen enkele uren na de toevoeging ervan.
Er is ook een heel handige en gebruiksvriendelijke
web interface voor
CVS.
OpenBSD produceert een officiлle release beschikbaar op CD en via FTP elke zes
maanden volgens een voorafbepaald schema.
Snapshots voor alle ondersteunde platformen worden min of meer regelmatig
gemaakt met de current code in ontwikkeling.
Het is de bedoeling dat ten allen tijde de source volledig bouwbaar
gehouden wordt en het resulterende systeem bruikbaar.
De tree wordt nu en dan gebroken, maar dit is eerder uitzonderlijk en
wordt snel gecorrigeerd, zeker niet iets dat mag blijven duren.
OpenBSD bevat sterke cryptografie,
die in sommige landen niet in besturingssystemen mag vervat worden.
OpenBSD is door een zware en continue beveiligingscontrole gegaan om de
kwaliteit (en dus, veiligheid) van de code te verzekeren.
OpenBSD's kernel is /bsd.
De namen van de harde schijven zijn gewoonlijk /dev/wd (IDE) en
/dev/sd (SCSI of apparaten die SCSI schijven emuleren).
/sbin/route
zonder argumenten geeft in Linux de status van alle actieve routes, onder
OpenBSD (en vele andere besturingssystemen) hebt u de "show"
parameter nodig, ofwel doet u
"netstat -r".
OpenBSD ondersteunt GEEN Journaling Filesystems zoals ReiserFS, IBM's
JFS of SGI's XFS.
In plaats daarvan gebruiken we de
Soft Updates functionaliteit
van het reeds heel robuuste Unix Fast File System (FFS) om de doelstellingen
van prestatie en stabilieit te bereiken.
Bij OpenBSD zit Packet Filter (PF),
niet ipfw, ipchains, netfilter, iptables, of ipf. Dit betekent dat
Network Address Translation (bekend als IP-Masquerading in Linux),
queuing, en filtering gebeurt met
pfctl(8),
pf(4), en
pf.conf(5).
Kijk naar de PF Gebruikersgids voor
gedetailleerde configuratie informatie.
Interface adres wordt bewaard in
/etc/hostname.<interfacename>
(bijvoorbeeld, /etc/hostname.dc0 voor een NIC die de
dc(4)
driver gebruikt).
Het kan een hostname (omgezet in
/etc/hosts)
bevatten in plaats van een IP adres.
OpenBSD's standaard gebruiker-shell is
/bin/ksh,
dat is pdksh, de
Public Domain Korn shell.
Andere opgenomen shells zijn
csh
en
sh.
Shells zoals bash en tcsh kunnen toegevoegd worden als
packages of geпnstalleerd vanuit
ports.
Gebruikers bekend met bash worden aangemoedigd om
ksh(1) te proberen alvorens bash op hun
systeem te laden -- het doet wat veel mensen van bash verwachten.
Wachtwoordenbeheer op OpenBSD verschilt van wachtwoordenbeheer
op enkele andere Unix-achtige besturingssystemen.
De eigenlijke wachtwoorden worden bewaard in het bestand
master.passwd(5)
dat alleen leesbaar is voor root.
Dit bestand mag alleen gewijzigd worden met het programma
vipw.
Devices worden benoemd per driver, niet per type. Er zijn bijvoorbeeld
geen eth* devices. Het zou ne0 zijn voor een NE2000 Ethernet kaart, en xl0
voor een 3Com Etherlink XL of een Fast Etherlink XL Ethernet device, enz.
Al deze drivers hebben man pagina's in sectie 4.
Dus, om meer informatie te vinden over de boodschappen die uw 3c905 driver
weergeeft, kan u
"man
4 xl" uitvoeren.
OpenBSD/i386, amd64 en verscheidene andere platformen gebruiken een
"tweelaags" schijfpartitioneringssysteem, waarbij de eerste laag de voor
het BIOS zichtbare
fdisk partitie vormt, bekend voor de meeste
gebruikers van IBM compatibele computers.
De tweede laag is het disklabel,
een traditioneel BSD partitioneringssysteem.
OpenBSD ondersteunt tot 15 disklabel partities op een schijf, die allemaal
in een fdisk partitie zitten.
Dit laat toe dat OpenBSD samenleeft met andere besturingssystemen,
inclusief andere Unix-achtige besturingssystemen.
OpenBSD moet op ййn van de vier "primary" partities staan.
Sommige andere besturingssystemen moedigen u aan om uw kernel aan te
passen voor uw machine.
OpenBSD gebruikers worden aangemoedigd om
eenvoudigweg de standaard GENERIC kernel te gebruiken, die voorzien
en getest wordt door de ontwikkelaars.
Gebruikers die proberen hun kernel "aan te passen" of "te optimaliseren"
veroorzaken gewoonlijk veel meer problemen dan ze oplossen, en zullen
niet ondersteund worden door de ontwikkelaars.
OpenBSD werkt hard om het licentiebeleid
en de veiligheid van het project
te behouden.
Om deze reden zijn sommige nieuwere versies van sommige software,
die niet beantwoorden aan de licentie of beveiligingsdoelstellingen
van het project, niet geintegreerd in OpenBSD en zullen dat misschien
ook nooit worden.
Veiligheid en vrije licentie zal nooit ondergeschikt worden aan het
hoogste versienummer hebben.
9.3 - Uw Linux (of andere Sixth Edition-stijl) wachtwoordbestand omzetten
naar BSD-stijl
Controleer eerst en vooral of uw Linux wachtwoordbestand "shadowed" is of niet.
Zo ja, installeer dan
John the Ripper via
packages of ports (security/john) en
gebruik het unshadow programma dat erbij zit om uw
passwd en shadow files samen te voegen in een
Sixth Edition-stijl bestand.
In uw Linux wachtwoordbestand, dat we linux_passwd zullen noemen, moet
u ::0:0 toevoegen tussen het vierde en zevende veld.
awk(1)
doet dit voor u.
Op dit punt kan u best de new_passwd file bewerken en de root
en andere systeem entries die al aanwezig zijn in uw OpenBSD wachtwoordbestand
of niet van toepassing zijn op OpenBSD (allemaal), er uit verwijderen.
Zorg er ook voor dat er geen dubbele gebruikersnamen of user ID's zitten
tussen new_passwd en de /etc/passwd van uw OpenBSD
machine. De gemakkelijkste manier om dit te doen is om met een verse
/etc/passwd van start te gaan.
De laatste stap, pwd_mkdb is nodig om de /etc/spwd.db en
/etc/pwd.db bestanden opnieuw te maken. Dit maakt ook een Sixth Edition-stijl
wachtwoordbestand (zonder vercijferde paswoorden) in /etc/passwd voor
programma's die het gebruiken. OpenBSD gebruikt een sterkere vercijfering voor
paswoorden, blowfish, dat heel onwaarschijnlijk is om gevonden te worden op
eender welk systeem dat gebruik maakt van volle Sixth Edition-stijl
wachtwoordbestanden. Om naar deze sterkere vercijfering over te schakelen,
laat u gewoon de gebruikers 'passwd' uitvoeren en hun paswoord veranderen.
Het nieuwe paswoord dat ze invoeren zal met uw standaardinstelling
vercijferd worden (gewoonlijk blowfish tenzij u /etc/login.conf hebt
aangepast). Of, als root, kan u passwd username
uitvoeren.
9.4 - Linux binaries draaien op OpenBSD
OpenBSD/i386 kan Linux binaries draaien wanneer de kernel gecompileerd werd
met de COMPAT_LINUX optie en de runtime sysctl kern.emul.linux ook gezet is.
Als u de GENERIC kernel gebruikt (zoals u zou moeten doen), dan is
COMPAT_LINUX al ingeschakeld en moet u enkel:
# sysctl kern.emul.linux=1
Opdat dit automatisch zou gebeuren telkens als de computer start,
verwijdert u het # (commentaar) teken aan het begin van de lijn
#kern.emul.linux=1 # enable running Linux binaries
in /etc/sysctl.conf, zodat deze er als volgt uitziet
kern.emul.linux=1 # enable running Linux binaries
en herstart uw systeem om het in werking te laten treden.
Om gelijk welke Linux binaries te draaien die niet statisch gelinkt zijn
(het merendeel), moet u de instructies op de
compat_linux(8)
manual pagina volgen.
Een eenvoudige manier om de meeste nuttige Linux libraries te bekomen
is het installeren van de fedora/base package vanaf uw meest nabije
FTP mirror.
Om meer te weten te komen over het packages en ports systeem leest u
FAQ 15 - Het OpenBSD Packages en Ports Systeem.
Om de hierboven vermelde package te installeren zou u het volgende ingeven:
Merk op dat
pkg_add(1)
automatisch sysctl zal uitvoeren om kern.emul.linux op de juiste waarde in
te stellen bij het toevoegen van deze package.
Het verandert echter niets aan /etc/sysctl.conf, dus als u wenst
dat Linux emulatie standaard ingeschakeld is, moet u kern.emul.linux daar
wijzigen.
9.5 - Toegang tot uw Linux bestanden vanuit OpenBSD
OpenBSD ondersteunt het EXT2FS bestandssysteem.
Voor meer informatie, zie FAQ 14.