The Code Is Fine


"The Code Is Fine; What's Wrong with You?"

In most cases, people do not have problems with OpenBSD itself. The software runs, and it runs well. Most problems people have with OpenBSD come from their own understanding, or lack thereof. When a program behaves unexpectedly, you probably have a gap in your own comprehension of how things work. Your goal in resolving problems should be to improve your knowledge so you can make the system behave, as you require. Other people make OpenBSD work correctly, and you can too.

You might find that a problem is quite real, however. You might uncover a bug in OpenBSD, or learn that you have bad hardware, or discover that a third-party tool really does crash under particular circumstances. You cannot be certain you've found a bug until you understand correct behavior — not just how you think the system works, but how it really does work. You must learn how the system should behave and why, so you can identify real bugs when you find them.

For example, before writing this book I had never used an OpenBSD machine to display a serial console. All of my UNIX boxes are hooked up to a rusty old Livingston terminal server. Most people aren't stuck with that many serial consoles, however, and want to use a null modem cable between two OpenBSD machines and have each serve as the terminal for the other's console. (We cover serial consoles in Chapter 6.) From reading the manual page, it seemed simple enough; once the cable is attached and the test machine is configured to dump its console out the serial port, become root on your display machine and type "tip tty00," and the other machine's console should appear in the terminal window. This didn't work.

The question then became, "Am I doing it wrong, or is something wrong with my hardware, or is there a bug in OpenBSD?" Swapping systems around showed that the command worked on other OpenBSD machines, just not on this test box. Further tests with a serial mouse and a modem showed that the serial port on the test machine was bad. I originally planned to do all of the tests for this book on a Pentium 166 to make the point that OpenBSD works well on older hardware [1], but wound up purchasing a brand-new AMD 1800 instead.

Had the serial port not been bad, and if I had taken the correct steps, I might have actually found an OpenBSD bug. Once you have confirmed that an actual bug exists, and have narrowed down the bug to a precise problem, be sure to notify the OpenBSD development team with sendbug(1). A good bug report includes all possible information about the problem, a description of the problem, a way to replicate the problem on other systems, and a suggested fix with source code.

OpenBSD has three main information sources: man pages, websites, and mailing lists. To understand why your system behaves a certain way in particular circumstances, you may need to check all three.

[1]That point has now become, "OpenBSD runs well on older hardware that hasn't been burned out after years of abuse."




Absolute Openbsd(c) Unix for the Practical Paranoid
Absolute OpenBSD: Unix for the Practical Paranoid
ISBN: 1886411999
EAN: 2147483647
Year: 2005
Pages: 298

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net