Comparison with Linux
Feature | DragonFly | Linux | |
---|---|---|---|
Distribution formats | ISO image, pkgng, tarballs | ISO image, rpm, dpkg, tarballs | |
Distribution Depots | Central repository with mirrors for base, 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 (sub-distro: Fedora), Debian (sub-distro: Ubuntu)) | |
Update methods | git, cvsup, rsync, pkg | up2date, yum, apt-get, pacman, emerge, etc. | |
Xen | not yet | yes | |
Compiler | gcc 8.3 | gcc 4.7.2 (Debian 7), gcc 4.4.7 (Redhat 6), gcc 4.1.2 (Redhat 5), gcc 12.2.0 (Void) | |
Firewall | default: pf; other: ipfw2, ipf | default: iptables; other: pf | |
Livecd | yes (DVD) | yes, many sizes, versions | |
Kernel SCM | git | git | |
Default GUI | none | none, kde, gnome, xfce, etc. (depend on distro) | |
File systems | UFS1, MFS, EXT2, FAT (16/32), NTFS (write experimental), HAMMER | BTRFS, EXT2, EXT3, EXT4, FAT (16/32), NTFS (read-write experimental?), XFS, REISERFS, REISER4, JFS, ZFS, UFS2 | |
Encryption Mechanisms | LUKS, TrueCrypt (tcplay) | LUKS, TrueCrypt (tcplay) | |
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 | AMD64 | x86, AMD64, Sparc, PowerPC, etc | |
SMP | yes | yes | |
NUMA | yes | 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: 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/deb 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) support
- A jail is a chroot(2) 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)
- No binary blobs
- Integration of gcc 5.4.1
Easily switch your default compiler by setting the environment variable CCVER to gcc6.
% env CCVER=gcc6 cc -v Using built-in specs. COLLECT_GCC=/usr/local/bin/gcc6 COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc6/gcc/x86_64-portbld-dragonfly5.1/6.4.0/lto-wrapper Target: x86_64-portbld-dragonfly5.1 Configured with: /construction/lang/gcc6/gcc-6.4.0/configure --disable-multilib --with-build-config=bootstrap-debug --disable-nls --enable-gnu-indirect-function --libdir=/usr/local/lib/gcc6 --libexecdir=/usr/local/libexec/gcc6 --program-suffix=6 --with-as=/usr/local/bin/as --with-gmp=/usr/local --with-gxx-include-dir=/usr/local/lib/gcc6/include/c++/ --with-ld=/usr/local/bin/ld --with-pkgversion='FreeBSD Ports Collection' --with-system-zlib --disable-libgcj --enable-languages=c,c++,objc,fortran --prefix=/usr/local --localstatedir=/var --mandir=/usr/local/man --infodir=/usr/local/info/gcc6 --build=x86_64-portbld-dragonfly5.1 Thread model: posix gcc version 6.4.0 (FreeBSD Ports Collection)
Disadvantages compared to Linux
Most of these disadvantages are curable, not inherent.
- Less popular which means fewer developers and testers
- No driver support from some graphics card companies
Devices
Feature | DragonFly | Linux |
---|---|---|
IDE disk | ad0, ad1, ... | hda, hdb, ... |
IDE disk partition | ad0s1a, ad0s1b, ... | hda1, hda2, ... |
Ethernet | xl0 | eth0 |
Commands
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.