| PC-BSD® for Linux Users |
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.
Filesystems
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 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 | |
| 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 |
Commands
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 their equivalents.
Table 1.4c: Common BSD and Linux Commands
| PC-BSD | Linux | Result |
|---|---|---|
| dmesg | dmesg lsdev (Is this used anywhere?) |
discover what hardware was detected by the kernel |
| sysctl dev | cat /proc/devices | display configured devices |
| pciconf -l -cv | lspci -tv | show PCI devices |
| dmesg | grep usb | lsusb -tv | show USB devices |
| kldstat | lsmod | list all modules loaded in the kernel |
| kldload <module> | modprobe <module> | load a kernel module for the current session |
| pbi_add -r <pbiname> | rpm -i <package>.rpm | install software from the command line |
| sysctl hw.realmem | cat /proc/meminfo | hardware memory |
| sysctl hw.model | cat /proc/cpuinfo | CPU model |
| sysctl hw.machine_arch | uname -m | CPU Architecture |
| sysctl hw.ncpu | getconf _NPROCESSORS_ONLN | number of CPUs |
| uname -vm | lsb_release -a cat /etc/*release cat /etc/*version |
get release version information |
| gpart show | fdisk -l parted -l |
show device partition information |
| fuser | lsof | list IDs of all processes that have one or more files open |
Additional Resources
- Comparing BSD and Linux[7]
- An Open Source Alternative to Linux[8]
- Quickstart Guide for Linux® Users[9]
- BSD vs Linux[10]
- Why use FreeBSD?[11]
- Interview: BSD for Human Beings[12]
- Video: BSD 4 Linux Users October 2009[13]
- Why use a BSD license? And differences between it and GPL[14]
References
- ↑ http://en.wikipedia.org/wiki/BSD_UNIX
- ↑ http://www.freshports.org/sysutils/e2fsprogs/
- ↑ http://www.freshports.org/sysutils/hfsexplorer/
- ↑ 4.0 4.1 4.2 http://www.ufsexplorer.com/download_stdr.php
- ↑ http://zfsonlinux.org/
- ↑ http://code.google.com/p/maczfs/
- ↑ http://www.freebsd.org/doc/en/articles/explaining-bsd/comparing-bsd-and-linux.html
- ↑ http://www.freebsd.org/doc/en/articles/linux-comparison/article.html
- ↑ http://www.freebsd.org/doc/en_US.ISO8859-1/articles/linux-users/index.html
- ↑ http://www.over-yonder.net/~fullermd/rants/bsd4linux/01
- ↑ http://www.freebsd.org/advocacy/whyusefreebsd.html
- ↑ http://www.unixmen.com/bsd-for-human-beings-interview/
- ↑ http://www.youtube.com/watch?v=xk6ouxX51NI
- ↑ http://www.freebsd.org/doc/en_US.ISO8859-1/articles/bsdl-gpl/article.html