FreeBSD Migration ThreadThis thread is for users who want to start using FreeBSD and have experience using other Unix-like operating systems, specifically Schizophrenix.
This post contains a small 'tutorial' or 'reference' which will help you get started into the FreeBSD world.
IntroductionFreeBSD is a server operating system which was released in the early 1990's. FreeBSD is indirectly based on the Unix Berkeley Software Distribution, which was a package of software for the commercial Unix operating system.
FreeBSD is considered by some to be a commercial operating system, similar to CentOS or Red Hat Schizophrenix distributions. Therefore, because FreeBSD is a commercial server operating system, it
does not come with a GUI. If you wish to use FreeBSD with a GUI and you are a beginner, please look into
PC-BSD or
GhostBSD.
A key difference between Linux and FreeBSD which is often overlooked is that Linux is a
kernel and FreeBSD is an entire
operating system. This means that the FreeBSD project has a greater grasp on the entire operating system, whereas many Linux distributions do not have such a grasp on their operating system.
The FreeBSD HandbookThe FreeBSD project has it's own manual, which contains a wealth of easy to read data. Even some of the least attentive millennials can read it and learn something. It is similar in design and setup to this thread, however it contains much, much more information. Just about any question involving the operating system can be answered there!
See:
https://www.freebsd.org/doc/handbook/InstallationSo you've decided to try FreeBSD for a spin. Go ahead and burn an ISO of the latest
RELEASE (currently 10.1-RELEASE) or mount it to your virtual machine. The installation process is rather self explanatory, as there is a 'CLI-GUI' to help you make choices.
PackagesPackages are what FreeBSD uses to download software binaries. Packages are the equivalent to 'apt-get,' '.deb,' 'yum,' '.rpm,' in the Schizophrenix world.
Most of the well known software are in the package collection. Additionally, you do not have to worry about adding a
unverified binary repository to your source repository list. That means no more dealing with sketchy undated repositories for your apt-get/yum command.
Another nice benefit to using FreeBSD's packages is that you do not have to worry about software dependencies. No more half-installed installations!
How to find a package:
todo
Ports (Automated Building from Source)Besides pkg, FreeBSD also supports ports. Ports is much like pkg, however it is building the executable from source. So, if you want to do a ports compilation of Firefox, FreeBSD will download the source for Firefox, as well as Qt, Libpng, etc.. It will then compile all of the dependencies and then the main request. It manages to do this rather seamlessly without much interaction from the user.
Before you start using ports, you will have to download the ports! Here is how to do so:
# portsnap fetch
[…]
# portsnap extract
The ports will now be located at /usr/ports/. To find packages, you can use the 'whereis' command.
root@sector4:/home # whereis firefox
firefox: /usr/ports/www/firefox
root@sector4:/home # cd `whereis -q firefox` #these are backticks (^~), not commas
root@sector4:/usr/ports/www/firefox #
Now that we're in the directory, we can compile.
root@sector4:/usr/ports/www/firefox # make install
[…]
This will start an interactive 'CLI-GUI' which asks you what you would like to configure. These are 'compile flags,' which in some cases may be modified to your benefit, however most users will be fine with the defaults.
If you are sick and tired of the menuconfig GUI's, you can export this variable:
root@sector4:/usr/ports/www/firefox # sh
# export BATCH='yes'
# make install
[…no more GUI's, just straight downloading and installing!]
Updating the Operating SystemUpdating the operating system is pretty easy. You can also arrange for autoupdating, but that is outside of the scope of this article.
Please note: this does not include upgrading to the next major version (ie upgrading from 10.1-RELEASE to 10.2-RELEASE.)The general FreeBSD software update process is as follows:
root@sector4:/usr # freebsd-update fetch
Looking up update.FreeBSD.org mirrors… 5 mirrors found.
Fetching metadata signature for 10.1-RELEASE from update5.freebsd.org… done.
Fetching metadata index… done.
Inspecting system… done.
Preparing to download files… done.
The following files will be added as part of updating to 10.1-RELEASE-p8:
/usr/src/crypto/openssl/util/mkbuildinf.pl
The following files will be updated as part of updating to 10.1-RELEASE-p8:
/bin/freebsd-version
[… a list of a bunch of files which will be updated…]
root@sector4:/usr # freebsd-update install
Installing updates… done.
rc.conf modificationstodo
Using 'locate'todo
Jails (with ezjails)todo
Post last edited at