A strategic question

Giorgos Keramidas keramida at ceid.upatras.gr
Sun Jan 29 09:15:33 PST 2006

On 2006-01-28 03:16, Jozef Baum <jozef.baum at telenet.be> wrote:
> This posting doesn't contain a technical question about FreeBSD,
> rather a strategic one.
> Some time ago, I wanted to migrate to a Unix environment, because I
> wanted to have a secure, stable, convenient and efficient environment
> for developing and running programs, [...]

That's a reasonable expectation.

> I downloaded Solaris 10 and a lot of documentation about it, then
> installed Solaris 10. As opposed to Linux and free BSD implementations
> of UNIX, Solaris looks like a professionally developed operating
> system.

I'll agree to this.  Mostly.  But see below for what a `professional'
system expects from you, as the installer person & future administrator
of the system.

> It seems to be1 a very advanced operating system.

There is some "advanced" stuff in almost all the operating systems in
use today.  I'm not sure I understand what strikes you as 'advanced' in
Solaris that does not have an equivalently 'advanced' technolody in

> However, I soon realized that, when one wants a yacht, it is not a
> good idea to acquire the Queen Mary II, just as it costs too much time
> to acquire a hotel to have a cup of coffee.

The same can be said for almost any operating system today -- except,
perhaps, for the crap of Redmond, which is still riddled with trojans,
viruses and countless lock-in tricks designed explicitly to *stop* the
administrator and the users from doing their work, until they pay a
hefty amount to company X for their special "Y software".

I don't really see why this is true for Solaris, but untrue for BSD.

> [Linux rant]
> I came to FreeBSD, with the idea that it had a more homogeneous
> quality development model, downloaded the FreeBSD 6.0 boot CD and CD 1
> and 2, and installed it on my PC, following the handbook.

So, does it?  Hvae you used FreeBSD long enough to see this homogeneous
design of things clearly?  I had been using Linux for more than 5 years
before I started with FreeBSD.  About the same time that the diversity &
many differences of all the Linux distributions out there had started to
get on my nerves, FreeBSD looked like a very good alternative.  It still
does :)

> In fact, to install FreeBSD, one needs already a lot of knowledge
> about the system. To acquire that knowledge, one needs experience on
> an installed system. But to have an installed system, one needs
> already a lot of knowledge about the system. That's the problem.

No you don't.  This is what the documentation is all about.  You claim
that you have read the documentation (i.e. the Handbook) before
installing.  I am not suggesting that you didn't, but if you did find
things missing, have you tried asking here about anything that seemed
confusing?  Have you posted anything to the freebsd-doc list stating
that you'd like the installation chapter to also explain "Foo and Bar"?

> The handbook doesn't tell you that, at the "last chance" message, you
> have to take out the boot CD and to insert CD 1. But if you don't do
> so, nothing gets installed.

Depending on what you select to install, this may or may not be
necessary.  To give you meaningful help & advice about the install
process, we would need a detailed list of the steps you took during
installation.  If you go back and keep notes, I and as am sure many
others from this list, will help you get through the obstacles of the
installation.  After all, it's something you're only going to do a few
times at most :)

> I configured a German ISO keyboard, but many keys don't work
> correctly. One has to look with Google to find additional information
> about configuring a German keyboard.

That's ok.  The good thing about having access to the source code is
that you can *make* these modifications to the system itself.  If you
have improvements about the keyboard layouts, we can arrange to bring
you in contact with the right persons, who can then commit your changes
to the official tree and improve German layout for everyone.  That would
be extremely cool :)))

> I have a cable Internet connection and my network card was recognized,
> but getting an IP-address with the DHCP service of my provider was
> impossible.  Again, I had to look up with Google how to allow the
> firewall to get an IP-addres with my provider's DHCP.

The Handbook explains how firewalls work.  The new firewalls chapter
even has an explicit example of a rule that allows DHCP access for one
of the most popular FreeBSD firewalls:

    # Allow out access to my ISP's DHCP server for cable or DSL networks.
    # This rule is not needed for 'user ppp' type connection to the
    # public Internet, so you can delete this whole group.
    # Use the following rule and check log for IP address.
    # Then put IP address in commented out rule &amp; delete first rule
    pass out log quick on dc0 proto udp from any to any port = 67 keep state
    #pass out quick on dc0 proto udp from any to z.z.z.z port = 67 keep state

I'm sure you missed this one, but it's ok.  Asking here on the list is
always a good way of getting either a direct explanation or pointers to
the documentation for more help.

> The locate command did not work, as the locate database seemed to be
> corrupted. I had to figure out how to rebuild this database.

Hmmm, this is a good candidate for a postinstall(7) manpage.  This is
something that I have been considering for a while, but never got around
to writing.  A manpage like the one OpenBSD has, which explains common
tasks one has to perform right after the installation completes.

> The root user had a csh, while ordinary users had a sh shell. I had to
> figure out how to provide the same shell to the root user and the
> other users, as all those virtual users are all one and the same
> person, me.

This is a bit silly, but I'll bite.  You mentioned that you have worked
with Linux and Solaris.  You should have already picked up commands like
chsh(1), chfn(1) and the other tools that allow users to modify their
personal information, their shell, etc.  You should have, at least, a
working knowledge of vipw(8).

And once more, if you don't know something, this is exactly what the
documentation and this list is about.  Don't be afraid to use these
resources :)

> I tried to setup an X Window environment (nVidia Geforce video
> adapter), but the horizontal and vertical refresh rates of the
> manufacturer didn't work, I had to experiment to find out the one X
> likes. Then I could startup X, only to not having configured at all my
> German keyboard.

In general, these days, X11 servers will query your hardware for the
optimal rates.  Having to manually tweak the refresh rates is, most of
the time, a sure sign that you are not going down the right path.

Can you explain *how* you configured your X11 desktop?

> I tried to install emacs during installation, but it didn't succeed.

Why?  Remember we are not there.  We can't see the error message you saw
at the time this failed.  It could have been that you picked up the
wrong size for your /var partition, ending up with a /var/tmp partition
that is far too small to unpack Emacs.  It could have been a billion
things.  We can't tell until you are more specific...

> Returning to the post-installation tasks after having installed the
> system resulted in a successfull installation of emacs (working only
> after a system reboot).
> I could go on for hours with this kind of troubles.

Which is, honestly, meaningless.  You have fallen to the classic trap of
the ``angry newbie''.  You don't understand what this new system you got
your hands on is all about, but you still feel that it's the system that
should change to suit your own way of thinking.  It's usually the other
way around though.  That's true with Linux, Solaris and a few other UNIX
systems out there too :)))

> Why is it that FreeBSD people, who seem to be perfectly able to
> formulate correct algorithms for implementing UNIX concepts, and
> translating them into code, don't care at all about a novice user,
> providing him with an installation program that doesn't work as it
> should, even without a GUI?

The sysinstall has several bugs and things that I've found to be
annoying at times, but you haven't mentioned *any* of these things yet.

I'm sure we can work out a solution that fits your needs.  You'll have
to provide us with more detailed information about the steps you take
during the installation process though.

> I know UNIX is all about solving problems, but is it really
> interesting to make it apparently deliberatly so difficult for a
> newcomer? Is it really the policy of those guys to make the entry
> level to UNIX difficult, only to avoid a breakthrough of UNIX
> (FreeBSD) to the desktop users?

No.  This is why we try to document many aspects of FreeBSD.  This is
why a lot of people spend their time revising, correcting, updating and
checking the documentation, the manpages, the website and other things
that new-comers will find useful.

> I knew the installation, configuration and optimization of a Unix
> system would take me a lot of time and patience.


> But after some weeks, the only result, as probably for many others, is
> an immense frustration.

Be patient, still :) You already know that UNIX has a very steep
learning curve, because you have worked with Solaris.  Some Linux
distributions try to hide this learning curve behind swarms of shell
scripts, bells and whistles.  This is *not* something we like doing in
the BSD side of the world.  You'll have to climb that steep curve, more
or less on your own, but you can always call for the help of those who
have already done so.  Here on this list and on the web.

> Please, guys, if you want FreeBSD to survive and to become not only a
> server OS, but also a desktop OS, realize that you are going the wrong
> way by annoying newcomers with a puzzle.

Possibly.  Or maybe not.

> I want to learn Unix, the real Unix.  Searching a text file for a
> string with grep, not launching a tremendous memory hungry application
> under X Window to do so. I want to learn how to pipe Unix commands to
> get usefull work done.  I want to learn the ed line editor as a
> starting point for using sed. But please, don't frustrate me from the
> beginning by making the installation of FreeBSD so difficult. Drop
> some whistles and bells on which you are working, and encounter the
> newbie.

The main problem with this train of thought is that all these "bells and
whistles" that newbies coming from other environments would like to have
are almost invariably useless once you start getting experienced and end
up being huge time-sinks that keep people from doing *real* work, like
improving the existing system :)

- Giorgos

More information about the freebsd-questions mailing list