Complete noob...
Woodchuck
djv at bedford.net
Sun Aug 6 19:13:41 PDT 2006
On Sun, 6 Aug 2006, Allie Daneman wrote:
> The BEST docs are the man pages. They're the best ones I've seen and generally
> get you going completely or started.
>
> P.S. BTW...try "exit" to logout ;)
agree about OpenBSD's manpages -- compaired to other Unix versions,
they are first rate. Compared to the documentation that came with
Vax-VMS they are nothing ;-)
Man pages are references, not tutorials. They are not really indexed.
> On Sunday 06 August 2006 14:52, George Goodman wrote:
> > Ok, so I'm a complete noob, but not a fool (I hope)... Can anyone help
> > me find some decent HELPFUL documentation for a new OBSD user?
> >
> > Sure I have read most of the stuff on the OBSD site... took me 18
> > hours, have got the animal installed and running, no errors, now I
> > need to know how to use it. Seems to me all the docs are written by
> > experts who assume too much.
Yes and no. This can be maddening, but later you appreciate it.
Nothing is more frustrating than wading through newbie and promotional
stuff later on.
Traditionally, Unix was taught by another person, often one-on-one.
The typical administrator was a programmer by training, the typical
user either a programmer or a scientist or engineer.
There is enough sameness among Unix flavors that documentation for one
typically works for another. There are, historically, two flavors:
SYSV ("System V (five)") and BSD. Linux is in the SYSV stream.
OpenBSD's closest living relative is NetBSD -- in fact these two BSD
versions share quite a bit of common code, Mr de Raadt used to be
a core developer of NetBSD.
> > Here are a few examples of problems I am having, may sound stupid, but
> > believe me I have spent hours on trying to get answers from the web
> > and I am quite frustrated:
> >
> > Firstly, how do I log out! Stupid huh? I type "logout" and that
> > doesn't work... and the the man page for logout looks like
> > instructions for a programming function, doesn't help me at all!
The man pages are divided into volumes, numbered 1-9. In the old days,
they were printed out and bound that way. To see what each volume is
about enter "man <chapnum> intro" where <chapnum> is a digit 1 through
9.
Notice how "man 1 intro" leads you straight away to some documentation
in /usr/share/. I'll talk about those soon.
The logout man you found was in section 3, where library routnies
for programmers are found. You are right.
Why is there no Section 1 entry for "logout"?
Because there is no "logout" command for the shell (sh or ksh) that
you are using. Just like there is no "monkey" command, or a command
"fix".
Here are two hints into Unix: anything that "is" anything is a file.
Your printer is a "file", you interface with it as a file. A directory
is a file. A disk drive can be treated as a file. All devices are in
some way or other a file. (This was a drastic simplification on Unix's
part, there are OS's where this is not the case. Apple's pre OS-X was
an example in a way.)
By the same token, anything that *does* anything is a program. A program
and the files that are its input, output and executable code is a "process".
All processes are the children of other processes, except process number
1, named init.
OK, so when you are signed on (logged in), you must be running a process.
That process is called a shell. It reads from its input (your terminal
device) and writes to its output (also your terminal). The shell process
ends in a very logical way, i.e. when it is out of data. Since you
are the source of the data, it ends when you send it a character signifying
end of data. That would be Control-D. This is the end-of-file mark for
character stream data in Unix. (You do not need to put it at the end
of disk text files, BTW. Some lame OS's require that [MSDOS, CP/M]).
So when you're done with your shell ("want to logout"), enter a ^D.
When sh gets the ^D it closes its files and "exit"s. The death of a
process is called a "death of a child" in Unix, and the parent is notified.
The parent of your shell is a process named "init", pid 1. (see man init
now).
When your shell dies, init is signaled. Init then starts a new process
called "getty" (see man getty), which is the process which issues the
login prompts. When you login successfully, init sets your directory,
starts your shell, and dies. (It has passed your shell process upwards
to init).
This long rap is to convince your that ^D, "end of file" "end of data",
is the true, righteous and logical way to end your shell and logout.
"man sh" would have told you about ^D, but you nothing but something
like this email would have opened your eyes to the fact that you were
running a program (sh) that runs until it's out of data.
> > Next how do I update the sytem to the latest stable? Sure there is an
> > instruction here
> > http://openbsd.org/faq/faq10.html#Patches but it really is not much
> > help to me because it tells me to fetch the patch from from CVS or the
> > errata page or wherever, but nowhere does it tell me HOW! so I am
> > stuck...
Wait for a little way until things have sunk in. There is no great
change between 3.9 from the CD and the STABLE version of 3.9.
> > I hope someone can help point me in the right direction to decent
> > doc's, or give me some pointers, because I really like the philosophy
> > of OBSD and want to use it, but I have spent a week on it already, and
> > I am really battling to get anywhere. If I can't make progress soon, I
> > will have to go over to Linux where there is more documentation for a
> > noob.
Why not just use the Linux documentation? MUCH is the same. Where do
you think Linux/Gnu grabbed many of their ideas and a lot of the source
code? BSD is older.
Better yet, if you need some handholding, use FreeBSD documentation.
FreeBSD documentation for newbies is at
http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/index.html
Read the stuff and while reading it, use OpenBSD's man pages to
compare. (If FreeBSD is talking about using "chmod" to change
protections on a file, consult "man chmod" on OpenBSD in another
window and compare. Much, much will be the same.)
Tell us what your OS backround is, somebody here will be qualified
to make translations from whatever it is to Unix.
You should make a non-root account right now to use for learning.
man 8 adduser
Use it interactively, as root. It will prompt for entries.
In general, accept the defaults for now, until you learn otherwise.
Don't teach yourself Unix from a root account-- you will end up only
teaching yourself how to re-install the system. Unix has no training
wheels, never has had them.
Don't bother with learning on a Linux system unless you're in a hurry
and don't want to learn too much. They are all GUI-ish now and "learning"
means memorizing click-recipes to some vendor's goofy idea of a "system
interface", probably written in some nouveau-merde language like C++
or something like python.
Besides, Linux is a @#%#$^ mess. Learning on a GUI system with
"convenient" layers of application around the true nuts and bolts
is like learning to drive a car by riding in a cab. OpenBSD is
learning to drive a car by rebuilding the engine in your kitchen.
Both are indirect methods.
Linux is the theory that if you get fifty kids who work at Burger
Heaven together and open a restaurant, it will make the Michelin Guide.
BSD is the theory that if you buy a two-star restaurant and hire
a couple of ex-chefs from Maxim's, you might keep the two-star and
maybe earn three.
That said, I will say that Linux is surprisingly good.
> > I have looked in the archives and I see there a recent thread about
> > documentation, and sadly the "powers" seem to believe the docs for
> > OpenBSD are adequate. Well they may be for them because they already
> > know all the stuff, but for me there is a HUGE gap for beginners. Note
> > that I am a sysadmin with 8 years of experience on "commercial" ;)
> > systems and so I am by no means a complete noob when it comes to
> > computer systems.
Trust me, they are right. So are you! The docs are adequate, you
just haven't found them. You've asked where they are, now you're
getting answered. All is right with the world.
Unix was a major commercial system long before Gates started wanking
around with his BASIC interpreter for a toy calculator. BSD is the
linear descendant of one of those systems. I seem to recall 1976
as Unix's birthyear. X-Window dates from the mid 1980's, BTW.
Believe it or not, MS was on the original X consortium, and used
this position to learn how windowing systems work. Then they screwed
it up for the masses.
This feeling of being lost is one *everyone* had. It seems to be
part of the essential learning experience for Unix. I had to be
*ordered* to learn Unix, for example. (I was a VMS sysadmin/engineer
at the time.)
BTW, learn the vi editor, no matter what anyone else says. Unless you
have experience with a similar editor, this will be like pulling teeth,
but when learned, it is the fastest text editor you'll ever see. All
unix systems, biggest to tiniest, have vi. Learning this editor is
a mandatory task.
Do you have X working yet? Do you have it working for *non-root*
logins?
Some of the books for Unix have to be paid for in money. O'Reilly
publishes excellent books. (www.oreilly.com). They are Old Ones,
they've been around since System V Rel 2.
Dave
--
Experience runs an expensive school, but fools will learn in no other.
-- Benjamin Franklin
More information about the Openbsd-newbies
mailing list