New to FreeBSD - Some questions

Eitan Adler lists at eitanadler.com
Fri Jun 22 17:41:13 UTC 2012


On 21 June 2012 04:24, Fred Morcos <fred.morcos at gmail.com> wrote:
>
>                     Introduction and background
> q) Is it possible to run a FreeBSD system without much building? In
> other words, can I survive by depending on packages and only resorting
> to ports when really needed?

To an extent. It is currently possible to use only packages, but they
tend to be out of date and upgrading is non-easy without a third party
tool (such as portmaster or portupgrade).
There is currently active work to fix these issues in a project called
pkgng. This will likely become the default in the next couple of
months.

> q) Where does the FreeBSD project stand on this matter? From what I
> noticed is that the base system seems to adhere to the tranditional
> flat text files for configuration and simple tools that do a good job,
> leaving it up to the user to combine those small tools to create
> larger, more complex ones (a UNIX inheritance).

FreeBSD tends to be conservative. The project won't implement a
complex daemon without clear benefits and specific discussion on the
pros and cons.

> q) Is a FreeBSD stable base system with "current" high-level
> components possible? Will it avoid the issues I experienced on
> Linux-based systems?

Generally, yes. There will likely be some adjustment period as you
learn how FreeBSD works, but most people have few problems.

> q) I would assume UFS with J+SU is "fast enough" for a laptop?

Yes. Most people call it "SU+J" ;).
Don't use it for an SSD though

> q) Does ZFS make sense on a laptop? Any advantages of using it over
> USF with J+SU? I am not interested in any striping or mirroring on
> the laptops, but the compression features is very attractive for the
> HDDs in the first laptop.

ZFS is ram hog. How much ram does your laptop have?

> q) The second laptop has an SSD, would UFS with/without J and
> with/without SU or ZFS make more sense for it?

Make sure to enable TRIM support if your SSD supports it.

> q) Can I live with a desktop environment (Gnome or KDE) and desktop
> applications (Firefox, Libreoffice, etc) by relying only on packages?

Sort of. With pkgng this will become a lot easier.  If you are
currently willing to deal with out of date packages until pkgng
becomes default (or want to work with non-default technology now) it
will be possible.

> q) Does the NVIDIA binary driver work reliably? I would like to hear
> personal experiences with that.

Yes. This has never been the cause of any problem for me

> q) Does the bsdinstall align partitions to device blocks by default
> for optimal speed? If not, I have found that I can use gpart with -a
> and -b which will require me to calculate the start and end offsets of
> each partition manually. Is there a tool that can automatically do
> that for me?

You said you had an SSD: it doesn't matter.

> q) Adding tmpmfs="YES" to /etc/rc.conf is analogous to a tmpfs /tmp on
> Linux-based systems, correct?

Yes.

> Any other directories that might make
> sense to have as an mfs (ie, in /var)?

Don't use tmpfs for anything in /var

> q) Is there a place where all sysctl variables are documented? It
> occurred to me when I was trying to find the memory usage on my system
> but `sysctl -a | grep mem' shows a whole bunch of stuff.

You can try sysctl -ad but most of the systls are either documented in
man pages or not at all. :(

> q) How can I set proxy settings system-wide? Same for PACKAGESITE (for
> the pkg_* tools), how can I set a mirror system-wide? /etc/profile?

Same as any other unix system. It depends on what shell you use.

> q) I noticed all file/data-sizes are in bytes (ls, dd, etc), is there
> a way to change that system-wide to be in human-readable format?

usually adding -h (for "human") helps. Also try setting BLOCKSIZE.
each program might have some more explanation in the man page.

>
>                                System
>
> To assess my understanding, the system is split into kernel, base,
> documentation, games, lib32 (on 64-bit systems) and ports.

This distinction is rarely used. The only place that cares for these
differences is the installer.

> There is
> another split between base and ports where base includes everything
> previously mentioned minus ports.

This is the one that matters

>Now, there are 3 "branches" of the
> base system: RELEASE, STABLE and CURRENT. RELEASE means 9.0 and stays
> that way until 10.0 is released. STABLE means 9.0, 9.1, 9.2,
> etc. CURRENT means "trunk" in SVN terms. Is all that correct?

This is incorrect.

RELEASE are all releases: There is 9.0, 9.1, 9.2, etc.
STABLE is a misnomer: it is a *development* branch but the ABI / KPI
is kept stable.
CURRENT is "HEAD" and where new commits go before being "MFCed" or
Merged From Current to -stable. Releases are branched from -STABLE.
-STABLE is branched from -HEAD.

> Also,
> when somewhere is mentioned `make world', this means to rebuild all
> installed ports which doesn't include base, I assume?

"make world" is always wrong. "make buildworld" is closer.
In source land "world" is everything but the kernel. Ports are not related.


> q) The files in /etc/rc.d are all executable, from my understanding,
> those files will get executed and it is their duty to check the
> variable `<rc-script-name>_enable' for whether they should start or
> not. Wouldn't it be more efficient to chmod -x or +x them to
> disable/enable?

For a variety of reasons, no. They do more than just check *_enable in
complex cases.

> q) Is there a tool that can test a set of mirrors for connection time
> and speed (for packages and ports)? Analogous to Archlinux's
> rankmirrors?

looks in ports-mgmt/ there is fastestmirrors or something like that. I
ran it once and forgot about it ;)

> q) Is it possible for the pkg_* tools (especially pkg_add -r) to
> display progress?

no.

> q) I noticed in the ports collection that there were some outdated
> packages (skype-2.2, gimp-2.6), should I report that and where? (A
> PR?)

skype is out of date cause the newer ones don't work.
Generally, reporting out of date ports as PRs with patches (or to
ports at freebsd.org without patches might help) is a good thing.

Larger ports tend to be actively maintained. For gimp try asking
gnome at freebsd.org for progress.

> q) Is it possible to have the ports system compile into an mfs (to
> avoid disk access)?

Yes. Set WRKDIRPREFIX in /etc/make.conf to a mfs disk

> q) Is it possible to have the user asked to change their password the
> first time they log in (using an OTP) in a simple way? I looked at
> OPIE but it seems to be much more complex than what I need.

Look at pw -e ?


Hope I helped and didn't disappoint too much :)

-- 
Eitan Adler


More information about the freebsd-questions mailing list