OpenBSD paigaldamine
Sisukord
- 1 OpenBSD
- 2 Operatsioonisüsteemi paigaldamine
- 3 Binaarsete pakettide haldus
- 4 GNU tarkvara kompileerimine
- 5 Portsude kasutamine
- 6 Operatsioonisüsteemi tarkvara uuendamine
- 7 Operatsioonisüsteemi varundamine
- 8 Operatsioonisüsteemi taastamine
- 9 Ühekasutajarežiim ja juurkasutaja parooli ülekirjutamine
- 10 Probleemid
- 11 Operatsioonisüsteemi konservatiivne seadistamine
- 12 Märkused
- 13 Securiy Levels
- 14 Riistvara
- 15 User Kernel Config
- 16 Kasulikud lisamaterjalid
OpenBSD
OpenBSD http://www.openbsd.org/ on avatud lähtekoodiga traditsiooniline BSD-stiilis unixiline operatsioonisüsteem, mille juures on iseloomulik
- radikaalne läbipaistvus (avatud lähtetekst, turvaintsidentide lahendamine, põhimõtetest kinnipidamine)
- turvalisus (intsidentide lahendamine, tänu paiknemisele Kanadas on olnud võimalik projekti algusest alates operatsioonisüsteemi integreerida krüptograafia toetust ning seda avalikult kasutajatele kättesaadavaks teha)
- regulaarne uute versioonide ilmumine kaks korda aastas
- mitmekesine riistvaraliste platvormide toetus
- vaikimisi shell on pdksh - public domain Korn shell
- tarkvara esineb pärinedes nö kolmest allikast - install-meedia baaskomplekt, binary pakettide arhiiv (sisaldab nt amd64 platvormil 2010 aasta sügisel üle 5 500 paketi) ja portsud
OpenBSD arenduse geograafiline keskpunkt asub Kanadas, projekti põhiliseks eestvedajaks on olnud algusest peale Theo de Raadt.
OpenBSD puhul rõhutatakse, et tegu pole mitte ühelt poolt tuumast ning teisest poolt paljudest utiliitidest koosneva süsteemiga, vaid ühe tervikliku süsteemiga.
Lisaks OpenBSD operatsioonisüsteemile on OpenBSD projekt eestvedajaks sellistele tuntud lahendustele
- OpenSSH
- OpenBGPD http://www.openbgpd.org/
- OpenOSPFD
- OpenNTPD
- OpenCVS
OpenBSD areng on ennekõike keskendunud võrguga seotud küsimustele ja seetõttu on teda äärmiselt sobiv kasutada tulemüürilahendusena. Samuti sobib OpenBSD suurepäraselt võrgukonseptsioonide (tcp/ip, sillad, tunnelid, ipsec, nat, ruuting sh dünaamiline ruuting, paketifilter, eri kihtides töötavad proxy'd, wifi, vpn) tundmaõppimiseks eeldamata kalliste eriseadmete soetamist.
Tehnilises mõttes ei ole takistusi OpenBSD kasutamisel ka töökohaarvutina sh sülearvutina või mõnda levinud teenust pakkuva serverina (nt nimeserver või ftp server).
Operatsioonisüsteemi paigaldamine
Tavaliselt toimub OpenBSD paigaldamine alglaadides arvuti install-meedia CD plaadilt, näiteks amd64 arhitektuuriga PC puhul 2010 aasta alguses on selleks kaks meediavalikut, esimene on nn võrguinstaller, teine paigaldab operatsioonisüsteemi lokaalselt cd'lt
http://ftp.aso.ee/pub/OpenBSD/4.7/amd64/cd47.iso http://ftp.aso.ee/pub/OpenBSD/4.7/amd64/install47.iso
Seejärel tuleb teha valikud
- kõvaketta kasutamise osas, mis on erinev Linuxist ning sarnane nt Solarisele
- tarkvara moodulite osas (vaikimisi pakutakse süsteemi ilma X Window System'ta)
- võrguseadistused ja arvuti nimi
- millised teenused paigaldatud süsteemi bootimisel automaatselt käivitatakse
- millisest allikast süsteem paigaldatakse so tuleb näidata kataloog CD pealt või URL OpenBSD peegli aadressiga
OpenBSD veebikohas on muu väga üksikasjaliku juhendmaterjali seas aadressil http://www.openbsd.org/faq/faq4.html paigaldusjuhend, paigaldamine võiks toimuda alljärgnevalt.
Alglaadimine ja installeri käivitamine
Järgnevalt paigaldame operatsioonisüsteemi install47.iso failist valmistatud CD plaadi kujul esinevalt paigaldusmeedialt, mis sisaldab kõike vajalikku terviklikult paigaldatud operatsioonisüsteemiga töötava arvuti tekitamiseks.
Peale arvuti käivitamise järel CD plaadi seadmesse paigutamist peaks arvutit saama alglaadida CD plaadilt, kui seda ei toimu võib olla vajalik BIOS'est muuta alglaadmiseks kasutatavate seadmete järjekorda.
Esmalt esitatakse konsoolile bootloaderi prompt, näiteks
Boot from ATAPI CD-ROM : CD-ROM: 9F Loading /4.7/I386/CDBOOT probing: pc0 com0 com1 apm mem[638K 1534M a20=on] disk: fd0 hd0+* hd1+* cd0 >> OpenBSD/i386 CDBOOT 2.01 boot>
Kui boot> prompti mitte midagi ei sisestata, siis läheb arvuti 5 sekundi pärast sealt edasi ja boodib CD pealt operatsioonisüsteemi tuuma. Antud juhul on suunatud installer serial konsoolile, muidu oleks olnud ka raske käesolevat teksti tekitada
boot> set tty com0
NB! Katse näitab, et boot> promptiga töötamiseks sobib paremini programm cu kui minicom, viimases saab sisestada ühe sümboli ja siis kaob kontroll.
Järgmisena esitatakse konsoolile tuuma laadimisega kaasnevaid teateid
Copyright (c) 1982, 1986, 1989, 1991, 1993 The Regents of the University of California. All rights reserved. Copyright (c) 1995-2008 OpenBSD. All rights reserved. http://www.OpenBSD.org OpenBSD 4.7 (RAMDISK_CD) #645: Wed Mar 12 11:31:03 MDT 2009 deraadt@i386.openbsd.org:/usr/src/sys/arch/i386/compile/RAMDISK_CD cpu0: Intel(R) Pentium(R) III CPU family 1133MHz ("GenuineIntel" 686-class) 1.14 GHz cpu0: FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR,SSE real mem = 1610117120 (1535MB) avail mem = 1549680640 (1477MB) mainbus0 at root bios0 at mainbus0: AT/286+ BIOS, date 09/16/02, BIOS32 rev. 0 @ 0xfb2c0, SMBIOS rev. 2.2 @ 0xf0800 (41 entries) bios0: vendor Award Software International, Inc. version "ZRE122A" date 09/16/02 bios0: IBM -[847951X]- ... biomask f7e5 netmask ffe5 ttymask ffe7 rd0: fixed, 3800 blocks root on rd0a swap on rd0b dump on rd0b erase ^?, werase ^W, kill ^U, intr ^C, status ^T
Tuuma bootimise järel käivitatakse automaatselt OpenBSD installer, mis küsib
(I)nstall, (U)pgrade or (S)hell? i
Kuna käesoleval juhul on tegu esmakordse süsteemi paigaldamise, tuleb valida 'i', arvuti vastab sellele järgmiselt
Welcome to the OpenBSD/i386 4.7 install program. This program will help you install OpenBSD. At any prompt except password prompts you can escape to a shell by typing '!'. Default answers are shown in []'s and are selected by pressing RETURN. At any time you can exit this program by pressing Control-C, but exiting during an install can leave your system in an inconsistent state.
Tuleb valida terminali tüüp, reeglina installer pakub sobivat, vt220 ja võiks jätkata klaviatuuri US asetusega
Terminal type: [vt220] Enter kbd(8) mapping? ('L' for list) [none] Enter IS YOUR DATA BACKED UP? As with anything that modifies disk contents, this program can cause SIGNIFICANT data loss. It is often helpful to have the installation notes handy. For complex disk configurations, relevant disk hardware manuals and a calculator are useful.
Seejärel tuleb väljendada, et soovitakse paigaldusega jätkata
Proceed with install? [no] yes Cool! Let's get to it...
Kõvaketaste kasutuselevõtmine
You will now initialize the disk(s) that OpenBSD will use. To enable all available security features you should configure the disk(s) to allow the creation of separate filesystems for /, /tmp, /var, /usr, and /home.
Installer teatab millised kõvakettad on kasutada ning tuleb valida millisele süsteem paigaldatakse
Available disks are: wd0 wd1. Which one is the root disk? (or 'done') [done] wd0
Järgmisena tuleb valida, kas on plaanis reserveerida kõvakettal ruum mitte-OpenBSD jaoks, see on oluline näiteks dualbootiva Linux-OpenBSD süsteemi valmistamiseks. Kuna antud juhul on eesmärgiks arvuti kasutamine vaid OpenBSD operatsioonisüsteemiga, siis võib vastata 'yes'
Do you want to use *all* of wd0 for OpenBSD? [no] yes Putting all of wd0 into an active OpenBSD MBR partition (type 'A6')...done.
Seejärel tuleb moodustada nn disklabel, mis praktiliselt tähendab failisüsteemidele vastavate partitsioonide moodustamist. disklabeli '>' prompt on samaväärne töötava operatsioonisüsteemi sees 'disklabel -E wd0' ütlemisega.
You will now create an OpenBSD disklabel inside the OpenBSD MBR partition. The disklabel defines how OpenBSD splits up the MBR partition into OpenBSD partitions in which filesystems and swap space are created. The offsets used in the disklabel are ABSOLUTE, i.e. relative to the start of the disk, NOT the start of the OpenBSD MBR partition. # Inside MBR partition 3: type A6 start 63 size 39873267 Treating sectors 63-39873330 as the OpenBSD portion of the disk. You can use the 'b' command to change this. Initial label editor (enter '?' for help at any prompt) >
Alustuseks võib küsida näha olemasolevat disklabelit, disklabeli käsk p esitab disklabeli enda järel oleva argumendi mõõtühikutes, m - megabait
> p m device: /dev/rwd0c type: ESDI disk: ESDI/IDE disk label: ST320011A bytes/sector: 512 sectors/track: 63 tracks/cylinder: 255 sectors/cylinder: 16065 cylinders: 2482 total bytes: 19470.9M free bytes: 19470.9M rpm: 3600 16 partitions: # size offset fstype [fsize bsize cpg] c: 19470.9M 0.0M unused 0 0
Partitsioon c on nö pseudopartitsioon mis tähendab, et teda otseselt ei kasutatada ja tema suurus vastab kogu kõvakette suurusele. Siiski tuleks teisi kasutatavaid partitsioone ette kujutada asuvatena c partitsiooni kõrval mitte tema sees.
Moodustame partitsiooni ja saaleala vastavalt plaanile
wd0a: / (root) - 150M wd0b: (swap) - 300M wd0d: /tmp - 120M wd0e: /var - 20M wd0g: /usr - 8G wd0h: /home - 4G
disklabeli käsk a lisab enda järel oleva nimega partitsiooni
> a a offset: [63] size: [39873267] 150m Rounding to cylinder: 321237 FS type: [4.2BSD] mount point: [none] / > a b offset: [321300] size: [39552030] 300m Rounding to cylinder: 626535 FS type: [swap] > a d offset: [947835] size: [38925495] 1g Rounding to cylinder: 2104515 FS type: [4.2BSD] mount point: [none] /tmp > a e offset: [3052350] size: [36820980] 6g Rounding to cylinder: 12594960 FS type: [4.2BSD] mount point: [none] /var > a f offset: [15647310] size: [24226020] 8g Rounding to cylinder: 16787925 FS type: [4.2BSD] mount point: [none] /usr > a g offset: [32435235] size: [7438095] 2g Rounding to cylinder: 4209030 FS type: [4.2BSD] mount point: [none] /home
Ning vaatame tulemust, disklabeli käsk p esitab disklabeli enda järel oleva argumendi mõõtühikutes, m - megabait
> p m device: /dev/rwd0c type: ESDI disk: ESDI/IDE disk label: ST320011A bytes/sector: 512 sectors/track: 63 tracks/cylinder: 255 sectors/cylinder: 16065 cylinders: 2482 total bytes: 19470.9M free bytes: 1576.7M rpm: 3600 16 partitions: # size offset fstype [fsize bsize cpg] a: 156.9M 0.0M 4.2BSD 2048 16384 1 # / b: 305.9M 156.9M swap c: 19470.9M 0.0M unused 0 0 d: 1027.6M 462.8M 4.2BSD 2048 16384 1 # /tmp e: 6149.9M 1490.4M 4.2BSD 2048 16384 1 # /var f: 8197.2M 7640.3M 4.2BSD 2048 16384 1 # /usr g: 2055.2M 15837.5M 4.2BSD 2048 16384 1 # /home >
Kirjutame disklabeli kõvakettale kusjuures veel on võimalik üle vaadata või muuta ühenduspunkte
> q Write new label?: [y] Mount point for wd0d (size=1052257k)? (or 'none' or 'done') [/tmp] Enter Mount point for wd0e (size=6297480k)? (or 'none' or 'done') [/var] Enter Mount point for wd0f (size=8393962k)? (or 'none' or 'done') [/usr] Enter Mount point for wd0g (size=2104515k)? (or 'none' or 'done') [/home] Enter Mount point for wd0d (size=1052257k)? (or 'none' or 'done') [/tmp] done
Süsteemis on ka teine kõvaketas, aga seda praegu ei seadista, ütleme done
Available disks are: wd1. Which one do you wish to initialize? (or 'done') [done] done OpenBSD filesystems: wd0a / wd0d /tmp wd0e /var wd0f /usr wd0g /home
Seejärel küsitakse kinnitust, vastame jaatavalt
The next step *DESTROYS* all existing data on these partitions! Are you really sure that you're ready to proceed? [no] yes
newfs: reduced number of fragments per cylinder group from 20072 to 19984 to enlarge last cylinder group /dev/rwd0a: 156.9MB in 321236 sectors of 512 bytes 5 cylinder groups of 39.03MB, 2498 blocks, 5120 inodes each /dev/rwd0d: 1027.6MB in 2104512 sectors of 512 bytes 6 cylinder groups of 202.47MB, 12958 blocks, 25984 inodes each /dev/rwd0e: 6149.9MB in 12594960 sectors of 512 bytes 31 cylinder groups of 202.47MB, 12958 blocks, 25984 inodes each /dev/rwd0f: 8197.2MB in 16787924 sectors of 512 bytes 41 cylinder groups of 202.47MB, 12958 blocks, 25984 inodes each /dev/rwd0g: 2055.2MB in 4209028 sectors of 512 bytes 11 cylinder groups of 202.47MB, 12958 blocks, 25984 inodes each /dev/wd0a on /mnt type ffs (rw, asynchronous, local, ctime=Wed Mar 12 20:13:09 2008) /dev/wd0h on /mnt/home type ffs (rw, asynchronous, local, nodev, nosuid, ctime=Wed Mar 12 20:13:09 2008) /dev/wd0d on /mnt/tmp type ffs (rw, asynchronous, local, nodev, nosuid, ctime=Wed Mar 12 20:13:09 2008) /dev/wd0f on /mnt/usr type ffs (rw, asynchronous, local, nodev, ctime=Wed Mar 12 20:13:10 2008) /dev/wd0g on /mnt/var type ffs (rw, asynchronous, local, nodev, nosuid, ctime=Wed Mar 12 20:13:10 2008)
Kusjuures, erinevate failisüsteemide külgeühendamisel kasutatakse erinevaid võtmeid.
Võrguseaded
Järgmisena tuleb installerile öelda
- arvuti hostname (ilma domeeninime osata)
- võrgukaartidele vastavad ip aadressid ja võrgumaskid
- arvuti hostname'i domeeninime osa
- nimeserveri aadress (DNS)
- vaikelüüsi aadress (ingl. k. default gateway)
- juurkasutaja parool
System hostname? (short form, e.g. 'foo') tulemyyr Configure the network? [yes] Available interfaces are: rl0 em0 fxp0. Which one do you wish to initialize? (or 'done') [rl0] Symbolic (host) name for rl0? [tulemyyr] The media options for rl0 are currently media: Ethernet autoselect Do you want to change the media options? [no] IPv4 address for rl0? (or 'none' or 'dhcp') 10.0.1.154 Netmask? [255.255.255.0] IPv6 address for rl0? (or 'rtsol' or 'none') [none] Available interfaces are: em0 fxp0. Which one do you wish to initialize? (or 'done') [em0] Symbolic (host) name for em0? [tulemyyr] The media options for em0 are currently media: Ethernet autoselect (none) Do you want to change the media options? [no] IPv4 address for em0? (or 'none' or 'dhcp') 192.168.1.154 Netmask? [255.255.255.0] IPv6 address for em0? (or 'rtsol' or 'none') [none] Available interfaces are: fxp0. Which one do you wish to initialize? (or 'done') [fxp0] Symbolic (host) name for fxp0? [tulemyyr] The media options for fxp0 are currently media: Ethernet autoselect (none) Do you want to change the media options? [no] IPv4 address for fxp0? (or 'none' or 'dhcp') 172.16.1.154 Netmask? [255.255.255.0] IPv6 address for fxp0? (or 'rtsol' or 'none') [none] No more interfaces to initialize. DNS domain name? (e.g. 'bar.com') [my.domain] kohtvork DNS nameserver? (IP address or 'none') [none] 192.168.1.254 Use the nameserver now? [yes] no Default IPv4 route? (IPv4 address, 'dhcp' or 'none') 172.16.1.253 add net default: gateway 172.16.1.253 Edit hosts with ed? [no] Do you want to do any manual network configuration? [no] Password for root account? (will not echo) Password for root account? (again)
Tarkvara paigaldamine
Viimasena tuleb installerile näidata kust ja millised failikomplektid (ingl. k. file set) paigaldatakse. Lähtekohaks on antud juhul cd plaat. OpenBSD tarkvara on jagatud funktsionaalsuse alusel osadeks, mida nimetatakse failikomplektideks. Näiteks seadistusfailid kuuluvad komplekti etc44.tgz, operatsioonisüsteemi tuumasid on kolm variant
- bsd - tuum, seda tuuma soovitatake kasutada
- bsd.rd - mälukettal töötav tuum (ingl. k. ramdisk), võiks paigaldada, kui süsteemiga midagi juhtub, siis saab selle abil shelli kasutada
- bsd.mp - mitme protsessori tugi (ingl. k. multiprocessor), tulemüüris ei ole sellest praktiliselt kasu ja soovitatakse kasutada ühe protsessori toega bsd tuuma)
Let's install the sets! Location of sets? (cd disk ftp http or 'done') [cd] Available CD-ROMs are: cd0. Which one contains the install media? (or 'done') [cd0] Pathname to the sets? (or 'done') [4.4/i386] Select sets by entering a set name, a file name pattern or 'all'. De-select sets by prepending a '-' to the set name, file name pattern or 'all'. Selected sets are labelled '[X]'. [X] bsd [X] bsd.rd [ ] bsd.mp [X] base44.tgz [X] etc44.tgz [X] misc44.tgz [X] comp44.tgz [X] man44.tgz [X] game44.tgz [ ] xbase44.tgz [ ] xetc44.tgz [ ] xshare44.tgz [ ] xfont44.tgz [ ] xserv44.tgz Set name? (or 'done') [bsd.mp] done Ready to install sets? [yes] Getting bsd ... 100% |**************************************************| 6356 KB 00:02 Getting bsd.rd ... 100% |**************************************************| 5003 KB 00:01 Getting base44.tgz ... 100% |**************************************************| 42854 KB 00:21 Getting etc44.tgz ... 100% |**************************************************| 1190 KB 00:00 Getting misc44.tgz ... 100% |**************************************************| 2252 KB 00:01 Getting comp44.tgz ... 100% |**************************************************| 77563 KB 00:25 Getting man44.tgz ... 100% |**************************************************| 7530 KB 00:05 Getting game44.tgz ... 100% |**************************************************| 2547 KB 00:00
Kui on plaanis veel failikomplekte paigaldada, saab seda teha või öelda done, et on valmis; valitud nimekirjast saab failikomplekti eemaldada alustades nime miinus märgiga.
Location of sets? (cd disk ftp http or 'done') [done]
Installer küsib, kas vaikimisi käivitada ssh deemon süsteemi alglaadimisel
Start sshd(8) by default? [yes]
Installer küsib kas ajaseverit kasutaja ja kui siis millist
NTP server? (host, 'none' or 'default') [none] 172.16.1.253 Do you expect to run the X Window System? [no] Change the default console to com0? [no] yes Available speeds are: 9600 19200 38400 57600 115200. Which one should com0 use? (or 'done') [9600] Saving configuration files...done. Generating initial host.random file...done.
Installer küsib ajavööndit
What timezone are you in? ('?' for list) [Canada/Mountain] Europe/Tallinn Setting local timezone to 'Europe/Tallinn'...done.
Lõpuks moodustatakse /dev kataloogi seadmed ning paigaldatakse bootloader
Making all device nodes...done. Installing boot block... boot: /mnt/boot proto: /usr/mdec/biosboot device: /dev/rwd0c /usr/mdec/biosboot: entry point 0 proto bootblock size 512 /mnt/boot is 3 blocks x 16384 bytes fs block shift 2; part offset 63; inode block 24, offset 1960 using MBR partition 3: type 166 (0xa6) offset 63 (0x3f) done.
Ja antakse teada, et süsteem on paigaldatud, öelda 'halt' süsteemi seiskamiseks ning käivitamiks vajutada tühikut.
CONGRATULATIONS! Your OpenBSD install has been successfully completed! To boot the new system, enter halt at the command prompt. Once the system has halted, reset the machine and boot from the disk. # halt syncing disks... done The operating system has halted. Please press any key to reboot.
Paigaldamise tulemusena saab süsteemi sisse logida root kasutajana ning arvuti on ühendatud võrku. OpenBSD järgib tuntud mantrat 'Secure by Default', mis muuseas tähendab, et peale paigaldamist on süsteemis ainult üksikud teenused käivitatud (nt SSH server, mille käivitamise kohta paigaldamise käigus küsiti), seepärast on peale süsteemi paigaldamist järgmine tegevus tõenäoliselt vajalike teenuste seadistamine ning käivitamine.
Kuigi OpenBSD süsteemi kuuluvale tarkvarale saab lisaks paigaldada tarkvara põhimõtteliselt kolmest erinevast allikast
- binaarsed paketid
- OpenBSD ports süsteem
- lähtetekstidest kompileerimine
sisaldub nö tavapärase OpenBSD kasutusala jaoks vajalik tarkvara süsteemis endas. Näiteks sisaldub süsteemis
- nimeserver Bind ja vastavad utiliidid
- veebiserver Apache
- DHCP tarkvara
- PF paketifilteri juhtimise programm pfctl
- SSH server ja klient
- NFS server ja klient
- NTP server
- tcpdump võrguliikluse jälgimiseks
- CVS tarkvara
- relayd on kolmanda ja seitsmenda osi kihi vahendaja
- greylistingu tarkvara spamd
ning süsteemis näiteks ei sisaldu ning tavaliselt paigaldatakse binaarsetest pakettidest
- PF paketifiltri statistikaprogramm pftop
- tekstieditor Joe kui kasutaja ei ole valmis üldiselt võimsamaks hinnatud programmi vi kasutama
- screen, mis võimaldab kaughalduse korral mugavamalt terminali kasutada
- rsync
- gnupg
Binaarsete pakettide haldus
Binaarseid pakette jagatakse reeglina samuti OpenBSD peegelserverites, näiteks PC puhul aadressil http://ftp.aso.ee/pub/OpenBSD/4.2/packages/i386/. Peegelserveri kasutamiseks tuleb kirjeldada keskkonnamuutuja
# export PKG_PATH=http://ftp.aso.ee/pub/OpenBSD/4.2/packages/i386/
PF paketifiltri statistikaprogrammi pftop paigaldamiseks tuleb öelda
# pkg_add -i pftop
kus võtme -i kasutamisel vajadusel saab kasutaja vastata olulistele küsimustele interaktiivses režiimis.
Paigaldatud paketi kohta saab andmeid vaadata selliselt, kui paketi nimi ära jätta esitatakse nimekiri kõigist süsteemi lisatud pakettidest
# pkg_info pftop Information for pftop-0.5 Comment: curses-based real time state and rule display for pf Description: pfTop is a curses-based utility for real-time display of active states and rules for pf. It is a cross between top and pfctl -sr and pfctl -ss. Maintainer: Can Erkin Acar <canacar@eee.metu.edu.tr> WWW: http://www.eee.metu.edu.tr/~canacar/pftop/
Paigaldatud paketi uuendamiseks tuleb öelda
# pkg_add -u pftop
kõigi pakettide uuendamiseks
# pkg_add -u
Paketi eemaldamiseks tuleb öelda
# pkg_delete pftop
GNU tarkvara kompileerimine
GNU tarkvara kompileerimiseks sobib OpenBSD keskkonnas kasutada /usr/local/bin/gmake programmi
# make gmake
Seejärel rakendada nö tavalist järgnevust
$ tar zxf arhiivinimi.tgz $ ./configure --prefix=/katalooginimi $ gmake $ gmake install
Portsude kasutamine
Sisuliselt samasugusele tulemusele nagu binaarseid pakette kasutades on võimalik jõuda kasutades OpenBSD ports süsteemi. OpenBSD arendajad on kohaldanud paljude programmide kasutamise OpenBSD keskkonnas ning see on vormistatud Makefile'ide ja OpenBSD spetsiifiliste paikade komplektina, mida jagatake OpenBSD ametlikes peeeglites failis ports.tar.gz, näiteks http://ftp.aso.ee/pub/OpenBSD/4.7/ports.tar.gz. Kuna tegu on kompileerimist abistava failiga, siis põhimõtteliselt on ta riistvaralisest arhitektuurist sõltumatu.
Portsude süsteemi kasutamiseks tuleb see fail kopeerida arvutisse ning pakkida lahti /usr kataloogi
# tar zxf ports.tar.gz
Tulemusena moodustub kataloog /usr/ports. Seejärel tuleb siseneda soovitud programmile vastavasse kataloogi ning öelda tarkvara paigaldamiseks make install, nt selliselt
# cd /usr/ports/www/lighttpd # make install
Portsude kataloogile saab cvs abil uuendusi rakendada, nt reliisile stablega seotud muudatuste rakendamiseks tuleb öelda
# cd /usr/ports # export CVSROOT=anoncvs@anoncvs.estpak.ee:/OpenBSD # cvs -q update -r OPENBSD_4_7 -Pd
Nii nagu binaarsete pakettide kasutamisel tuleb arvestada portsude puhulgi, et neid ei hallata samasuguse tähelepanelikkusega nagu OpenBSD baas-süsteemi.
Operatsioonisüsteemi tarkvara uuendamine
Operatsioonisüsteemi nö põhiosa tarkvara-uuendusi kajastatakse aadressil http://www.openbsd.org/errata.html kust tuleb valida sobiva versiooni kohta käivate paranduste ülevaade. Protseduur toimub .patch faili kopeerimise ja kompileerimise ning seejärel vastavate teenuste restartimise teel.
Kompileerimiseks peavad olema /usr/src kataloogi lahti pakitud usr.tar.gz ja sys.tar.gz arhiivid.
# cd /usr/src # wget http://ftp.aso.ee/pub/OpenBSD/4.7/src.tar.gz # http://ftp.aso.ee/pub/OpenBSD/4.7/sys.tar.gz # tar zxf src.tar.gz # tar zxf sys.tar.gz
Näiteks 2010 aasta varakevadel on asjakohane OpenBSD 4.7 versioonile rakendada sellised paigad (vt http://www.openbsd.org/errata47.html)
# cd /usr/src # wget ftp://ftp.openbsd.org/pub/OpenBSD/patches/4.7/common/001_kerberos.patch # wget ftp://ftp.openbsd.org/pub/OpenBSD/patches/4.7/common/002_mpi.patch # wget ftp://ftp.openbsd.org/pub/OpenBSD/patches/4.7/common/003_openssl.patch # wget ftp://ftp.openbsd.org/pub/OpenBSD/patches/4.7/common/004_pfsync.patch # wget ftp://ftp.openbsd.org/pub/OpenBSD/patches/4.7/common/005_pfsync.patch ...
Paikade alguses on reeglina kirjas paiga rakendamiseks vajalik tegevusjuhis, antud juhul nt paiga 002 puhul tuleb sooritada sarnane järgnevus
Apply by doing: cd /usr/src patch -p0 < 002_mpi.patch Then build and install a new kernel.
Tuuma kompileerimist ja paigaldamist on kirjeldatud tekstis http://kuutorvaja.eenet.ee/wiki/OpenBSD_tarkvara_kompileerimine#Tuuma_kompileerimine.
Paiga 003 puhul tuleb sooritada sarnane
Apply by doing: cd /usr/src patch -p0 < 003_openssl.patch And then rebuild and install the library and statically-linked binaries that depend upon it: cd lib/libssl make obj make depend make includes make make install cd ../../sbin make obj make depend make make install
Muudatuste kehtestamiseks tuleb uuesti käivitada vastavaid teeke kasutavad programmid.
Operatsioonisüsteemi varundamine
OpenBSD operatsioonisüsteemi varundamiseks sobib kasutada rsync tarkvara, mille abil saab kopeerida kogu failisüsteemi üle võrgu teise arvutisse. Nii tehtud koopiast saab taastada sama riistvaralise arhitektuuriga arvutisse töötava süsteemi.
# rsync -avH --numeric-ids --exclude-from=/root/exclude-from / root@192.168.1.15:/data/backup/tulemuur-20080521
Failis /root/exclude-from saab näidata, milliseid katalooge ignoreerida, nt /tmp kataloogi
# cat /root/exclude-from /tmp
Operatsioonisüsteemi taastamine
Süsteemi saab taastada sooritades sellise järgnevuse
- bootida töötav riistvara cd43.iso plaadilt, st sisuliselt siis bsd.rd tuumaga ramdiski shelli
- seadistada arvuti võrku ifconfig käsuga
- moodustada failisüsteemid ja ühendada külge
- kopeerida ftp kliendiga üle võrgu varund tar ahriivi kujul ja kasutades toru pakkida lahti
- kohendada vajaudsel seadistusfaile
- paigaldada bootloader
- bootida taastatud süsteem
Konkreetselt toimuksid need sammud selliselt
Bootida bsd.rd tuumaga töötav riistvara
Praktiliselt tuleb käituda täpselt nõnda nagu operatsioonisüsteemi paigaldamisel, st bootida arvuti cd43.iso või install43.iso meedialt, aga kui installer küsib
(I)nstall, (U)pgrade or (S)hell? s
tuleb vastata, et shell ja jõutakse juurkasutaja shelli kusjuures lokaalsetelt kõvaketastelt ei ole failisüsteeme külge ühendatud
#
See on üsna kasin keskkond, kus editoriks on ed ja andmeid saab kopeerida võrgust ftp kliendiga.
Seadistada arvuti võrku
Arvuti tuleb lülitada võrku sellepärast, et saaks kopeerida võrgust varundatud operatsioonisüsteemi tar arhiiv. Selleks tuleb öelda näiteks
# ifconfig em0 192.168.1.12 netmask 255.255.255.0
Moodustada failisüsteemid
Failisüsteemid tuleb moodustada tavapäraste utiliitidega, uue kõvaketta puhul
# fdisk -i wd0 # disklabel -e wd0 # newfs /dev/wd0a jne
Failisüsteemid tuleks aga ühendada külge nii, et moodustuks hierarhia õieti, kui on sellised partitsioonid
- wd0a - juurikas
- wd0d - /tmp
- wd0e - /var
- wd0f - /usr
- wd0g - /home
Siis tuleks moodustada kataloog /mnt/wd0 ning selle alla ühendada wd0a. Seejärel moodustada /mnt/wd0 kataloogi alamkataloogid /mnt/wd0/var ja /mnt/wd0/usr ning ühendada külge, tulemus on selline
/dev/wd0a /mnt/wd0 /dev/wd0d /mnt/wd0/var /dev/wd0f /mnt/wd0/usr
Kui taastamine toimub näiteks wd1 seadmele, siis võib olla tarvis esmalt moodustada seadmefailid öeldes
# cd /dev # ./MAKEDEV wd1
Kopeerida varundatud andmed taastatavasse süsteemi
Kuivõrd kasutada on ftp klient ning tar ja gunzip programmid, siis tuleb esmalt rsync abil varundatud andmed kokku pakkida
# cd /data/backup/tulemuur-20080521 # tar zcf /home/ftp/tulemuur-20080521.tgz .
ning teha /home/ftp kataloog ftp protokolli abil nt anonüümselt taastatavale arvutile ligipääsetavaks. Seejärel öelda taatatavas arvutis
# cd /mnt/wd0 # ftp -o - 192.168.1.15/tulemuur-20080521.tgz | tar -xzphf -
Kusjuures, ftp programm on samalajal ka http klient, st võib kopeerida samuti võrgust http serverilt andmed
# ftp -o - http://192.168.1.15/tulemuur-20080521.tgz | tar -xzphf -
Bootloaderi paigaldamine
Bootloaderi paigaldamiseks tuleb öelda
# cd /mnt/wd0/usr/mdec # ./installboot -v boot biosboot wd0 boot: boot proto: biosboot device: /dev/rwd0c biosboot: entry point 0 proto bootblock size 512 boot is 3 blocks x 16384 bytes fs block shift 2; part offset 71303231; inode block 33172752, offset 6824 using MBR partition 3: type 166 (0xa6) offset 63 (0x3f)
Oluline on, et boot fail asub samal kõvakettal, mis on viimaseks argumendiks.
Lõpuks tuleb arvuti bootida ja kui kõik on korras, hakkab arvuti uuesti tööle.
Ühekasutajarežiim ja juurkasutaja parooli ülekirjutamine
Üldiselt saab arvutit käivitada kahes režiimis
- mitmekasutajarežiim (ingl. k. multiuser mode) - tavapärane arvutikasutus, võrk ja teenused töötavad
- ühekasutajarežiim (ingl. k. single user mode) - piiratud arvutikasutus sisenemisega konsoolilt (sh serial konsoolilt), juurfailisüsteem on ühendatud külge readonly olekus, võrk ei tööta, protsesse on käivitatud minimaalselt
Ühekasutajarežiim on sobiv kui süsteemiga on midagi juhtunud ja ta ei käivitu normaalselt või juhuks, kui on ununenud juurkasutaja parool, siis saab selle muutu ühekasutajarežhiimis. Ühekasutajarežiimi prompti sisenemiseks tuleb öelda teise taseme bootloaderis
boot> boot -s booting hd0a:/bsd: 5913424+1004644 [52+306864+287943]=0x72a4d4 entry point at 0x200120û [ using 595232 bytes of bsd ELF symbol table ] Copyright (c) 1982, 1986, 1989, 1991, 1993 The Regents of the University of California. All rights reserved. Copyright (c) 1995-2008 OpenBSD. All rights reserved. http://www.OpenBSD.org OpenBSD 4.4 (GENERIC) #698: Wed Mar 12 11:07:05 MDT 2008 deraadt@i386.openbsd.org:/usr/src/sys/arch/i386/compile/GENERIC cpu0: Intel Pentium III ("GenuineIntel" 686-class, 128KB L2 cache) 702 MHz ... biomask f365 netmask ff65 ttymask ffe7 mtrr: Pentium Pro MTRR support softraid0 at root root on wd0a swap on wd0b dump on wd0b Enter pathname of shell or RETURN for sh: <Enter> Terminal type? vt220 #
Seejärel saab arvutit piiratud võimalustega kasutada, kusjuures nt juurfailisüsteemile vastavale seadmele viidatakse root_device
# df -h Filesystem Size Used Avail Capacity Mounted on root_device 300M 35.8M 249M 13% /
Ununenud juurkasutaja parooli ülekirjutamiseks tuleb esmalt ühendada / (juur) ja /usr failisüsteemid
# /sbin/fsck -p / /dev/rwd0a: file system is clean; not checking # mount -uw / # /sbin/fsck -p /usr /dev/rwd0f: file system is clean; not checking # mount /usr
ning seejärel kasutada tavapäraselt passwd programmi. Ühekasutajarežiimist mitmekasutajarežiimi minemiseks tuleb öelda reboot või Ctrl-D
# ^D setting tty flags net.inet.ip.forwarding: 0 -> 1 starting network starting system logger starting initial daemons: ntpd. savecore: /dev/wd0b: Device not configured checking quotas: done. building ps databases: kvm dev. clearing /tmp starting pre-securelevel daemons:. setting kernel security level: kern.securelevel: 0 -> 1 creating runtime link editor directory cache. preserving editor files starting network daemons: sendmail inetd sshd. starting local daemons:. standard daemons: cron. Wed Jun 18 20:13:21 EEST 2008 OpenBSD/i386 (tulemyyr.kohtvork) (tty00) login:
Probleemid
Kui OpenBSD ei alglaadi, siis võib olla põhjus selles, et bootloader on kõvakettal ebasobivast kohas, tavaliselt nö liiga kaugel ketta algusest. Selle vastu aitab öelda
# cp /usr/mdec/boot /boot # /usr/mdec/installboot -v /boot /usr/mdec/biosboot wd0
Operatsioonisüsteemi konservatiivne seadistamine
Kui on eesmärgiks seadistada käima OpenBSD süsteem silmapaistvalt konservatiivselt võiks tähelepanu pöörata järgmisetele asjaoludele
- rc.conf.local skriptist lülitada välja inetd deemon
- rc.conf.local skriptist lülitada sisse paketifilter
- moodustada süsteemi tavakasutajad ja logida eemalt sisse ainult tavakasutajana
- /etc/sshd_config failist piirata otse juurkasutajana sissepääsu, nt ridadega
... PermitRootLogin yes AllowUsers mart root@127.0.0.1 root@localhost.loomaaed.aso.ee
Märkused
- OpenBSD versioonis 4.4 sisaldub oluliselt täienenud võimalustega systat programm, erinevate ekraanide vahel saab liikuda vasakule ja paremale nooltega.
- Paigaldusmaterjali kontrolliks sobib talitada nii, et kopeerida materjal ühest peeglist ning kontrollsummade fail SHA256 teisest ja siis öelda nt nii, kataloog sisaldab SHA256 nimelist faili ning kontrollitavaid faile
# cksum -c SHA256 (SHA256) base45.tgz: OK (SHA256) bsd: OK (SHA256) bsd.mp: OK (SHA256) bsd.rd: OK (SHA256) comp45.tgz: OK (SHA256) etc45.tgz: OK (SHA256) game45.tgz: OK ..
Securiy Levels
TODO
- Vaikimisi ei saa Ctrl-Alt-Del abil konsoolilt arvutit alglaadida, kui öelda, siis saab
# sysctl -w machdep.kbdreset=1
Riistvara
PCI seadmete nimekirja esitamiseks sobib öelda
# pcidump ... 1:0:0: Symbios Logic SAS1078 6:0:0: unknown unknown 7:0:0: Matrox unknown 11:0:0: Broadcom BCM5709 11:0:1: Broadcom BCM5709 26:0:0: IDT 89HPES12N3A 27:2:0: IDT 89HPES12N3A 27:4:0: IDT 89HPES12N3A 28:0:0: Intel PRO/1000 QP (82571EB) 28:0:1: Intel PRO/1000 QP (82571EB) 29:0:0: Intel PRO/1000 QP (82571EB) 29:0:1: Intel PRO/1000 QP (82571EB)
Konkreetse seadme andmete esitamiseks sobib öelda
# pcidump -v 28:0:0 Domain /dev/pci: 28:0:0: Intel PRO/1000 QP (82571EB) 0x0000: Vendor ID: 8086 Product ID: 10bc 0x0004: Command: 0047 Status ID: 0010 0x0008: Class: 02 Subclass: 00 Interface: 00 Revision: 06 0x000c: BIST: 00 Header Type: 80 Latency Timer: 00 Cache Line Size: 10 0x0010: BAR mem 32bit addr: 0x97b60000 0x0014: BAR mem 32bit addr: 0x97b40000 0x0018: BAR io addr: 0x00003020 0x001c: BAR empty (00000000) 0x0020: BAR empty (00000000) 0x0024: BAR empty (00000000) 0x0028: Cardbus CIS: 00000000 0x002c: Subsystem Vendor ID: 8086 Product ID: 11bc 0x0030: Expansion ROM Base Address: fffe0000 0x0038: 00000000 0x003c: Interrupt Pin: 02 Line: 07 Min Gnt: 00 Max Lat: 00 0x00c8: Capability 0x01: Power Management 0x00d0: Capability 0x05: Message Signaled Interrupts (MSI) 0x00e0: Capability 0x10: PCI Express
User Kernel Config
UKC (ingl. k- User Kernel Config, kasutaja seadistab kernelit) võimaldab binaarse tuuma funktsionaalsust teatud osas muuta ilma vajaduseta tuuma ringi kompileerida. Nt
boot> bsd -c ... UKC> disable mpbios 54 mpbios0 disabled UKC> quit
ning süsteemis öelda näiteks, et salvestada muudatus tuuma binaari
# config -ef /bsd ... ukc> disable mpbios 54 mpbios0 disabled ukc> quit Saving modified kernel.
Kasulikud lisamaterjalid
- http://www.openbsd.org/
- http://www.kernel-panic.it/openbsd.html - kvaliteetsed materjalid, just carp ja load balance'ing kohta
- http://calomel.org/ - väga kvaliteetsed ja kaasaegsed materjalid, mis kirjeldavad mitmeid OpenBSD kasutusjuhte
- http://www.openbsd101.com/
- http://kuutorvaja.eenet.ee/wiki/VLAN_kasutamine
- http://kuutorvaja.eenet.ee/wiki/Serial_konsool
- man bootbios, man boot, man crash, man hier
- http://www.openbsd.org/faq/current.html
- http://undeadly.org/ - avaldatakse OpenBSD projektiga seotud uudiseid
- http://bsdtalk.blogspot.com/
- http://home.nuug.no/~peter/pf/bsdcan2010/
- https://wiki.itcollege.ee/index.php/OpenBSD_installeerimine