Updated to account for pkgng and not being dependant on pkgsrc, updated common GNU...
[ikiwiki.git] / docs / user / Comparison_with_Linux.mdwn
CommitLineData
f3240cae 1 
02d54d6c 2
b790f880 3[[!table data="""
66ba289f 4 **Feature** | **DragonFly** | **Linux**
99db61f9 5
9b313da6 6 Distribution formats | ISO image, pkgsrc, pkgng, tarballs | ISO image, rpm, dpkg, tarballs
99db61f9 7
9b313da6 8 Distribution Depots | Central repository with mirrors for base, several binary package repositories | Debian: many mirrors; Redhat: central; Ubuntu: central; SUSE: ?
99db61f9 9
9b313da6 10 Number of Distributions | one (3 sibs: FreeBSD, NetBSD, OpenBSD; most popular: FreeBSD) | hundreds (most popular: RedHat (sub-distro: Fedora), Debian (sub-distro: Ubuntu))
99db61f9 11
9b313da6 12 Update methods | git, cvsup, rsync, pkg_add, pkg | up2date, yum, apt-get, pacman, emerge, etc.
99db61f9 13
b790f880 14 Xen | not yet | yes
99db61f9 15
b790f880 16 Compiler | gcc 3.4,4.1.2 | gcc 3,4, gcc 3.4, gcc 4.1, gcc 4.2
99db61f9 17
b790f880 18 Firewall | default: pf; other: ipfw2, ipf | default: iptables; other: pf
99db61f9 19
b790f880 20 Livecd | yes (DVD) | yes, many sizes, versions
99db61f9 21
b790f880 22 Kernel SCM | git | git
99db61f9 23
9b313da6 24 Default GUI | none (or bare X) | none, kde, gnome, xfce, etc. (depend on distro)
99db61f9 25
9b313da6 26 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
99db61f9 27
028f7817 28 Encryption Mechanisms | LUKS, TrueCrypt (tcplay) | LUKS, TrueCrypt (tcplay)
29
b790f880 30 Kernel compilable from supplied source? | Yes | Yes (depend on distro)
99db61f9 31
b790f880 32 Predominant Licenses | 3-clause DragonFly, 3-clause BSD, 4-clause BSD, MIT, GPL | GPL, Lesser GPL, MIT, 3-clause BSD?
99db61f9 33
b790f880 34 Commercial Support | Not yet | many; leaders: RedHat, Novell?
99db61f9 35
acfc8a9a 36 Processor Architectures | x86, AMD64 | x86, AMD64, Sparc, PowerPC, etc
99db61f9 37
b790f880 38 SMP | yes | yes
99db61f9 39
b790f880 40 NUMA | under development | yes (depending on kernel?)
99db61f9 41
b790f880 42 Boot loader | default: bsd boot block; lilo, grub work | default: lilo, grub
99db61f9 43
b790f880 44 Disk partitioning | BSD-style: slices on fdisk'ed partitions | fdisk partitions
99db61f9 45
4f695175 46 Logical volume management | vinum, LVM2 | LVM1, LVM2,
99db61f9 47
9b313da6 48 Release schedule | about twice a year (developer-driven) | Redhat: 18 month; Debian: feature-driven; Ubuntu: 6 month; Fedora: 6 months; |
b790f880 49
6988cfdf 50"""]]DD:Distribution dependant
b790f880 51
b790f880 52
b790f880 53
ca729738 54
6988cfdf 55### Advantages over Linux
b790f880 56
b790f880 57
6988cfdf 58* BSD licensed
59* All you have to do is give credit.
60* Except where the 4-clause BSD License is used, of course: BSD License (http://en.wikipedia.org/wiki/BSD_License)
61* More control
62* You can easily build your own base system / release / live cd.
9b313da6 63* The rpm/deb based distros lack that.
aac07f14 64* Everything is developed in GIT. And the GIT repository is available, so that you can download it and commit to your own repository.
6988cfdf 65* Guaranteed to build from source
66* [jail(2)](http://leaf.dragonflybsd.org/cgi/web-man?section#2&commandjail) support
67* A jail is a [chroot(2)](http://leaf.dragonflybsd.org/cgi/web-man?section#2&commandchroot) on steroids with low overhead.
68* Since jails have their own IP, you can easily setup up Virtual Hosting enviroments on shared servers.
69* VKERNELs
70* VKERNELs can be compared with UML.
71* Many packet filter packages:
72* ipf - by Darren Reed
73* ipfw2 - the successor to ipfw
74* pf - by Daniel Hartmeier and the OpenBSD project, the most flexible, can e.g. match Operating Systems
75* SIGINFO signal
76* 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
77* Kernel debugger
78* CTRL-ALT-ESC in a console gives you a debugger prompt.
79* There are non-standard patches for something like that for Linux.
80* Debugging via a firewire console is also available, see dconschat(8)
81* Linux compatibility
82* Since the kernel exposes a Linux ABI, many Linux binaries run natively.
9b313da6 83* No binary blobs
6988cfdf 84* Integration of gcc 3.x and gcc 4.x
85* Easily switch your default compiler by setting the environment variable CCVER to gcc34 or gcc40.
b790f880 86
6988cfdf 87 $ CCVER=gcc34 cc -v
88 Using built-in specs.
89 Configured with: ./configure --prefix#/usr --hosti386-just-dragonflybsd
90 Thread model: posix
91 gcc version 3.4.3 [DragonFly] (propolice, visibility)
b790f880 92
b790f880 93
b790f880 94
6988cfdf 95### Disadvantages compared to Linux
b790f880 96
6988cfdf 97Most of these disadvantages are curable, not inherent.
b790f880 98
6988cfdf 99* Less popular :-) which means fewer developers, testers
100* Linux ABI support not complete (actively developed)
101* Not all Linux binaries run. . e.g. we can't do the new nptl threading, but maybe possible in future.
102* No binary driver support from some graphics card companies
b790f880 103
6e1e4a22 104### Devices
105
106[[!table data="""
ca729738
P
107 **Feature** |   **DragonFly** |   **Linux**
108 IDE disk |   ad0, ad1, ... |   hda, hdb, ...
109 IDE disk partition |   ad0s1a, ad0s1b, ... |   hda1, hda2, ...
110 Ethernet |   xl0 |   eth0
6e1e4a22 111"""]]
ace1ab33 112
113### Commands
114
115[[!table data="""
ca729738
P
116 **Feature** |   **DragonFly** |   **Linux**
117 Manage startup scripts |   rcrun |   chkconfig (Red Hat)/update-rc.d (Debian)
ace1ab33 118"""]]
119
120*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.