# Base system info



## rickyrubbit (Apr 3, 2019)

Hi to all, this is my first post about bsd especially int this forums. I'm coming from linux world, and i'm yet confusing about root hierarchy and other stuffs. I found very helpful guide (specially the handsbook), but in some topics it's too "light". I'm looking for some text for improve my skills or other help. Thanks in advance


----------



## SirDice (Apr 3, 2019)

rickyrubbit said:


> i'm yet confusing about root hierarchy and other stuffs.


Have a look at hier(7). 



rickyrubbit said:


> I'm looking for some text for improve my skills or other help.


We have a ginormous amount of man pages. Some better than others obviously but most of them contain quite a lot of detailed information. Any specific information you're looking for?


----------



## rickyrubbit (Apr 3, 2019)

i'm looking for the best practice for partitioning for example and understand how filesystem hierarchy is organized.


----------



## SirDice (Apr 3, 2019)

rickyrubbit said:


> I'm looking for the best practice for partitioning for example


There's really no "golden rule" for this. What works for me may be absolutely unworkable for you. If you ask 10 FreeBSD admins this question you're bound to get 10 different answers. I would suggest sticking to the standard "automatic" install for the time being. At least until you have a clear idea of what you need or what you'd like to change and go from there.


rickyrubbit said:


> understand how filesystem hierarchy is organized.


That's the aforementioned hier(7). Most important distinction for Linux users, we have a rather strict separation of the base OS and third party software (ports/packages). Ports/packages always use /usr/local as a base prefix. So their configuration files typically live in /usr/local/etc/ instead of /etc/ as is common on Linux.


----------



## rickyrubbit (Apr 3, 2019)

ok, very useful (i don't think to exist a man page for hierarchy in Linux =) ). I have some restrictions for FS Hierarchy, I'm referring for example to SELinux Label (sometimes really hateful)


----------



## gpw928 (Apr 4, 2019)

rickyrubbit said:


> ok, very useful (i don't think to exist a man page for hierarchy in Linux =) ). I have some restrictions for FS Hierarchy, I'm referring for example to SELinux Label (sometimes really hateful)


The similarities between Linux and FreeBSD are greater than the differences!

In the physical file systems, Linux has /boot as a separate (ext2) file system.  FreeBSD does not -- /boot is a directory the root.  You still have to make your mind up about separating the root from /usr, /var, /tmp...

On FreeBSD:

The Handbook is always a good place to start. 
/etc/rc.conf is where you start configuring most things to happen at boot (with environment variables).  The action happens out of the scripts in /etc/rc.d.
As mentioned above, don't forget to look in /usr/local for things you might expect to find in the root -- it's something I regularly forget to do, even though I have been using FreeBSD for more than 20 years.
Take a close look at the periodic stuff.  It automates most of the housekeeping in ways that will probably surprise you (but you need to make the effort to configure it).
There are only two native native file systems you are going to use on disks -- ufs, and zfs.
Use the package manager, pkg(8) to install applications (avoid /usr/ports until you understand the "issues").
You are going to miss lvm(8), a lot, but the upside is you get zfs(8).
You also get GEOM for various RAID options, without zfs.
The traditional gvinum(8) volume manager is pretty much out-dated by zfs.
I think that the Linux LVM is much easier and more intuitive that vinum.  However zfs takes you to a completely new place, but you might want to tread carefully with zfs if your file systems are routinely more than 80% full.

In regards to SELinux, I'm tempted to comment about risk management, but will pass.  As with Linux, you can make and mount as many file systems as you want on FreeBSD systems (so the file system structure should not be an issue).


----------



## gpw928 (Apr 4, 2019)

I forgot to mention this excellent checklist for building FreeBSD systems.


----------



## Nicola Mingotti (Apr 4, 2019)

rickyrubbit , in my opinion  "Absolute FreeBSD" is the book you are looking for. 
get last edition, it is recent.


----------



## D-FENS (Apr 4, 2019)

rickyrubbit said:


> ok, very useful (i don't think to exist a man page for hierarchy in Linux =) ). I have some restrictions for FS Hierarchy, I'm referring for example to SELinux Label (sometimes really hateful)


No no. You have `man hier` on GNU/Linux also. http://man7.org/linux/man-pages/man7/hier.7.html


----------



## Afflospark (Apr 7, 2019)

Nicola Mingotti said:


> rickyrubbit , in my opinion  "Absolute FreeBSD" is the book you are looking for.
> get last edition, it is recent.


"Absolute freeBSD" is good choice.
but did you read "Absolute OpenBSD " from the same author? I find is more interesting than "Absolute FreeBSD".


----------



## D-FENS (Apr 7, 2019)

I have purchased a copy of "The Design and Implementation of the FreeBSD Operating System" by Marshall Kirk McKusick and I like it a lot. It's very informative, going it quite a bit of detail but still understandable for me (not a kernel developer).


----------



## Nicola Mingotti (Apr 8, 2019)

Afflospark said:


> "Absolute freeBSD" is good choice.
> but did you read "Absolute OpenBSD " from the same author? I find is more interesting than "Absolute FreeBSD".



I red "Absolute OpenBSD" a few years ago. Before becoming a FreeBSD user. I agree with you that the OpenBSD book is better than the FreeBSD one. One the other side, OpenBSD is considerably slimmer than FreeBSD so making a book out of it is simpler and the book will be more compact.

These things, AFAIRemember, make OpenBSD "easier" to deploy just after install.

-] OpenBSD comes with only one firewall : pf (FreeeBSD has 3)
-] It has by default a nice shell : ksh (FreeBSD comes with csh, wich probably you will not love
   and you will want to change it for your default user)
-] it comes by default with an editor for Emacs people which is "mg" (in FBS you need pkg)
-] it comes by default wih Perl installed (FBS, use pkg)
-] it has dhcp server by default. (FBS, use pkg)
-] It does not have the Linux compatiblity layer (in FBS has it and that opens new (wild) world)
-] ... it should have by default a web server, but i never used it.

==> These make OpenBSD ready to deply just after the install *if* you
want to do build a classic network service : NAT, dhcpd, firewall, VPN, Web ....

In FreeBSD you need to do some tweaking to adapt the system to your preferences, so making a book on it becomes more complex.

I have a list of things to perform just after I install each FreeBSD instance.
[0] configure network
[-] install mg, [-] install Emacs, [-] install bash, [-] install ruby [-] install pry.
=> Then I fix the configuration files and start to adapt the machine to what it needs to do.

bye


----------



## rickyrubbit (Apr 17, 2019)

Afflospark said:


> "Absolute FreeBSD" is a good choice.
> but did you read "Absolute OpenBSD " from the same author? I find is more interesting than "Absolute FreeBSD".


no never read absoluteOpenBSD, I'm just reading absolute FreeBSD


----------



## mfaridi (May 6, 2019)

FreeBSD forums are a great reference for learning many things about FreeBSD too, I learn many things here because many users test it and use it.


----------

