Několik kroků vedoucích k nápravě:
Pokud máte již X nastavené a používáte XF86Config o kterém víte, že je funkční, pak problém pravděpodobně leží v machdep.allowaperture. Měli byste se ujistit, že:
option APERTURE
je v konfiguračním souboru jádra. [V GENERIC jádru to už je]
Poté potřebujete zeditovat /etc/sysctl.conf a nastavit machdep.allowaperture=2. Toto dovolí přístup X k aperture driveru. Tato volba by měla být již nastavena při instalaci, pokud jste správně odpovědeli na otázku, zda budete spouštět X server. OpenBSD požaduje pro všechny X servery, aby byl nastaven aperture driver, protože ten řídí přístup k I/O portům na video kartě.
Pro další problémy s X na i386 konzultujte FAQ na http://www.xfree86.org/support.html.
CVS je prostředek, pomocí kterého projekt OpenBSD kontroluje změny ve zdrojovém kódu. CVS je zkratka za Concurrent Versions System, tedy systém pro udržování více verzí. Více si můžete o CVS přečíst na http://www.cvshome.org/. CVS mohou používat i koncoví uživatelé, pro update zdrojového kódu a změny v ports tree. CVS umožňuje neobyčejně jednodušše stáhnout zdrojový kód díky mnoha CVS mirorům projektu.
Zdrojový kód můžete získat z některého z OpenBSD AnonCVS serverů. Tyto servery jsou vyjmenovány v http://www.openbsd.org/cs/anoncvs.html. Poté, co si vyberete server, musíte určit který modul hodláte stáhnout. K dispozici jsou tři hlavní moduly pro checkout v CVS stromu. Jsou to:
Poté co jste si vybrali modul pro stažení, je zde ještě jeden krok předtím než začnete stahovat. Musíte se rozhodnout, kterou metodu použijete. CVS implicitně stahuje soubory pomocí ssh(1), ale některé AnonCVS servery umožňují použití rsh. Pro ty z vás, kteří se nacházíte za firewallem, je zde možnost, aby pserver nebo AnonCVS server spouštěl ssh na portu 2022. Zkontrolujte http://www.openbsd.org/cs/anoncvs.html, abyste se ujistili, které servery podporují jaké protokoly. Nyní vám ukážeme jak udělat jednoduchý checkout zdrojového kódu. Budeme zde používat AnonCVS server nacházející se v U.S., ale nezapomeňte, že mimo U.S potřebujete server, který je k vám nejblíže (např. v České Republice). Pro stahování souborů budeme používat ssh.
$ export CVSROOT=anoncvs@anoncvs.usa.openbsd.org:/cvs $ cvs get src Warning: Remote host denied X11 forwarding, perhaps xauth program could not be run on the server side. cvs checkout: in directory src: cvs checkout: cannot open CVS/Entries for reading: No such file or directory cvs server: Updating src U src/Makefile [snip]
Všimněte si, že jsem rovněž nastavil proměnnou prostřední CVSROOT. Tato proměnná říká cvs(1), který AnonCVS server má použít. Totéž může být docíleno volbou -d. Například:
$ cvs -d anoncvs@anoncvs.usa.openbsd.org:/cvs get src
Tyto příkazy by měly být spuštěny v adresáři /usr, který poté vytvoří adresář /usr/src, /usr/ports a /usr/www. Samozřejmě v závislosti na tom, který modul checkoutujete. Moduly můžete stáhnout kamkoliv, ovšem pokud chcete s nimi pracovat, (např. spouštět make atd.) očekává se, že budou tam, kde mají být, viz. výše.
Jakmile jednou vytvoříte váš cvs strom, update tohoto stromu je jednoduchou záležitostí. Update můžete provádět kdykoliv, některé AnonCVS servery provádí update častěji než jiné, proto se opět podívejte na http://www.openbsd.org/cs/anoncvs.html. V následujícím případě budeme updatovat modul www z anoncvs.usa.openbsd.org. Všimněte si, že používám parametr -q, který způsobuje stručnější výstup, který přichází od serveru.
$ echo $CVSROOT anoncvs@anoncvs.usa.openbsd.org:/cvs $ cvs -q up -Pd www Warning: Remote host denied X11 forwarding, perhaps xauth program could not be run on the server side. U www/want.html M www/faq/faq8.html
V případech, kdy máte málo času nebo pomalou internetovou linku, se stává update cvs stromu problémem. Proto má CVS volbu -z[1-9], která používá gzip pro kompresi dat. Její význam je -z[úroveň-komprese], např. -z3 pro úroveň komprese 3.
Strom portů je sada souborů Makefile, které downloadují, patchují, konfigurují a instalují uživatelské programy tak, že je můžete používat v prostředí OpenBSD, aniž byste to museli dělat ručně. Strom portů můžete získat z kteréhokoliv z OpenBSD FTP serverů v /pub/OpenBSD/3.1/ports.tar.gz. Nejnovější porty jsou k dispozici z cvs stromu 'ports'nebo /pub/OpenBSD/snapshots/ports.tar.gz. Pro většinu z vás ale bude mnohem lepší použít balíky (packages). Balíky jsou vytvářeny z portů a jsou už zkompilované a připravené k použití. Více o balících se dozvíte ve FAQ 8, Packages.
Pokud je váš systém Release, používejte Release verzi stromu portů. Nezkoušejte použít -Current verzi Ports tree na -Release nebo -Stable systému. Nejen, že to nejspíš nebude fungovat, ale ještě naštvete lidi, když budete žádat o pomoc s tím, proč "nic nefunguje!". Všimněte si, že existuje -Stable větev stromu portů, kam budou zaneseny kritické opravy -Release portů.
Ano, skutečně to znamená, že úžasný nový port typicky nepoběží na vašem "starším" systému -- i když ten systém byl -current pouze před pár týdny.
Pokud nemáte strom portů nainstalovaný, můžete ho stáhnout z kteréhokoliv z OpenBSD FTP servers nebo. samozřejmě, z CDROM. Je to soubor ports.tar.gz, který roztarujete v adresáři /usr, čímž vznikne /usr/ports a všechny adresáře v něm. Například:
$ ftp ftp://ftp.openbsd.org/pub/OpenBSD/3.1/ports.tar.gz $ sudo cp ports.tar.gz /usr $ cd /usr; sudo tar xfz ports.tar.gz
Snapshot ports tree je také vytvářen denně a může být downloadován z kteréhokoliv ftp serveru OpenBSD projektu pod názvem /pub/OpenBSD/snapshots/ports.tar.gz. Pokud instalujete snapshot OpenBSD, měli byste použít odpovídající snapshot portů. Opět, ujistěte se, že váš strom portů a OpenBSD jsou synchronizovány.
Použijte strom portů pro hledání podle klíče. Dělá se to asi takhle: make search key="searchkey" Zde je příklad, jak hledat 'sambu':
$ make search key="samba" Port: samba-2.2.2 Path: net/samba Info: free SMB and CIFS client and server for UNIX Maint: Daniel HartmeierIndex: net B-deps: devel/autoconf R-deps: Archs: any Port: ADMsmb-0.2 Path: /usr/ports/security/ADMsmb Info: Samba security scanner Maint: dugsong@monkey.org Index: security B-deps: R-deps: Archs: any
Porty jsou připraveny tak, aby bylo JEDNODUCHÉ pustit na ně make a instalovat je. Zde je příklad instalace X11 programu xfig. Všimněte si, že závislosti jsou automaticky detekovány a kompletovány:
Nejprve se musíte přepnout pomocí cd do adresáře programu, který chcete. Pokud
hledáte nějaký program, můžete buď updatovat locate databázi, nebo používat
vyhledávací funkci, o které promluvíme dále. Když se již nacházíte v adresáři
náležejícímu programu, který hledáte, napíšete pouze make install.
Například:
$ make install ===> Extracting for xfig-3.2.2 ===> xfig-3.2.2 depends on shared library: jpeg.62. - /usr/local/lib/libjpeg.so.62.0 found ===> xfig-3.2.2 depends on shared library: Xaw3d.6. - not found ===> Verifying install for Xaw3d.6. in /usr/ports/x11/Xaw3d > Xaw3d-1.3.tar.gz doesn't seem to exist on this system. > Attempting to fetch from ftp://crl.dec.com/pub/X11/contrib/widgets/Xaw3d/R6.1/. Connected to crl.dec.com. 220 crl.dec.com FTP server (Digital UNIX Version 5.60) ready. 331 Guest login ok, send ident as password. 230 Guest login ok, access restrictions apply. Remote system type is UNIX. Using binary mode to transfer files. 200 Type set to I. 250 CWD command successful. 250 CWD command successful. Retrieving pub/X11/contrib/widgets/Xaw3d/R6.1/Xaw3d-1.3.tar.gz local: Xaw3d-1.3.tar.gz remote: Xaw3d-1.3.tar.gz 227 Entering Passive Mode (192,58,206,2,5,14) 150 Opening BINARY mode data connection for Xaw3d-1.3.tar.gz (0.0.0.0,0) (290277 bytes). 100% |**************************************************| 283 KB 00:00 ETA 226 Transfer complete. 290277 bytes received in 101.09 seconds (2.80 KB/s) 221 Goodbye. ===> Extracting for Xaw3d-1.3 /bin/mkdir -p /usr/ports/x11/Xaw3d/work/xc/lib/Xaw3d/X11/Xaw3d cd /usr/ports/x11/Xaw3d/work/xc/lib/Xaw3d/X11/Xaw3d; ln -sf ../../*.h . ===> Patching for Xaw3d-1.3 ===> Configuring for Xaw3d-1.3 mv -f Makefile Makefile.bak imake -DUseInstalled -I/usr/X11R6/lib/X11/config make Makefiles [snip]
Hodně aplikací v ports tree podporuje různé instalační volby nazývané flavors. Pokud port existuje ve více variantách, můžete použít tyto volby jednoduše nastavením proměnné prostředí před tím, než zkompilujete port. Pokud potřebujete více vlastností, můžete nastavit proměnnou FLAVOR na mezerami oddělený seznam podporovaných a požadovaných flavors. Momentálně má mnoho portů varianty, které zahrnují podporu databází, podporu pro systémy bez X nebo sítové přídavky jako SSL nebo IPv6.
$ pwd /usr/ports/net/mtr $ make show=FLAVORS curses $ env FLAVOR="curses" make ===> mtr-0.42-curses depends on: gmake-3.79.1 - found ===> Checking files for mtr-0.42-curses >> mtr-0.42.tar.gz doesn't seem to exist on this system. >> Attempting to fetch /usr/ports/distfiles/mtr-0.42.tar.gz from ftp://ftp.bitwizard.nl/mtr/. [snip] $ sudo env FLAVOR="curses" make install ===> Faking installation for mtr-0.42-curses ===> Building package for mtr-0.42-curses Creating package /usr/ports/packages/i386/All/mtr-0.42-curses.tgz Using SrcDir value of /usr/ports/net/mtr/w-mtr-0.42-curses/fake-i386-curses/usr/local Creating gzip'd tar ball in '/usr/ports/packages/i386/All/mtr-0.42-curses.tgz' ===> Installing mtr-0.42-curses from /usr/ports/packages/i386/All/mtr-0.42-curses.tgz
Seznam portů i balíků můžete vidět pomocí programu pkg_info.
$ /usr/sbin/pkg_info zsh-4.0.4 The Z shell. screen-3.9.11 A multi-screen window manager. emacs-21.1 GNU editing macros. tcsh-6.10.00 An extended C-shell with many useful features. bash-1.14.7 The GNU Borne Again Shell. zip-2.3 Create/update ZIP files compatible with pkzip. ircii-20011210 An enhanced version of ircII, the Internet Relay Chat client ispell-3.2.06 An interactive spelling checker. tin-1.4.5 TIN newsreader (termcap based) procmail-3.22 A local mail delivery agent. strobe-1.06 Fast scatter/gather TCP port scanner lsof-4.61p1 Lists information about open files. ntp-4.1.72 Network Time Protocol Implementation. ncftp-3.0.4 ftp replacement with advanced user interface nmh-1.0.4 The New MH mail handling program bzip2-1.0.2 A block-sorting file compressor
Více informací o portech můžete nalézt v manuálové stránce ports(7) a na stránce portů.
Náš ports tree se neustále rozšiřuje, a pokud byste při tomto rozšiřování
chtěli pomoci, podívejte se sem:
http://www.openbsd.org/cs/porting.html
Packages jsou předkompilované binárky nejčastěji používaných programů. Jsou připraveny pro použití na OpenBSD. Stejně jako porty i packages jsou jednodušše udržovatelné a updatovatelné. Packages jsou trvale přidávány, proto zkontrolujte každou další verzi OpenBSD pro přidané balíky.
Následuje seznam programů pro práci s packages.
Pokud jste pravý uživatel OpenBSD a koupili jste si OpenBSD CD, pak se packages nacházejí na obou CD v závislosti na architektuře. Pokud nemáte OpenBSD CD k dispozici (divné..), můžete stáhnout packages z kteréhokoliv ftp miroru. Seznam mirorů je tady: http://www.openbsd.org/ftp.html. Packages se nacházejí v /pub/OpenBSD/3.1/packages kde jsou dále rozděleny podle architektury.
$ sudo pkg_add -v screen-3.9.11.tgz Requested space: 749864 bytes, free space: 2239117312 bytes in /var/tmp/instmp.cpsHA27596 Running install with PRE-INSTALL for `screen-3.9.11' extract: Package name is screen-3.9.11 extract: CWD to /usr/local extract: /usr/local/bin/screen-3.9.11 extract: execute 'ln -sf screen-3.9.11 /usr/local/bin/screen' extract: /usr/local/man/man1/screen.1 extract: /usr/local/info/screen.info extract: execute '[ -f /usr/local/info/dir ] || sed -ne '1,/Menu:/p' /usr/share/info/dir > /usr/local/info/dir' extract: execute 'install-info /usr/local/info/screen.info /usr/local/info/dir' extract: /usr/local/lib/screen/screencap extract: /usr/local/lib/screen/screenrc extract: CWD to . Running mtree for `screen-3.9.11' mtree -q -U -f +MTREE_DIRS -d -e -p /usr/local Running install with POST-INSTALL for `screen-3.9.11' +--------------- | The file /etc/screenrc has been created on your system. | You may want to verify/edit its contents | | The file /usr/local/lib/screen/screencap contains a | termcap like description of the screen virtual terminal. | You may use it to update your terminal database. | See termcap(5). +--------------- Attempting to record package into `/var/db/pkg/screen Package `screen-3.9.11' registered in `/var/db/pkg/screen-3.9.11'
Použili jsme flag -v, abychom dostali podrobnější výstup. Tento flag není zapotřebí, ale dobrý při ladění a použili jsme ho zde, abychom vám ukázali pozadí celého příkazu pkg_add(1). Všimněte si, že je tu několik zpráv, které se objevily jako např. /etc/screenrc. Tyto informace se vypisují i bez volby -v.
$ sudo pkg_add ftp://ftp.openbsd.org/pub/OpenBSD/2.6/packages/i386/screen-3.9.11.tgz >>> ftp -o - ftp://ftp.openbsd.org/pub/OpenBSD/2.6/packages/i386/screen-3.9.11.tgz +--------------- | The file /etc/screenrc has been created on your system. | You may want to verify/edit its contents | | The file /usr/local/lib/screen/screencap contains a | termcap like description of the screen virtual terminal. | You may use it to update your terminal database. | See termcap(5). +---------------
V našem příkladu jsme instalovali balík pro architekturu i386, tu však můžete nahradit vaši architekturou. Poznámka: Ne všechny architektury mají stejný softwarový balík. Některé porty nepracují na určitých architekturách. V druhém příkladu nebyla použita volba -v, proto jsou vypsány pouze NUTNÉ zprávy.
Používá se program pkg_info(1) pro zjištění, které balíky jsou již instalovány v systému. Tento postup je důležitý pro zjištění správného jména balíku v případě, že jej chcete odstranit. Výpis instalovaných balíků:
$ pkg_info mpg123-0.59r mpeg audio 1/2 layer 1, 2 and 3 player nmap-2.54BETA25 port scanning large networks ircii-20011210 enhanced version of ircII (internet relay chat) screen-3.9.11 multi-screen window manager unzip-5.42 extract, list & test files in a ZIP archive ntp-4.1.72 Network Time Protocol implementation icb-5.0.9 Internet CB - mostly-defunct chat client
Při mazání balíku, jednodušše vezměte správný název balíku jak byl vypsán pomocí pkg_info(1) a použijte pkg_delete(1) pro jeho odstranění. V následujícím příkladě odstraníme package screen. Tak jako v případě pkg_add(1) můžeme i zde použít flag -v pro získání podrobnějšího výstupu.
$ sudo pkg_delete screen-3.9.11 +--------------- | To completely deinstall the screen-3.9.11 package you need to perform | this step as root: | | rm -f /etc/screenrc | | Do not do this if you plan on re-installing screen-3.9.11 | at some future time. +---------------
Jde to. Potřebujete přidat "flags 0x20" na konec fd* entry a rekompilovat jádro. Měla by se načíst řádka:
fd* at fdc? drive ? flags 0x20
Poté budete moci používat floppy drive kdykoliv, bez ohledu na to, zda jste ji připojili až po bootu.
Při bootování OpenBSD jste si patrně všimli boot promptu.
Většina lidí v tomto okamžiku nebude nic dělat. Boot bude automaticky pokračovat, pokud nezadáte žádné příkazy. Někdy se však objeví problém, nebo potřebujete speciální funkce. Nyní tyto volby přicházejí vhod. Prozačátek byste si měli přečíst manuálovou stránku boot(8). Zde projdeme nejdůležitější příkazy pro bootloader.
Po startu, pokud nezadáte na promptu žádné příkazy, bootloader zkusí automaticky bootovat jádro ze souboru /bsd. Pokud se to nepodaří bude zkoušet /obsd, a pokud se i to nepodaří, zkusí /bsd.old. Které jádro se bude bootovat můžete specifikovat ručně:
boot> boot wd0a:/bsd
Toto funguje, pokud zařízení wd0a je konfigurováno jako root device.
Následuje krátký seznam voleb, které můžete použít spolu s OpenBSD jádrem.
Tyto volby se zadávají ve formátu: boot [ image [-acds]]
Pro další informace viz. manuálová stránka boot_i386(8)
S/Key je ``one-time password'' schéma. Zavádí hesla na jedno použití na nezabezpečených linkách. Toto schéma se hodí pro ty, kteří nemohou používat ssh nebo jiné šifrované linky. Implementace S/Key v OpenBSD používá různé algoritmy jako jednocestné hashe. Zde je seznam algoritmů, které jsou k dispozici:
Abyste mohli začít, musí existovat soubor /etc/skeykeys. Pokud neexistuje, musí ho superuživatel vytvořit. Např.:
# touch /etc/skeykeys
Jakmile tento soubor existuje, můžete inicializovat váš S/Key. Proveďte to pomocí skeyinit(1). V skeyinit(1) budete vyzváni k zadání vašeho uživatelského hesla. Spouštění skeyinit(1) přes nezabezpečené kanály se zcela nedoporučuje, mělo by se tak tedy dít buďto přes bezpečný kanál (jaký vytváří např. ssh), nebo z konzole. Poté co jste se autorizovali vaším uživatelským heslem, budete žádáni o další heslo. Toto heslo je bezpečné heslo pro S/Key a NENÍ to vaše uživatelské heslo. Bezpečné heslo musí mít délku alespon 10 znaků. Doporučujeme použít zapamatovatelnou frázi obsahující několik slov. Zde je příklad přidání uživatele:
$ skeyinit ericj [Adding ericj] Reminder - Only use this method if you are directly connected or have an encrypted channel. If you are using telnet or rlogin, exit with no password and use skeyinit -s. Enter secret password: Again secret password: ID ericj skey is otp-md5 99 oshi45820 Next login password: HAUL BUS JAKE DING HOT HOG
Zvláště podstatná je zde řádka ID ericj skey is otp-md5 99 oshi45820. Tento řetězec dává uživateli mnoho cených informací. Zde je význam jednotlivých polí tohoto řetězce:
Stejně tak důležité je však i vaše heslo. To se skládá ze šesti malých slov, kombinovány společně vytvářejí vaše heslo.
Poté co jste inicializovali váš skey a máte své heslo, můžete se přihlásit. Zde je příklad session používající s/key k přihlášení. Počínaje OpenBSD 3.0, S/Key login funguje jinak. V OpenBSD 3.0 a novějších přidáte :skey k vašemu login name. Pro verze OpenBSD předcházející 3.0 zadáte s/key jako heslo a v tom okamžiku jste vyzvání k zadání vašeho S/Key hesla (vyjímkou je ftpd(8). který vždy provede S/Key challenge pro uživatele s povoleným S/Key v OpenBSD starším než 3.0). Následující příklad předpokládá OpenBSD 3.0 nebo novější:
$ ftp localhost Connected to localhost. 220 oshibana.shin.ms FTP server (Version 6.5/OpenBSD) ready. Name (localhost:ericj): ericj:skey 331- otp-md5 96 oshi45820 331 S/Key Password: 230- OpenBSD 3.0 (OSHIBANA) #8: Tue Dec 22 19:20:16 EDT 2001 230- 230- Welcome to OpenBSD: The proactively secure Unix-like operating system. 230- 230- Please use the sendbug(1) utility to report bugs in the system. 230- Before reporting a bug, please try to reproduce it with the latest 230- version of the code. With bug reports, please try to ensure that 230- enough information to reproduce the problem is enclosed, and if a 230- known fix for it exists, include that as well. 230- 230 User ericj logged in. Remote system type is UNIX. Using binary mode to transfer files. ftp> quit 221 Goodbye.
Všimněte si, že jsem přidal ":skey" k svému username. To říká ftpd, že se chci autentizovat pomocí S/Key. Možná jste si všimli, že se změnilo moje sequence number na otp-md5 96 oshi45820. Je to tím, že jsem doposud již několikrát použil s/key pro přihlášení. Jak ale dostanu svoje heslo poté, co jsem se již přihlásil? K tomu budete potřebovat znalost vašeho sequence number a klíče, který používáte. Jak již asi tušíte, jak si můžete pamatovat, jaké sequence number používáte? No, zjistit to je jednoduché, použijte skeyinfo(1), a to vám řekne, jaké sequence number použít. Například zde potřebujeme vygenerovat jiné heslo pro přihlášení někdy v budoucnu (pamatujte si, že následující provádíme z bezpečného kanálu).
$ skeyinfo 95 oshi45820
Ještě lepší způsob je použít skeyinfo -v, který produkuje příkaz vhodný ke spuštění v shellu. Například:
$ skeyinfo -v otp-md5 95 oshi45820
Nejen že otp-md5 je popis použité hash funkce, ale je to také alternativní název příkazu skey(1). Takže nejjednudušší způsob vygenerování dalšího S/Key je jednoduše:
$ `skeyinfo -v` Reminder - Do not use this program while logged in via telnet or rlogin. Enter secret password: NOOK CHUB HOYT SAC DOLE FUMEVšimněte si zpětných apostrofů v předchozím přikladu.
Jsem si jistý, že mnoho z vás nemá vždy k dispozici bezpečný datový kanál pro vytvoření těchto hesel, a vytváření přes nezabezpečený kanál je neproveditelné, takže jak můžete vytvořit více těchto hesel najednou? Můžete dodat skey(1) jako argument číslo udávající počet hesel, která chcete vytvořit. Tento seznam si můžete vytisknout a vzít si ho s sebou kam chcete.
$ otp-md5 -n 5 95 oshi45820 Reminder - Do not use this program while logged in via telnet or rlogin. Enter secret password: 91: SHIM SET LEST HANS SMUG BOOT 92: SUE ARTY YAW SEED KURD BAND 93: JOEY SOOT PHI KYLE CURT REEK 94: WIRE BOGY MESS JUDE RUNT ADD 95: NOOK CHUB HOYT SAC DOLE FUME
Poznamenejme snad jen, že nejspodnější heslo by mělo být to, které použijete jako první, protože u nás počítáme od 100 dolů.
Použití S/Key spolu s telnetem, ssh a rloginem se dělá stejným způsobem jako v případě ftp -- pouze přidáte ":skey" na konec vašeho username. Příklad:
$ telnet localhost Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. OpenBSD/i386 (oshibana) (ttyp2) login: ericj:skey otp-md5 98 oshi45821 S/Key Password: SCAN OLGA BING PUB REEL COCA Last login: Thu Oct 7 12:21:48 on ttyp1 from 156.63.248.77 Warning: no Kerberos tickets issued. OpenBSD 3.0 (OSHIBANA) #4: Thu Dec 2 23:36:16 EDT 2001 Welcome to OpenBSD: The proactively secure Unix-like operating system. Please use the sendbug(1) utility to report bugs in the system. Before reporting a bug, please try to reproduce it with the latest version of the code. With bug reports, please try to ensure that enough information to reproduce the problem is enclosed, and if a known fix for it exists, include that as well. You have mail. $
This is caused by a hardware bug. OpenBSD uses clock interrupts to keep track of the current time, but these interrupts have the lowest priority in Apple's architecture. So, under heavy load, (such as disk or network activity) clock interrupts will be lost and the Unix clock will not advance as it should.
MacOS gets around the time problem by always reading the hardware clock. OpenBSD only reads the hardware clock at boot time and thereafter ignores it. You may notice that, at shutdown, the kernel is not confident enough to write the Unix time back into the hardware clock because this time loss problem is well known.
The best solution is to run ntpd (found in the ports collection) and just deal with the occasional lossage. Sometimes the lossage is so bad that even ntpd is afraid to skip the time. In this case, add the -g option to ntpd in /etc/rc.securelevel to force tracking.
Another simpler but less precise solution is to run rdate(8) on a regular basis, for example by having a crontab entry for it, preferably with the -a option so there is no "jump" in time. Another good place to launch rdate(8) is in your /etc/ppp/ppp.linkup file if you are not permanently connected and are a PPP user.
See also: http://www.macbsd.com/macbsd/macbsd-docs/faq/faq-3.html#ss3.17
Na většině platforem OpenBSD poběží na SMP systému, ale bude používat jenom jeden procesor. Vyjímka je SPARC platforma -- OpenBSD/sparc vůbec nepoběží na některých multiprocesorových SPARC systémech (Obecné pravidlo: jeden MBus modul funguje vždy. Více MBus modulů bude fungovat pokud jsou jednoprocesorové moduly a samozřejmě podporované). Multiprocesorové SPARC64 systémy poběží, pokud je základní mašina podporovaná.
Jak mohu přispět?
Pro spojení vyvolané OpenBSD systémem musíte používat /dev/cuaXX, /dev/ttyXX se již používají jen jako terminály, nebo při dial-in. Přestože v minulosti bylo možné používat zařízení tty, OpenBSD kernel tyto možnosti již nepodporuje.
Výňatek z cua(4):
For hardware terminal ports, dial-out is supported through matching device nodes called calling units. For instance, the terminal called /dev/tty03 would have a matching calling unit called /dev/cua03. These two devices are normally differentiated by creating the calling unit device node with a minor number 128 greater than the dial-in device node. Whereas the dial-in device (the tty) normally requires a hardware signal to indicate to the system that it is active, the dial-out device (the cua) does not, and hence can communicate unimpeded with a device such as a modem. This means that a process like getty(8) will wait on a dial-in device until a connection is established. Meanwhile, a dial-out connection can be established on the dial-out device (for the very same hardware terminal port) without disturbing anything else on the system. The getty(8) process does not even notice that anything is happening on the terminal port. If a connecting call comes in after the dial-out connection has finished, the getty(8) process will deal with it properly, without having noticed the intervening dial-out action.
Lynx, textový prohlížeč, je v základním systému a podporuje SSL. Další browsery v ports tree zahrnují (v žádném konkrétním pořadí):
Grafické (X) prohlížeče
Všechny tyto prohlížeče najde v kolekci portů. Všechny výše uvedené browsery se po instalaci ports tree naházejí v /usr/ports/www. Většina z nich je také dostupná jako předkompilované balíčky dostupné na FTP serverech a na CDROM. Vzhledem k tomu, že většina grafických prohlížečů je hodně velkých a vyžadují nějaký čas ke stažení a kompilaci, je rozhodně vhodné zvážit využítí balíčků.
Mg je micro Emacs-style text editor. Micro znamená, že je malý (Emacs je strááášně velký). Pro základní info si přečtěte man page mg(1) a tutorial, který přichází spolu se zdrojovým kódem. Pro další zajímavé otázky typu Nemám svůj Meta key! se podívejte do Emacs FAQ.
Poznamenejme, že mg je malá implementace Emacsu, která je svými vlastnostmi nejodobnější verzi Emacs 17, neimplementuje řadu vlastností Emacsu. (Včetně mail a news funkcí, stejně tak modů Lisp, C++, Lex, Awk, Java, atd...)
Jsou zde dva možné důvody.
V xtermu není před argv[0] pro ksh pomlčka. Přidáním pomlčky před argv[0] docílíte toho, že csh a ksh ví jak mají interpretovat svoje login soubory. (pro csh je to .login, s odděleným .cshrc, který je vždy spuštěn při startu csh. S ksh je to ještě zřejmější, protože je tu jen jeden script a sice .profile. Tento soubor je ignorován, pokud tento shell není login shell.)
Náprava spočívá v přidání řádku XTerm*loginShell: true do souboru .Xdefaults ve vašem domovském adresáři. Pokud tento soubor neexistuje, budete ho muset vytvořit.
Možná to nemusíte dělat, protože některé instalace X Window System přichází s tímto nastavením defaultně. OpenBSD zvolilo následovat chování XFree86.
/etc/motd se edituje při startu systému, nahrazuje se v něm všechno až do, ale ne včetně, první prázdné řádky informací o verzi jádra. Editujete-li tento soubor, začněte za touto prázdnou řádkou, aby jste uchránili tyto řádky před editací, kterou provádí /etc/rc při startu.
Přestože žádný z vývojářů tuto otázku nepokládá za podstatnou, objevuje se stále v konferenci, a proto na ni odpovídáme zde. www.openbsd.org a hlavní ftp OpenBSD je hostováno u SunSITE na University of Alberta, Canada. Hosting se provádí na velkém systému Sun, který má přístup k velkému úložnému prostoru a rychlým Internetovým linkám. Přítomnost SunSITE dává skupině OpenBSD přístup k těmto linkám. Proto zde běží hlavní sajty. Mnoho OpenBSD mirorů běží na OpenBSD, ale protože tyto nemají přístup k výkonným linkám, skupina se rozhodla nechat hostovat hlavní sajty na SunSITE, University of Alberta.
Existuje jistá možnost, že na některých strojích nebude správně detekován PCI hardware, nebo může dojít k zamrznutí při detekování více NIC (network interface card). Je to chyba PCIBIOSu a je nutná jednoduchá náprava, aby vše fungovalo tak jak má. Jednodušše vstupte do konfigurace při startu a vypněte PCIBIOS. Příklad:
boot> boot -c
Copyright (c) 1982, 1986, 1989, 1991, 1993
The Regents of the University of California. All rights reserved.
Copyright (c) 1995-2002 OpenBSD. All rights reserved. http://www.OpenBSD.org
OpenBSD 3.1 (RAMDISK_CD) #242: Sat Apr 13 15:35:54 MDT 2002
deraadt@i386.openbsd.org:/usr/src/sys/arch/i386/compile/RAMDISK_CD
cpu0: Intel Pentium III (Coppermine) ("GenuineIntel" 686-class, 128KB L2 cache)
1 GHz
cpu0: FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,SYS,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXS
R,SIMD
real mem = 267956224 (261676K)
avail mem = 243347456 (237644K)
using 3296 buffers containing 13500416 bytes (13184K) of memory
User Kernel Config
UKC> disable pcibios
UKC> quit
[... snip ...]
|
Po nabootování následujte FAQ 5, Tvorba vlastního jádra a vytvořte vlastní nový kernel, ve kterém PCIBIOS pochopitelně vypnete.
Podívejte se sem.
Ne nepodporuje. Pro dosažení podobných výsledků používáme odlišný mechanismus, který se nazývá Soft Updates. Přečtěte si prosím FAQ 14 pro více detailů.
Mnoho nových uživatelů OpenBSD se setká s dvouminutovou prodlevou přihlášení při používání služeb jako ssh, ftp nebo telnet. Také to lze pozorovat při používání proxy, jako ftp-proxy, nebo při odesílání mailu z pracovní stanice pomocí sendmail.
To je skoro vždy způsobeno problémem s reverzním DNS. DNS je Domain Name Services, systém, který Internet používá k převodu jmena, jako třeba "www.openbsd.org" na číselné IP adresy. Dalším úkolem DNS je schopnost vzít číselnou adresu a převést ji zpátky na "jméno", což je "Reverzní DNS".
Ve snaze poskytnout lepší logování OpenBSD provádí reverzní DNS dotazy na jakýkoliv počítač, který se k němu připojuje některým z mnoha způsobů včetně ssh, ftp, telnet, sendmail, nebo ftp-proxy. Bohužel, v některých případech počítač, který se připojuje, nemá správný záznam v reverzním DNS.
To může být celkem otravné. Naštěstí to lze snadno spravit.
Váš soubor /etc/hosts bude vypadat nějak takhle:
::1 localhost.in.example.org localhost 127.0.0.1 localhost.in.example.org localhost 192.168.1.1 gw.in.example.org gw 192.168.1.20 scrappy.in.example.org scrappy 192.168.1.35 shadow.in.example.org shadow |
::1 localhost.in.example.org localhost
127.0.0.1 localhost.in.example.org localhost
192.168.1.1 gw.in.example.org gw
192.168.1.20 scrappy.in.example.org scrappy
192.168.1.35 shadow.in.example.org shadow
192.168.1.100 d100.in.example.org d100
192.168.1.101 d101.in.example.org d101
192.168.1.102 d102.in.example.org d102
[... snip ...]
192.168.1.198 d198.in.example.org d198
192.168.1.199 d199.in.example.org d199
|
Pokud vaše gateway musí pro konfiguraci používat DHCP, máte problém -- dhclient přepíše váš /etc/resolv.conf po každé, když se obnovuje lease, čímž vymaže řádek "lookup file bind". To může být vyřešeno přidáním řádku "lookup file bind" do souboru /etc/resolv.conf.tail.
Současné webové stránky byly pečlivě vyladěny, aby fungovaly v široké škále současných browserů a zpátky až k browserům ve verzi 4.0 a starších. Nechceme měnit tyto staré stránky podle HTML4 nebo XHTML, dokud si nebudeme jisti, že budou fungovat ve starších prohlížečích; prostě to není priorita. Vítáme nové přispěvovatele, ale doporučujeme vám pracovat na psaní kódu nebo dokumentování nových aspektů systému, ne na upravování existujícíh stránek tak, aby splňovali novější standardy.
[Back to main index] [Do sekce 7.0 - Práce s klávesnicí] [Do sekce 9.0 - Přechod od Linuxu]