[[!table data=""" **Feature** | **DragonFly** | **Linux** Distribution formats | ISO image, pkgsrc, tarballs | ISO image, rpm, dpkg, tarballs Distribution Depots | Central repository with mirrors for base, NetBSD mirrors for source packages, several binary package repositories | Debian: many mirrors; Redhat: central; Ubuntu: central; SUSE: ? Number of Distributions | one (3 sibs: FreeBSD, NetBSD, OpenBSD; most popular: FreeBSD) | hundreds (most popular: RedHat, Debian (sub-distro: Ubuntu)) Update methods | git, cvsup, rsync, pkg_add | up2date, apt-get, pacman, emerge, etc. Xen | not yet | yes Compiler | gcc 3.4,4.1.2 | gcc 3,4, gcc 3.4, gcc 4.1, gcc 4.2 Firewall | default: pf; other: ipfw2, ipf | default: iptables; other: pf Livecd | yes (DVD) | yes, many sizes, versions Kernel SCM | git | git Default GUI | none (or bare X) | none, kde, gnome, xfce, etc. File systems | UFS1, MFS, EXT2, FAT (16/32), NTFS (write experimental), HAMMER | EXT2, EXT3, FAT (16/32), NTFS (read-write experimental?), XFS, REISERFS, REISER4, JFS, ZFS, UFS2 Kernel compilable from supplied source? | Yes | Yes (depend on distro) Predominant Licenses | 3-clause DragonFly, 3-clause BSD, 4-clause BSD, MIT, GPL | GPL, Lesser GPL, MIT, 3-clause BSD? Commercial Support | Not yet | many; leaders: RedHat, Novell? Processor Architectures | x86, AMD64 | x86, AMD64, Sparc, PowerPC, etc SMP | yes | yes NUMA | under development | yes (depending on kernel?) Boot loader | default: bsd boot block; lilo, grub work | default: lilo, grub Disk partitioning | BSD-style: slices on fdisk'ed partitions | fdisk partitions Logical volume management | vinum, LVM2 | LVM1, LVM2, Release schedule | about twice a year (developer-driven) | Redhat: 18 month; Debian: feature-driven; Ubuntu: 6 month; Fedora Core: 6 months; | """]]DD:Distribution dependant ### Advantages over Linux * BSD licensed * All you have to do is give credit. * Except where the 4-clause BSD License is used, of course: BSD License (http://en.wikipedia.org/wiki/BSD_License) * More control * You can easily build your own base system / release / live cd. * The rpm based distros lack that. * Everything is developed in GIT. And the GIT repository is available, so that you can download it and commit to your own repository. * Guaranteed to build from source * [jail(2)](http://leaf.dragonflybsd.org/cgi/web-man?section#2&commandjail) support * A jail is a [chroot(2)](http://leaf.dragonflybsd.org/cgi/web-man?section#2&commandchroot) on steroids with low overhead. * Since jails have their own IP, you can easily setup up Virtual Hosting enviroments on shared servers. * VKERNELs * VKERNELs can be compared with UML. * Many packet filter packages: * ipf - by Darren Reed * ipfw2 - the successor to ipfw * pf - by Daniel Hartmeier and the OpenBSD project, the most flexible, can e.g. match Operating Systems * SIGINFO signal * You can send a SIGINFO to a process (e.g. via CTRL-T) and it prints useful information e.g. fsck reports how many percent are done * Kernel debugger * CTRL-ALT-ESC in a console gives you a debugger prompt. * There are non-standard patches for something like that for Linux. * Debugging via a firewire console is also available, see dconschat(8) * Linux compatibility * Since the kernel exposes a Linux ABI, many Linux binaries run natively. * Integration of gcc 3.x and gcc 4.x * Easily switch your default compiler by setting the environment variable CCVER to gcc34 or gcc40. $ CCVER=gcc34 cc -v Using built-in specs. Configured with: ./configure --prefix#/usr --hosti386-just-dragonflybsd Thread model: posix gcc version 3.4.3 [DragonFly] (propolice, visibility) ### Disadvantages compared to Linux Most of these disadvantages are curable, not inherent. * Less popular :-) which means fewer developers, testers * Linux ABI support not complete (actively developed) * Not all Linux binaries run. . e.g. we can't do the new nptl threading, but maybe possible in future. * No binary driver support from some graphics card companies ### Devices [[!table data=""" **Feature** |   **DragonFly** |   **Linux** IDE disk |   ad0, ad1, ... |   hda, hdb, ... IDE disk partition |   ad0s1a, ad0s1b, ... |   hda1, hda2, ... Ethernet |   xl0 |   eth0 """]] ### Commands [[!table data=""" **Feature** |   **DragonFly** |   **Linux** Manage startup scripts |   rcrun |   chkconfig (Red Hat)/update-rc.d (Debian) """]] *Some packages put their startup scripts in /usr/pkg/share/examples/rc.d/. You can put a symlink in /etc/rc.d or copy the script there.