Difference between revisions of "PC-BSD® for Linux Users/9.2"

From PC-BSD Wiki
Jump to: navigation, search
(Filesystems)
(Additional Resources)
(47 intermediate revisions by 4 users not shown)
Line 1: Line 1:
<noinclude>{{NavHeader|back=PC-BSD Releases|forward=Pre-Installation Tasks}}</noinclude>
+
<noinclude>{{NavHeader|back=PC-BSD® Releases|forward=Pre-Installation Tasks|custompagename=PC-BSD{{r}} for Linux Users|custompagecategory={{PAGENAME}}}}</noinclude>
PC-BSD is based on [http://en.wikipedia.org/wiki/BSD_UNIX BSD Unix], 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===
+
PC-BSD® is based on {{citelink|wp|url=Berkeley_Software_Distribution|txt=BSD Unix}}, 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 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.
+
== Filesystems ==
  
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.  
+
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: Filesystem Support on PC-BSD'''
+
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.
  
{{Tbl-init|width=100%}}
+
 
 +
{{Tbl-init|width=100%|caption=1.4a: Filesystem Support on PC-BSD®}}
 
{{Tbl-title|width=5%|'''Filesystem'''}}
 
{{Tbl-title|width=5%|'''Filesystem'''}}
 
{{Tbl-title|width=5%|'''Native to'''}}
 
{{Tbl-title|width=5%|'''Native to'''}}
Line 16: Line 16:
 
{{Tbl-title|width=60%|'''Usage notes'''}}
 
{{Tbl-title|width=60%|'''Usage notes'''}}
 
|-
 
|-
<!-- row 1 -->
+
{{tbl-cell|row=1|'''Btrfs'''}}
{{Tbl-line|bg=ff|align=left|'''Btrfs'''}}
+
{{tbl-cell|row=1|Linux}}
{{Tbl-line|bg=ff|Linux}}
+
{{tbl-cell|row=1|none}}
{{Tbl-line|bg=ff|align=left|none}}
+
{{tbl-cell|row=1|}}
{{Tbl-line|bg=ff|align=left|}}
+
 
|-
 
|-
<!-- row 2 -->
+
{{tbl-cell|row=2|'''exFAT'''}}
{{Tbl-line|align=left|'''EXT2'''}}
+
{{tbl-cell|row=2|Windows}}
{{Tbl-line|Linux}}
+
{{tbl-cell|row=2|content=r/w support loaded by default }}
{{Tbl-line|align=left|content=r/w support loaded by default }}
+
{{tbl-cell|row=2|}}
{{Tbl-line|}}
+
 
|-
 
|-
<!-- row 3 -->
+
{{tbl-cell|row=3|'''EXT2'''}}
{{Tbl-line|bg=ff|align=left|'''EXT3'''}}
+
{{tbl-cell|row=3|Linux}}
{{Tbl-line|bg=ff|Linux}}
+
{{tbl-cell|row=3|content=r/w support loaded by default }}
{{Tbl-line|bg=ff|align=left|r/w support loaded by default}}
+
{{tbl-cell|row=3|}}
{{Tbl-line|bg=ff|align=left|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 [http://www.freshports.org/sysutils/e2fsprogs/ e2fsprogs]<ref name=e2fsprogs>http://www.freshports.org/sysutils/e2fsprogs/</ref>.}}
+
 
|-
 
|-
<!-- row 4 -->
+
{{tbl-cell|row=4|'''EXT3'''}}
{{Tbl-line|align=left|'''EXT4'''}}
+
{{tbl-cell|row=4|Linux}}
{{Tbl-line|Linux}}
+
{{tbl-cell|row=4|r/w support loaded by default}}
{{Tbl-line|align=left|r/o support loaded by default}}
+
{{tbl-cell|row=4|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 {{citelink|url=http://e2fsprogs.sourceforge.net/|txt=e2fsprogs}}.}}
{{Tbl-line|align=left|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 [http://www.freshports.org/sysutils/e2fsprogs/ e2fsprogs]<ref name=e2fsprogs/>. EXT3 filesystems converted to EXT4 may be more likely to have better results. Extended attributes or inodes greater than 128-bytes are not supported.}}
+
 
|-
 
|-
<!-- row 5 -->
+
{{tbl-cell|row=5|'''EXT4'''}}
{{Tbl-line|bg=ff|align=left|'''FAT16'''}}
+
{{tbl-cell|row=5|Linux}}
{{Tbl-line|bg=ff|Windows}}
+
{{tbl-cell|row=5|r/o support loaded by default}}
{{Tbl-line|bg=ff|align=left|content=r/w support loaded by default}}
+
{{tbl-cell|row=5|EXT3 journaling, extended attributes, and inodes greater than 128-bytes are not supported; EXT3 filesystems converted to EXT4 may have better performance}}
{{Tbl-line|bg=ff|align=left|}}
+
 
|-
 
|-
<!-- row 6 -->
+
{{tbl-cell|row=6|'''FAT16'''}}
{{Tbl-line|align=left|'''FAT32'''}}
+
{{tbl-cell|row=6|Windows}}
{{Tbl-line|Windows}}
+
{{tbl-cell|row=6|content=r/w support loaded by default}}
{{Tbl-line|align=left|r/w support loaded by default}}
+
{{tbl-cell|row=6|}}
{{Tbl-line|align=left|}}
+
 
|-
 
|-
<!-- row 7 -->
+
{{tbl-cell|row=7|'''FAT32'''}}
{{Tbl-line|bg=ff|align=left|'''HFS+'''}}
+
{{tbl-cell|row=7|Windows}}
{{Tbl-line|bg=ff|Mac OSX}}
+
{{tbl-cell|row=7|r/w support loaded by default}}
{{Tbl-line|bg=ff|align=left|none}}
+
{{tbl-cell|row=7|}}
{{Tbl-line|bg=ff|align=left|older Mac versions might work with [http://www.freshports.org/sysutils/hfsexplorer/ hfsexplorer]<ref>http://www.freshports.org/sysutils/hfsexplorer/</ref>}}
+
 
|-
 
|-
<!-- row 8 -->
+
{{tbl-cell|row=8|'''HFS+'''}}
{{Tbl-line|align=left|'''JFS'''}}
+
{{tbl-cell|row=8|Mac OSX}}
{{Tbl-line|Linux}}
+
{{tbl-cell|row=8|none}}
{{Tbl-line|align=left|none}}
+
{{tbl-cell|row=8|older Mac versions might work with {{citelink|url=http://www.catacombae.org/hfsx.html|txt=hfsexplorer}}.}}
{{Tbl-line|align=left|}}
+
 
|-
 
|-
<!-- row 9 -->
+
{{tbl-cell|row=9|'''JFS'''}}
{{Tbl-line|bg=ff|align=left|'''NTFS5'''}}
+
{{tbl-cell|row=9|Linux}}
{{Tbl-line|bg=ff|Windows}}
+
{{tbl-cell|row=9|none}}
{{Tbl-line|bg=ff|align=left|content=full r/w support loaded by default}}
+
{{tbl-cell|row=9|}}
{{Tbl-line|bg=ff|align=left|}}
+
 
|-
 
|-
<!-- row 10 -->
+
{{tbl-cell|row=10|'''NTFS5'''}}
{{Tbl-line|align=left|'''NTFS6'''}}
+
{{tbl-cell|row=10|Windows}}
{{Tbl-line|Windows}}
+
{{tbl-cell|row=10|content=full r/w support loaded by default}}
{{Tbl-line|align=left|r/w support loaded by default}}
+
{{tbl-cell|row=10|}}
{{Tbl-line|align=left|}}
+
 
|-
 
|-
<!-- row 11 -->
+
{{tbl-cell|row=11|'''NTFS6'''}}
{{Tbl-line|bg=ff|align=left|'''ReiserFS'''}}
+
{{tbl-cell|row=11|Windows}}
{{Tbl-line|bg=ff|Linux}}
+
{{tbl-cell|row=11|r/w support loaded by default}}
{{Tbl-line|bg=ff|align=left|content=r/o support is loaded by default}}
+
{{tbl-cell|row=11|}}
{{Tbl-line|bg=ff|align=left|}}
+
 
|-
 
|-
<!-- row 12 -->
+
{{tbl-cell|row=12|'''ReiserFS'''}}
{{Tbl-line|align=left|'''UFS'''}}
+
{{tbl-cell|row=12|Linux}}
{{Tbl-line|PC-BSD}}
+
{{tbl-cell|row=12|content=r/o support is loaded by default}}
{{Tbl-line|align=left|r/o support is included in Linux kernel 2.6.5 onwards;<br>r/w support on Mac;<br>[http://www.ufsexplorer.com/download_stdr.php UFS Explorer]<ref name=ufsexplorer>http://www.ufsexplorer.com/download_stdr.php</ref> can be used on Windows}}
+
{{tbl-cell|row=12|}}
{{Tbl-line|align=left|changed to r/o support in Mac Lion}}
+
 
|-
 
|-
<!-- row 13 -->
+
{{tbl-cell|row=13|'''UFS'''}}
{{Tbl-line|bg=ff|align=left|'''UFS+S'''}}
+
{{tbl-cell|row=13|PC-BSD®}}
{{Tbl-line|bg=ff|PC-BSD}}
+
{{tbl-cell|row=13|r/o support is included in Linux kernel 2.6.5 onwards;<br>r/w support on Mac;<br>{{citelink|url=http://www.ufsexplorer.com/download_stdr.php|txt=UFS Explorer}} can be used on Windows}}
{{Tbl-line|bg=ff|align=left|check if your Linux distro provides ufsutils;<br>r/w support on Mac;<br>[http://www.ufsexplorer.com/download_stdr.php UFS Explorer]<ref name=ufsexplorer/> can be used on Windows}}
+
{{tbl-cell|row=13|changed to r/o support in Mac Lion}}
{{Tbl-line|bg=ff|align=left|changed to r/o support in Mac Lion}}
+
 
|-
 
|-
<!-- row 14 -->
+
{{tbl-cell|row=14|'''UFS+S'''}}
{{Tbl-line|align=left|'''UFS+J'''}}
+
{{tbl-cell|row=14|PC-BSD®}}
{{Tbl-line|PC-BSD}}
+
{{tbl-cell|row=14|check if your Linux distro provides ufsutils;<br>r/w support on Mac;<br>{{citelink|url=http://www.ufsexplorer.com/download_stdr.php|txt=UFS Explorer}} can be used on Windows}}
{{Tbl-line|align=left|check if your Linux distro provides ufsutils;<br>r/w support on Mac;<br>[http://www.ufsexplorer.com/download_stdr.php UFS Explorer]<ref name=ufsexplorer/> can be used on Windows}}
+
{{tbl-cell|row=14|changed to r/o support in Mac Lion}}
{{Tbl-line|align=left|changed to r/o support in Mac Lion}}
+
 
|-
 
|-
<!-- row 15 -->
+
{{tbl-cell|row=15|'''UFS+J'''}}
{{Tbl-line|bg=ff|align=left|'''XFS'''}}
+
{{tbl-cell|row=15|PC-BSD®}}
{{Tbl-line|bg=ff|Linux}}
+
{{tbl-cell|row=15|check if your Linux distro provides ufsutils;<br>r/w support on Mac;<br>{{citelink|url=http://www.ufsexplorer.com/download_stdr.php|txt=UFS Explorer}} can be used on Windows}}
{{Tbl-line|bg=ff|align=left|content=r/o support is loaded by default}}
+
{{tbl-cell|row=15|changed to r/o support in Mac Lion}}
{{Tbl-line|bg=ff|align=left|}}
+
 
|-
 
|-
<!-- row 16 -->
+
{{tbl-cell|row=16|'''XFS'''}}
{{Tbl-line|align=left|'''ZFS'''}}
+
{{tbl-cell|row=16|Linux}}
{{Tbl-line|PC-BSD, OpenSolaris}}
+
{{tbl-cell|row=16|content=r/o support is loaded by default}}
{{Tbl-line|align=left|[http://zfsonlinux.org/ Linux port];<br>Mac support is under [http://code.google.com/p/maczfs/ development]<ref>http://code.google.com/p/maczfs/</ref>}}
+
{{tbl-cell|row=16|}}
{{Tbl-line|align=left|}}
+
|-
 +
{{tbl-cell|row=17|'''ZFS'''}}
 +
{{tbl-cell|row=17|PC-BSD®, OpenSolaris}}
 +
{{tbl-cell|row=17|}}
 +
{{tbl-cell|row=17|{{citelink|url=http://zfsonlinux.org/|txt=Linux port}};<br>Mac support is under {{citelink|url=http://code.google.com/p/maczfs/|txt=development}}.}}
 
|-
 
|-
 
|}
 
|}
  
===Device Names===
+
== Device Names ==
  
 
Linux and BSD use different naming conventions for devices. For example:
 
Linux and BSD use different naming conventions for devices. For example:
Line 122: Line 111:
 
* BSD disk names differ from Linux. IDE drives begin with ''ad'' and SCSI and USB drives begin with ''da''.
 
* BSD disk names differ from Linux. IDE drives begin with ''ad'' and SCSI and USB drives begin with ''da''.
  
===Feature Names===
+
== 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:
 
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'''
 
  
{{Tbl-init|width=100%}}
+
{{Tbl-init|width=100%|caption=1.4b: Names for BSD and Linux Features}}
{{Tbl-title|width=25%|'''PC-BSD'''}}
+
{{Tbl-title|width=25%|'''PC-BSD®'''}}
 
{{Tbl-title|width=25%|'''Linux'''}}
 
{{Tbl-title|width=25%|'''Linux'''}}
 
{{Tbl-title|width=50%|'''Description'''}}
 
{{Tbl-title|width=50%|'''Description'''}}
 
|-
 
|-
<!-- row 1 -->
+
{{tbl-cell|row=1|PF}}
{{Tbl-line|bg=ff|align=left|PF}}
+
{{tbl-cell|row=1|iptables}}
{{Tbl-line|bg=ff|align=left|iptables}}
+
{{tbl-cell|row=1|default firewall}}
{{Tbl-line|bg=ff|align=left|default firewall}}
+
 
|-
 
|-
<!-- row 2 -->
+
{{tbl-cell|row=2|''/etc/rc.d/'' for operating system and ''/usr/local/etc/rc.d/'' for applications}}
{{Tbl-line|align=left|''/etc/rc.d/'' for operating system and ''/usr/local/etc/rc.d/'' for applications}}
+
{{tbl-cell|row=2|''rc0.d/'', ''rc1.d/'', etc.}}
{{Tbl-line|align=left|''rc0.d/'', ''rc1.d/'', etc.}}
+
{{tbl-cell|row=2|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}}
{{Tbl-line|align=left|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}}
+
 
|-
 
|-
<!-- row 3 -->
+
{{tbl-cell|row=3|''/etc/ttys'' and ''/etc/rc.conf''}}
{{Tbl-line|bg=ff|align=left|''/etc/ttys'' and ''/etc/rc.conf''}}
+
{{tbl-cell|row=3|'''telinit''' and ''init.d/''}}
{{Tbl-line|bg=ff|align=left|'''telinit''' and ''init.d/''}}
+
{{tbl-cell|row=3|terminals are configured in ''ttys'' and ''rc.conf'' indicates which services will start at boot time}}
{{Tbl-line|bg=ff|align=left|terminals are configured in ''ttys'' and ''rc.conf'' indicates which services will start at boot time}}
+
 
|-
 
|-
 
|}
 
|}
  
===Commands===
+
== 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.
+
If you are 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'''
 
  
{{Tbl-init|width=100%}}
+
{{Tbl-init|width=100%|caption=1.4c: Common BSD and Linux Commands}}
{{Tbl-title|width=25%|'''PC-BSD'''}}
+
{{Tbl-title|width=25%|'''Command'''}}
{{Tbl-title|width=25%|'''Linux'''}}
+
{{Tbl-title|width=50%|'''Used to:'''}}
{{Tbl-title|width=50%|'''Result'''}}
+
 
|-
 
|-
<!-- row 1 -->
+
{{tbl-cell|row=1|'''dmesg'''}}
{{Tbl-line|bg=ff|align=left|'''dmesg'''}}
+
{{tbl-cell|row=1|discover what hardware was detected by the kernel}}
{{Tbl-line|bg=ff|align=left|'''dmesg'''<br>'''lsdev''' (Is this used anywhere?)}}
+
{{Tbl-line|bg=ff|align=left|discover what hardware was detected by the kernel}}
+
 
|-
 
|-
<!-- row 2 -->
+
{{tbl-cell|row=2|'''sysctl dev}}
{{Tbl-line|align=left|'''sysctl dev}}
+
{{tbl-cell|row=2|display configured devices}}
{{Tbl-line|align=left|'''cat /proc/devices}}
+
{{Tbl-line|align=left|display configured devices}}
+
 
|-
 
|-
<!-- row 3 -->
+
{{tbl-cell|row=3|'''pciconf -l -cv}}
{{Tbl-line|bg=ff|align=left|'''pciconf -l -cv}}
+
{{tbl-cell|row=3|show PCI devices}}
{{Tbl-line|bg=ff|align=left|'''lspci -tv}}
+
{{Tbl-line|bg=ff|align=left|show PCI devices}}
+
 
|-
 
|-
<!-- row 4 -->
+
{{tbl-cell|row=4|'''dmesg <nowiki>|</nowiki> grep usb}}
{{Tbl-line|align=left|'''dmesg <nowiki>|</nowiki> grep usb}}
+
{{tbl-cell|row=4|show USB devices}}
{{Tbl-line|align=left|'''lsusb -tv}}
+
{{Tbl-line|align=left|show USB devices}}
+
 
|-
 
|-
<!-- row 5 -->
+
{{tbl-cell|row=5|'''kldstat}}
{{Tbl-line|bg=ff|align=left|'''kldstat}}
+
{{tbl-cell|row=5|list all modules loaded in the kernel}}
{{Tbl-line|bg=ff|align=left|'''lsmod}}
+
{{Tbl-line|bg=ff|align=left|list all modules loaded in the kernel}}
+
 
|-
 
|-
<!-- row 6 -->
+
{{tbl-cell|row=6|'''kldload <module>}}
 
+
{{tbl-cell|row=6|load a kernel module for the current session}}
{{Tbl-line|align=left|'''kldload <module>}}
+
{{Tbl-line|align=left|'''modprobe <module>}}
+
{{Tbl-line|align=left|load a kernel module for the current session}}
+
 
|-
 
|-
<!-- row 7 -->
+
{{tbl-cell|row=7|'''pbi_add -r <pbiname>}}
{{Tbl-line|bg=ff|align=left|'''pbi_add -r <pbiname>}}
+
{{tbl-cell|row=7|install software from the command line}}
{{Tbl-line|bg=ff|align=left|'''rpm -i <package>.rpm}}
+
{{Tbl-line|bg=ff|align=left|install software from the command line}}
+
 
|-
 
|-
<!-- row 8 -->
+
{{tbl-cell|row=8|'''sysctl hw.realmem}}
{{Tbl-line|align=left|'''sysctl hw.realmem}}
+
{{tbl-cell|row=8|display hardware memory}}
{{Tbl-line|align=left|'''cat /proc/meminfo}}
+
{{Tbl-line|align=left|hardware memory}}
+
 
|-
 
|-
<!-- row 9 -->
+
{{tbl-cell|row=9|'''sysctl hw.model}}
{{Tbl-line|bg=ff|align=left|'''sysctl hw.model}}
+
{{tbl-cell|row=9|display CPU model}}
{{Tbl-line|bg=ff|align=left|'''cat /proc/cpuinfo}}
+
{{Tbl-line|bg=ff|align=left|CPU model}}
+
 
|-
 
|-
<!-- row 10 -->
+
{{tbl-cell|row=10|'''sysctl hw.machine_arch}}
{{Tbl-line|align=left|'''sysctl hw.machine_arch}}
+
{{tbl-cell|row=10|display CPU Architecture}}
{{Tbl-line|align=left|'''uname -m}}
+
{{Tbl-line|align=left|CPU Architecture}}
+
 
|-
 
|-
<!-- row 11 -->
+
{{tbl-cell|row=11|'''sysctl hw.ncpu}}
{{Tbl-line|bg=ff|align=left|'''sysctl hw.ncpu}}
+
{{tbl-cell|row=11|display number of CPUs}}
{{Tbl-line|bg=ff|align=left|'''getconf _NPROCESSORS_ONLN}}
+
{{Tbl-line|bg=ff|align=left|number of CPUs}}
+
 
|-
 
|-
<!-- row 12 -->
+
{{tbl-cell|row=12|'''uname -vm}}
{{Tbl-line|align=left|'''uname -vm}}
+
{{tbl-cell|row=12|get release version information}}
{{Tbl-line|align=left|'''lsb_release -a<br>cat /etc/*release<br>cat /etc/*version}}
+
{{Tbl-line|align=left|get release version information}}
+
 
|-
 
|-
<!-- row 13 -->
+
{{tbl-cell|row=13|'''gpart show}}
{{Tbl-line|bg=ff|align=left|'''gpart show}}
+
{{tbl-cell|row=13|show device partition information}}
{{Tbl-line|bg=ff|align=left|'''fdisk -l<br>parted -l}}
+
{{Tbl-line|bg=ff|align=left|show device partition information}}
+
 
|-
 
|-
<!-- row 14 -->
+
{{tbl-cell|row=14|'''fuser}}
{{Tbl-line|align=left|'''fuser}}
+
{{tbl-cell|row=14|list IDs of all processes that have one or more files open}}
{{Tbl-line|align=left|'''lsof}}
+
{{Tbl-line|align=left|list IDs of all processes that have one or more files open}}
+
 
|-
 
|-
 
|}
 
|}
  
===Additional Resources:===
+
 
* [http://www.freebsd.org/doc/en/articles/explaining-bsd/comparing-bsd-and-linux.html Comparing BSD and Linux]<ref>http://www.freebsd.org/doc/en/articles/explaining-bsd/comparing-bsd-and-linux.html</ref>
+
== File formats, size and updates == <!-- envisioned to be a limited breakdown of 'ports/pkgs/pbi' vs 'linux equivalent' -->
* [http://www.freebsd.org/doc/en/articles/linux-comparison/article.html An Open Source Alternative to Linux]<ref>http://www.freebsd.org/doc/en/articles/linux-comparison/article.html</ref>
+
A common complaint is that the size of PC-BSD® PBI files are much larger than the actual program. What complaints of this sort often do not recognize is that very few installable applications are 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 depend upon many programs. These programs may relate to audio or video playback, window management, or libraries for encoding, compression, encryption.
* [http://www.freebsd.org/doc/en_US.ISO8859-1/articles/linux-users/index.html Quickstart Guide for Linux® Users]<ref>http://www.freebsd.org/doc/en_US.ISO8859-1/articles/linux-users/index.html</ref>
+
 
* [http://www.over-yonder.net/~fullermd/rants/bsd4linux/01 BSD vs Linux]<ref>http://www.over-yonder.net/~fullermd/rants/bsd4linux/01</ref>
+
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{{r}}, you download the application and dependency bundle that we call a PBI. The first set of dependencies may be reused by other applications that you install later; however, every PBI file contains all the 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:
 +
 
 +
* {{citelink|url=http://www.freebsd.org/doc/en/articles/explaining-bsd/comparing-bsd-and-linux.html|txt=Comparing BSD and Linux}}
 +
 
 +
* {{citelink|url=http://www.freebsd.org/doc/en/articles/linux-comparison/article.html|txt=FreeBSD: An Open Source Alternative to Linux}}
 +
 
 +
* {{citelink|url=http://www.freebsd.org/doc/en/articles/linux-users/index.html|txt=FreeBSD Quickstart Guide for Linux® Users}}
 +
 
 +
* {{citelink|url=http://www.over-yonder.net/~fullermd/rants/bsd4linux/01|txt=BSD vs Linux}}
 +
 
 +
* {{citelink|url=http://www.freebsd.org/advocacy/whyusefreebsd.html|txt=Why Choose FreeBSD?}}
 +
 
 +
* {{citelink|url=http://www.unixmen.com/bsd-for-human-beings-interview/|txt=Interview: BSD for Human Beings}}
 +
 
 +
* {{citelink|url=http://www.youtube.com/watch?v=xk6ouxX51NI|txt=Video: BSD 4 Linux Users}}
 +
 
 +
* {{citelink|url=http://www.freebsd.org/doc/en/articles/bsdl-gpl/article.html|txt=Why you should use a BSD style license for your Open Source Project}}
 +
 
 +
* {{citelink|url=http://bhami.com/rosetta.html|txt=A Sysadmin's Unixersal Translator (ROSETTA STONE)}}
 +
 
 +
* {{citelink|url=http://www.leidinger.net/blog/2010/09/28/the-freebsd-linuxulator-explained-for-users/|txt=The FreeBSD linuxulator explained for users}}
 +
 
 
<noinclude>{{refheading}}</noinclude>
 
<noinclude>{{refheading}}</noinclude>
 +
<noinclude>{{GroupListHeading|group=tables}}</noinclude>
 
<noinclude>
 
<noinclude>
 
[[category:handbook]]
 
[[category:handbook]]
 
[[category:introduction]]
 
[[category:introduction]]
[[category:PC-BSD for Linux Users]]
+
[[category:PC-BSD® for Linux Users]]
 
</noinclude>
 
</noinclude>

Revision as of 22:02, 4 April 2013

(Sorry for the inconvenience)

Contents

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 the section on Files and File Sharing for more information about available file manager utilities.


Table 1.4a: Filesystem Support on PC-BSD® [tables 1]
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:


Table 1.4b: Names for BSD and Linux Features [tables 2]
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 are 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 [tables 3]
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 that the size of PC-BSD® PBI files are much larger than the actual program. What complaints of this sort often do not recognize is that very few installable applications are 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 depend upon many programs. These programs may relate to audio or video playback, window management, or 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 be reused by other applications that you install later; however, every PBI file contains all the 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:

References


  1. http://en.wikipedia.org/wiki/Berkeley_Software_Distribution
  2. http://e2fsprogs.sourceforge.net/
  3. http://www.catacombae.org/hfsx.html
  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
  15. http://bhami.com/rosetta.html
  16. http://www.leidinger.net/blog/2010/09/28/the-freebsd-linuxulator-explained-for-users/

List of Tables


  1. Table 1.4a: Filesystem Support on PC-BSD®
  2. Table 1.4b: Names for BSD and Linux Features
  3. Table 1.4c: Common BSD and Linux Commands