PC-BSD® for Linux Users/9.2

From PC-BSD Wiki
Revision as of 02:05, 15 July 2012 by Tigersharke (Talk | contribs)

Jump to: navigation, search

(Sorry for the inconvenience)

Contents

PC-BSD is based on [1][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 a Linux filesystem, you will want to do a bit of research first to see if the data can be made available on 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 EXT3 journaling is not supported. This means that you won't be able to mount a filesystem requiring a journal replay unless you fsck it using an external utility such as [2][2].
EXT4 Linux r/o support loaded by default journaling is not supported. This means that you won't be able to mount a filesystem requiring a journal replay unless you fsck it using an external utility such as [3][2]. EXT3 filesystems converted to EXT4 may be more likely to have better results. Extended attributes or inodes greater than 128-bytes are not supported.
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 [4][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;
[5][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;
[6][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;
[7][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 [8][5];
Mac support is under [9][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:

References


  1. http://en.wikipedia.org/wiki/BSD_UNIX
  2. 2.0 2.1 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_US.ISO8859-1/articles/linux-users/index.html
  10. http://www.over-yonder.net/~fullermd/rants/bsd4linux/01