bash instead of csh (completely)

b. f. bf1783 at
Fri Jun 4 22:26:18 UTC 2010

>I dont want to start flame war about linux vs bsd but ... :)
>Before I start to explain what I want to do, I want you know
>I consider freebsd faaaar away better than linux in a lot of ways.
>(it is also a reason I want to build something upon bsd instead of
>linux, there are so many advantages ... ok, this post isnt about that :))

You're right -- it isn't about that.  Don't get sucked into some
stupid argument.  Bash isn't Linux.  Linux isn't bash.  If you want to
use another shell, just use it.  Bear in mind that if you install it
from FreeBSD Ports, then it and it's dependencies may not be available
in the event of an emergency, if they live on a partition separate
from /.  So unless you go to the trouble of building a
statically-linked bash and installing it in /rescue or /bin or
whatever, I wouldn't change root's shell to bash.  However, others
encountered this problem, and made a default account called "toor"
that is basically a root account with another shell.  You could use
that with bash instead, and leave root with a shell from the base
system. Whatever you decide to use for user accounts and your own
scripts, variables like MAKE_SH and SH in make.conf will dictate what
is used for building the base system and ports.  If you change these
to bash, you may break some builds.


>What I still miss is a way how to "bend" freebsd to my needs. In
>linux, it is easy
>as hell, remove this, change that, and it still runs. I am afraid that
>if I cut off some
>parts of system, I will not benefit from it anymore. For example, I
>install minimal bsd,
>but it contains still things I do not need (some dir like "games" and other
>stuff or some ancient groups in /etc/groups like uucp, proxy,games, dialer (???
>in year 2010, who use it?) and so on.
>So I am afraid to be so "brutal" to just remove it ...

It's just a matter of learning what depends on what, which takes a bit
of time.  If you're happy with a ~150MB base system, you can just use
the WITHOUT_* knobs in src.conf(5)  and the make delete-old(-libs)
targets to rip out a bunch of stuff.  If you want it even smaller,
you'll have to use picobsd(8), or nanobsd(8) (both of which require
some effort to figure out dependencies), or hack the base system
sources yourself.

>FreeBSD has another philosophy than Linux, but i feel Linux is more

Maybe some Linux distros are slightly easier to trim than the stock
FreeBSD, but only slightly.  Once you become more familiar with
FreeBSD, I'm sure that you will see the possibilities for slimming it
down.  If you are still not satisfied, you could use a hybrid system
like Debian's GNU/kfreebsd:

or Gentoo/FreeBSD:

But these are newer, experimental systems, with all that implies.

>I think I have to more study about /usr/src/ :) For example, I would
>like to know,
>how to install something into other dir and no to default one. Think about port.
>All to /usr/local/ ... and so on. But what if I want to install it in
>/ExtraStuff ? How do
>I do it in "make install clean" way? Change port's make file ? no way .....

Read build(7), release(7), ports(7), src.conf(5), make.conf(5),
/usr/ports/Mk/, /usr/src/Makefile, and the tail of
/usr/src/UPDATING, for a start.  You'll want to look at setting
DESTDIR, LOCALBASE, etc.  It's all there.  Good luck.


More information about the freebsd-questions mailing list