Comprehensive user's/programmer's manual for OpenBSD: Do they exist?

classic Classic list List threaded Threaded
14 messages Options
Reply | Threaded
Open this post in threaded view
|

Comprehensive user's/programmer's manual for OpenBSD: Do they exist?

David Lou
I wasn't able to find such a thing but perhaps I just missed it. I
am wondering if anyone in the community knows whether such manuals
exist for OpenBSD. Manpages are nice but they're not what I'm looking
for. Trying to learn OpenBSD by looking up individual manpages is like
trying to learn C programming by looking up individual functions. Sure
you get a description of the functions but you will NOT get all the
background information like C syntax, semantics, memory model,
pointers, the whole shebang that every beginner *should* know, but
don't have the background knowledge to know that they should be
looking these up in manpages or elsewhere.

I'd like to acquire confident working knowledge in OpenBSD. If no
such manuals exist, then I'm wondering how did you or other expert
users learn how to use and administrate the system, what the best
programming practices are, etc. and have confidence that what they're
doing is what they think they're doing? Surely it's not just by
trial and error and seeing what appears to work because their
ignorance will be a frustrating source of bugs and security flaws?

Reply | Threaded
Open this post in threaded view
|

Re: Comprehensive user's/programmer's manual for OpenBSD: Do they exist?

Kamil Cholewiński
On Sat, 07 May 2016, David Lou <[hidden email]> wrote:

> I wasn't able to find such a thing but perhaps I just missed it. I
> am wondering if anyone in the community knows whether such manuals
> exist for OpenBSD. Manpages are nice but they're not what I'm looking
> for. Trying to learn OpenBSD by looking up individual manpages is like
> trying to learn C programming by looking up individual functions. Sure
> you get a description of the functions but you will NOT get all the
> background information like C syntax, semantics, memory model,
> pointers, the whole shebang that every beginner *should* know, but
> don't have the background knowledge to know that they should be
> looking these up in manpages or elsewhere.
>
> I'd like to acquire confident working knowledge in OpenBSD. If no
> such manuals exist, then I'm wondering how did you or other expert
> users learn how to use and administrate the system, what the best
> programming practices are, etc. and have confidence that what they're
> doing is what they think they're doing? Surely it's not just by
> trial and error and seeing what appears to work because their
> ignorance will be a frustrating source of bugs and security flaws?

Start with the FAQ. As a *BSD beginner with only Linux knowledge, I
found it quite good at explaining all the basics, and the manuals (and
reading misc@, including the archives!) helped to fill in the gaps.

Set up a playground in Qemu or similar, or best - on some real hardware
that you can spare. Try things. Do things. Break things. Fix things.
Make it do something useful, like a file or game server, or use it as
your desktop. Have fun!

K.

Reply | Threaded
Open this post in threaded view
|

Re: Comprehensive user's/programmer's manual for OpenBSD: Do they exist?

Denis Fondras
In reply to this post by David Lou
> I'd like to acquire confident working knowledge in OpenBSD. If no
> such manuals exist, then I'm wondering how did you or other expert
> users learn how to use and administrate the system, what the best
> programming practices are, etc. and have confidence that what they're
> doing is what they think they're doing? Surely it's not just by
> trial and error and seeing what appears to work because their
> ignorance will be a frustrating source of bugs and security flaws?
>

For a user, Absolute OpenBSD 2nd Ed. is probably a bit old but still relevant in
many areas :
https://www.michaelwlucas.com/nonfiction/absolute-openbsd-2nd-edition

And the OpenBSD site is of course full of useful resources.

Reply | Threaded
Open this post in threaded view
|

Re: Comprehensive user's/programmer's manual for OpenBSD: Do they exist?

Alex Poslavsky
In reply to this post by David Lou
On 05/07, David Lou wrote:

>I wasn't able to find such a thing but perhaps I just missed it. I
>am wondering if anyone in the community knows whether such manuals
>exist for OpenBSD. Manpages are nice but they're not what I'm looking
>for. Trying to learn OpenBSD by looking up individual manpages is like
>trying to learn C programming by looking up individual functions. Sure
>you get a description of the functions but you will NOT get all the
>background information like C syntax, semantics, memory model,
>pointers, the whole shebang that every beginner *should* know, but
>don't have the background knowledge to know that they should be
>looking these up in manpages or elsewhere.
>
>I'd like to acquire confident working knowledge in OpenBSD. If no
>such manuals exist, then I'm wondering how did you or other expert
>users learn how to use and administrate the system, what the best
>programming practices are, etc. and have confidence that what they're
>doing is what they think they're doing? Surely it's not just by
>trial and error and seeing what appears to work because their
>ignorance will be a frustrating source of bugs and security flaws?
>

Besides the FAQ, the Absolute OpenBSD book is good as well:
https://www.michaelwlucas.com/nonfiction/absolute-openbsd-2nd-edition

But you sell the OpenBSD manpages short. As a beginner
myself, I noticed that virtually every question I have can be answered
with either the FAQ, or the man-pages.

The man-pages in OpenBSD are much more comprehensive *and* cohesive
then on Linux. Start with help(1) and afterboot(8), then  intro(1..9).
From there follow all the links it gives you, and you'll have a very good
overview of your system. The man-pages not just explain command-line
switches, they also explain the how, with working examples, and why of
commands, system calls, the c-library etc.

Have fun, Alex

Reply | Threaded
Open this post in threaded view
|

Re: Comprehensive user's/programmer's manual for OpenBSD: Do they exist?

Teng Zhang-2
Actually, there is indeed some knowledge that can't get from manual and
faq. I usually use wikipedia and openbsd src tree(especially, the include
files) as references(and the most interesting part i love is the comments
embeded in the source code).
2016年5月8日 上午2:53,"Alex Poslavsky"
<[hidden email]>写道:

> On 05/07, David Lou wrote:
>
>> I wasn't able to find such a thing but perhaps I just missed it. I
>> am wondering if anyone in the community knows whether such manuals
>> exist for OpenBSD. Manpages are nice but they're not what I'm looking
>> for. Trying to learn OpenBSD by looking up individual manpages is like
>> trying to learn C programming by looking up individual functions. Sure
>> you get a description of the functions but you will NOT get all the
>> background information like C syntax, semantics, memory model,
>> pointers, the whole shebang that every beginner *should* know, but
>> don't have the background knowledge to know that they should be
>> looking these up in manpages or elsewhere.
>>
>> I'd like to acquire confident working knowledge in OpenBSD. If no
>> such manuals exist, then I'm wondering how did you or other expert
>> users learn how to use and administrate the system, what the best
>> programming practices are, etc. and have confidence that what they're
>> doing is what they think they're doing? Surely it's not just by
>> trial and error and seeing what appears to work because their
>> ignorance will be a frustrating source of bugs and security flaws?
>>
>>
> Besides the FAQ, the Absolute OpenBSD book is good as well:
> https://www.michaelwlucas.com/nonfiction/absolute-openbsd-2nd-edition
>
> But you sell the OpenBSD manpages short. As a beginner
> myself, I noticed that virtually every question I have can be answered
> with either the FAQ, or the man-pages.
>
> The man-pages in OpenBSD are much more comprehensive *and* cohesive
> then on Linux. Start with help(1) and afterboot(8), then  intro(1..9).
> From there follow all the links it gives you, and you'll have a very good
> overview of your system. The man-pages not just explain command-line
> switches, they also explain the how, with working examples, and why of
> commands, system calls, the c-library etc.
>
> Have fun, Alex

Reply | Threaded
Open this post in threaded view
|

Re: Comprehensive user's/programmer's manual for OpenBSD: Do they exist?

Stuart Henderson
On 2016-05-08, Teng Zhang <[hidden email]> wrote:
> Actually, there is indeed some knowledge that can't get from manual and
> faq. I usually use wikipedia and openbsd src tree(especially, the include
> files) as references(and the most interesting part i love is the comments
> embeded in the source code).

There's a lot of information in cvs history too.

As for books, OpenBSD is still very much in the BSD tradition,
the classics are still fairly relevant for general structure though
obviously you'll need to take changes into account, I've found these
useful on occasion:

Advanced programming in the UNIX environment
Design and implementation of the 4.4BSD Operating System
TCP/IP Illustrated volume 2 (the implementation)

Reply | Threaded
Open this post in threaded view
|

Re: Comprehensive user's/programmer's manual for OpenBSD: Do they exist?

Peter J. Philipp-3
In reply to this post by David Lou
On Sat, May 07, 2016 at 11:12:56AM +0000, David Lou wrote:

> I wasn't able to find such a thing but perhaps I just missed it. I
> am wondering if anyone in the community knows whether such manuals
> exist for OpenBSD. Manpages are nice but they're not what I'm looking
> for. Trying to learn OpenBSD by looking up individual manpages is like
> trying to learn C programming by looking up individual functions. Sure
> you get a description of the functions but you will NOT get all the
> background information like C syntax, semantics, memory model,
> pointers, the whole shebang that every beginner *should* know, but
> don't have the background knowledge to know that they should be
> looking these up in manpages or elsewhere.
>
> I'd like to acquire confident working knowledge in OpenBSD. If no
> such manuals exist, then I'm wondering how did you or other expert
> users learn how to use and administrate the system, what the best
> programming practices are, etc. and have confidence that what they're
> doing is what they think they're doing? Surely it's not just by
> trial and error and seeing what appears to work because their
> ignorance will be a frustrating source of bugs and security flaws?

I'm willing to share my experience with you.  First off I'm a mediocre
programmer at best.  Writing C code wasn't so much a challenge, it was
reading and understanding others code.  I started programming C at around
1996, for which I had some "teach yourself C in 2 weeks" book.  I have
since forgotten about it, but the only thing that stuck with me was how
a singly linked list was made in it, nowadays people don't do that and
use the queue(3) macros found in libc.  Around 1997 I then bought the
infamous K&R book (2nd edition).  I remember being stuck on pointers and
reading the same pages over and over in the back of a bus while going
to work.  Also around 1996 a person who I got to know through MUD games
was nice enough to answer some questions.  He sent me some skeleton server
code which was nice enough to give me some idea how sockets worked, but
later I bought UNIX Network Programming by W.R.Stevens, that was the first
edition where only a single book and not a series existed (I got the 2nd
editions too, a bit later).  So may it be told that books are the #1 source
of information on this, the rest is a nice to have but not really that
important.  With a budget of $200 dollars you can get 3 or 4 rocking books
to help with your C education.  200 is a lot but not if you work somewhere
you can save up for it.  In terms of security flaws it's being alert and
questioning something IMO, don't take a "pro's" advice on that "it's just
unimportant" but stick with it, and try to scientifically find the fix.

You know science where you have a thesis, do some work to proof your answer
and then produce a conclusion, and this conclusion often has a fix for your
work.  It's the application of method when I say scientifically finding proof.
When dealing with computer science you'll need to read code when you want
something improved, and you'll need experience with your method in order to
find those "hard to do" parts and understand how "they" did that, in order
to apply your fix.  I personally also see people run statistics to show that
something improved that they did.

OK long ramble.  Maybe it's an answer you can use.  Having failed it however
one may just say "you need a university education" which doesn't apply to me
in any case although I have a few college credits in computer engineering.

-peter

Reply | Threaded
Open this post in threaded view
|

Re: Comprehensive user's/programmer's manual for OpenBSD: Do they exist?

Chris Bennett
In reply to this post by Stuart Henderson
On Sun, May 08, 2016 at 07:35:17AM +0000, Stuart Henderson wrote:
>
> Advanced programming in the UNIX environment
>

I highly recommend this book. It gives an excellent overall picture
which is essential if you are going to try to do anything.
Everything is tied together overall, if you can't get that full picture,
forget doing anything very useful.

Chris Bennett

Reply | Threaded
Open this post in threaded view
|

Re: Comprehensive user's/programmer's manual for OpenBSD: Do they exist?

Mihai Popescu-3
In reply to this post by David Lou
> I highly recommend this book. It gives an excellent overall picture
> which is essential if you are going to try to do anything.
> Everything is tied together overall, if you can't get that full picture,
> forget doing anything very useful.

I doubt there is a book wich explains all from A to Z. Maybe this is
not the intent, anyway.
The OP must find his own level of knowledge and aquire the proper
book. Otherwise it will be just a waste of time full of frustration.

I was reading Illustrated TCP/IP by R.W. Stevens for example and I was
not able to understand it fully. I miss some tcp/ip basic explanations
and those very basic bits are not in that book. For me it was
something like many RFCs put together. I am not saying this is a bad
book, just is not suitable for me at my current level of tcp/ip. For
sure it will be very useful later.

Advices are welcome.

Reply | Threaded
Open this post in threaded view
|

Re: Comprehensive user's/programmer's manual for OpenBSD: Do they exist?

メット
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Hi,
Title is programmer book so tcp/ip seems just an example.
Nevertheless if u look for tcp/ip there is the tcp/ip guide online which is quite easy
Also with some mistakes and poor style(my H opinion) cisco stuff for ccna is quite OK
Finally http://www.aboutdebian.com/network.htm
HTH

On 2016年5月16日 5:34:52 JST, Mihai Popescu <[hidden email]> wrote:

>> I highly recommend this book. It gives an excellent overall picture
>> which is essential if you are going to try to do anything.
>> Everything is tied together overall, if you can't get that full
>picture,
>> forget doing anything very useful.
>
>I doubt there is a book wich explains all from A to Z. Maybe this is
>not the intent, anyway.
>The OP must find his own level of knowledge and aquire the proper
>book. Otherwise it will be just a waste of time full of frustration.
>
>I was reading Illustrated TCP/IP by R.W. Stevens for example and I was
>not able to understand it fully. I miss some tcp/ip basic explanations
>and those very basic bits are not in that book. For me it was
>something like many RFCs put together. I am not saying this is a bad
>book, just is not suitable for me at my current level of tcp/ip. For
>sure it will be very useful later.
>
>Advices are welcome.
iQE9BAEBCgAnBQJXOO25IBxNZXR0IEhlbF9LZWl0YWkgPG1ldHRAcG1hcnMuanA+
AAoJEPao4OPC92Nk3XEH+wU1o0T6BmEJoPic3thiCQy8Xf7UTxylQXaCYt51PRlm
hAVUNTkEwUfL7FvoZpZ3ip1CsX1btDm7NXza2k9/3ENDqBvmDsFD1r7ng9Ura2BR
cHlPCsbSvY1JKzwlD0zzrfUSrsI4z7DgIj3bPsop0kMaG1Ity2Wgq+bU0uC+QJGs
TNr/OnSzYFIb/CudDHCuZNHSCeIZSgE6641N/WAZcH7LiXmSuIRStfw+fwjNBwnf
HSV9kiMwMStvYY16sPeojAICPsoa0nPGfrrwh5z9z6pKDi8aCWTAKoo/YIVVISq0
8p3eMemNPnmwosaL7dXA7Q5eNkro4SQBM0Ll/S9gUSo=
=xmrJ
-----END PGP SIGNATURE-----

Reply | Threaded
Open this post in threaded view
|

Re: Comprehensive user's/programmer's manual for OpenBSD: Do they exist?

Stuart Henderson
In reply to this post by Mihai Popescu-3
On 2016-05-15, Mihai Popescu <[hidden email]> wrote:
> I was reading Illustrated TCP/IP by R.W. Stevens for example and I was
> not able to understand it fully.

There are 3 volumes. The one I mentioned (vol 2, The Implementation) is a
programmer's guide covering the historical BSD implementation. It's not
perfect for current code, but can help point the way.

> I miss some tcp/ip basic explanations and those very basic bits are
> not in that book. For me it was something like many RFCs put together.

That sounds like volume 1 which is of more general interest and applicability
but some people prefer a different approach to tgat material. Maybe try
Comer, "internetworking with tcp/ip vol 1", or there are some good online
resources like http://www.tcpipguide.com/.

Reply | Threaded
Open this post in threaded view
|

Re: Comprehensive user's/programmer's manual for OpenBSD: Do they exist?

Luca Ferrari
In reply to this post by David Lou
On Sat, May 7, 2016 at 1:12 PM, David Lou <[hidden email]> wrote:
> I wasn't able to find such a thing but perhaps I just missed it. I
> am wondering if anyone in the community knows whether such manuals
> exist for OpenBSD. Manpages are nice but they're not what I'm looking
> for.

Uhm...one thing I've learn during my short developer experience is to
respect each project philosophy and culture, and learn them (or at
least know about their existence) before jumping on board.

OpenBSD is famous for the high quality of its documentation. If the
documentation they are providing is not what you are looking for,
maybe this is not the OS you are looking for.

Now the reason why you cannot get from zero to hero via manpages is
that you are kindly asked to know baby steps in Unix systems. If you
don't know what a shebang is, or what a log file is, or what a daemon
is you are better getting a unix book, that's a job for a book or a
course, not for the operating system man pages.

This is what I think.
Luca

Reply | Threaded
Open this post in threaded view
|

Re: Comprehensive user's/programmer's manual for OpenBSD: Do they exist?

Pavan Maddamsetti
In reply to this post by David Lou
There's a nice book for absolute beginners called "The Unix Programming
Environment" by Kernighan and Pike.

Reply | Threaded
Open this post in threaded view
|

Re: Comprehensive user's/programmer's manual for OpenBSD: Do they exist?

David Lou
In reply to this post by David Lou
Thanks for the response everyone. I tinkered with the system a bit
more and the manpages were indeed better than what I expected, so
in hindsight my question wasn't very informed. Based on the
responses, it seems like OpenBSD does not deviate much from any
Unix-like operating systems. I also picked up Design and
implementation of the 4.4BSD Operating System and that book really
speaks to me. It tells me what I want to hear in terms of how the
system operates, and also how the system DOESN'T operate: like how
system calls are the only interface to the kernel, and nothing else.
I hope most of the things on there is still correct in OpenBSD
though.

Anyway, I didn't want to pollute the mailing list with too much idle
chitchat but it would be nice if there is a way to close a topic that
I already feel has been answered satisfactorily because I feel
somewhat guilty having people spend their time answering a question
that I've already ``outgrown''. This community is really different...
people really go out of their way to provide good answers to people's
questions! :)