PC-BSD® for Linux Users/9.2

From PC-BSD Wiki
Revision as of 18:18, 12 September 2012 by Vater (Talk | contribs)

Jump to: navigation, search

(Sorry for the inconvenience)


PC-BSD® is based on BSD Unix[1], meaning that it is not a Linux distribution. If you have used Linux before, you will find that some features that you are used to have different names on a BSD system and that some commands are different. This section covers some of these differences.


BSD and Linux use different filesystems during installation. Many Linux distros use EXT2, EXT3, EXT4, or ReiserFS, while PC-BSD® uses UFS or ZFS. This means that if you wish to dual-boot with Linux or access data on an external drive that has been formatted with another filesystem, you will want to do a bit of research first to see if the data will be accessible to both operating systems.

Table 1.4a summarizes the various filesystems commonly used by desktop systems. Most of the desktop managers available from PC-BSD® should automatically mount the following filesystems: FAT16, FAT32, EXT2, EXT3 (without journaling), EXT4 (read-only), NTFS5, NTFS6, and XFS. See the section on Files and File Sharing for more information about available file manager utilities.

Table 1.4a: Filesystem Support on PC-BSD®

Filesystem Native to Type of non-native support Usage notes
Btrfs Linux none
exFAT Windows r/w support loaded by default
EXT2 Linux r/w support loaded by default
EXT3 Linux r/w support loaded by default since EXT3 journaling is not supported, you will not be able to mount a filesystem requiring a journal replay unless you fsck it using an external utility such as e2fsprogs[2].
EXT4 Linux r/o support loaded by default EXT3 journaling, extended attributes, and inodes greater than 128-bytes are not supported; EXT3 filesystems converted to EXT4 may have better performance
FAT16 Windows r/w support loaded by default
FAT32 Windows r/w support loaded by default
HFS+ Mac OSX none older Mac versions might work with hfsexplorer[3].
JFS Linux none
NTFS5 Windows full r/w support loaded by default
NTFS6 Windows r/w support loaded by default
ReiserFS Linux r/o support is loaded by default
UFS PC-BSD® r/o support is included in Linux kernel 2.6.5 onwards;
r/w support on Mac;
UFS Explorer[4] can be used on Windows
changed to r/o support in Mac Lion
UFS+S PC-BSD® check if your Linux distro provides ufsutils;
r/w support on Mac;
UFS Explorer[4] can be used on Windows
changed to r/o support in Mac Lion
UFS+J PC-BSD® check if your Linux distro provides ufsutils;
r/w support on Mac;
UFS Explorer[4] can be used on Windows
changed to r/o support in Mac Lion
XFS Linux r/o support is loaded by default
ZFS PC-BSD®, OpenSolaris Linux port[5];
Mac support is under development[6].

Device Names

Linux and BSD use different naming conventions for devices. For example:

  • in Linux, Ethernet interfaces begin with eth; in BSD, interface names indicate the name of the driver. For example, an Ethernet interface may be listed as re0, indicating that it uses the Realtek re driver. The advantage of this convention is that you can read the man 4 page for the driver (e.g. type man 4 re) to see which models and features are provided by that driver.
  • BSD disk names differ from Linux. IDE drives begin with ad and SCSI and USB drives begin with da.

Feature Names

Some of the features used by BSD have similar counterparts to Linux, but the name of the feature is different. Table 1.4b provides some common examples:

Figure 1.4b: Names for BSD and Linux Features

PC-BSD® Linux Description
PF iptables default firewall
/etc/rc.d/ for operating system and /usr/local/etc/rc.d/ for applications rc0.d/, rc1.d/, etc. in PC-BSD® the directories containing the startup scripts do not link to runlevels as there are no runlevels; system startup scripts are separated from third-party application scripts
/etc/ttys and /etc/rc.conf telinit and init.d/ terminals are configured in ttys and rc.conf indicates which services will start at boot time


If you're comfortable with the command line, you may find that some of the commands that you are used to have different names on BSD. Table 1.4c lists some common commands and what they are used for.

Table 1.4c: Common BSD and Linux Commands

Command Used to:
dmesg discover what hardware was detected by the kernel
sysctl dev display configured devices
pciconf -l -cv show PCI devices
dmesg | grep usb show USB devices
kldstat list all modules loaded in the kernel
kldload <module> load a kernel module for the current session
pbi_add -r <pbiname> install software from the command line
sysctl hw.realmem display hardware memory
sysctl hw.model display CPU model
sysctl hw.machine_arch display CPU Architecture
sysctl hw.ncpu display number of CPUs
uname -vm get release version information
gpart show show device partition information
fuser list IDs of all processes that have one or more files open

file formats, size and updates

A common complaint is the size of PC-BSD® PBI files: they are much larger than the actual program. There is a large fallacy with this belief. Very few applications exist that you may install on your system which are entirely complete by themselves. If you take a look at what happens while the program is being compiled or when you install a package, you will notice that there are additional applications being pulled in or downloaded and installed. These are all dependencies, things that the program will require in order to fully function. An application of any complexity, especially if it is desktop oriented, is likely to have many dependent programs. These programs may relate to audio, video, window management, libraries for encoding, compression, encryption.

A PBI file consists of the primary application determined by its name, along with all of its dependencies. When you add a program with AppCafe®, you download the application and dependency bundle that we call a PBI. The first set of dependencies may get reused by future applications that are installed, but currently, every PBI download includes all necessary dependencies even if those that would be redundant are not installed.

Additional Resources

The following articles and videos provide additional information about some of the differences between BSD and Linux:


  1. http://en.wikipedia.org/wiki/BSD_UNIX
  2. http://www.freshports.org/sysutils/e2fsprogs/
  3. http://www.freshports.org/sysutils/hfsexplorer/
  4. 4.0 4.1 4.2 http://www.ufsexplorer.com/download_stdr.php
  5. http://zfsonlinux.org/
  6. http://code.google.com/p/maczfs/
  7. http://www.freebsd.org/doc/en/articles/explaining-bsd/comparing-bsd-and-linux.html
  8. http://www.freebsd.org/doc/en/articles/linux-comparison/article.html
  9. http://www.freebsd.org/doc/en/articles/linux-users/index.html
  10. http://www.over-yonder.net/~fullermd/rants/bsd4linux/01
  11. http://www.freebsd.org/advocacy/whyusefreebsd.html
  12. http://www.unixmen.com/bsd-for-human-beings-interview/
  13. http://www.youtube.com/watch?v=xk6ouxX51NI
  14. http://www.freebsd.org/doc/en/articles/bsdl-gpl/article.html