Updated to account for pkgng and not being dependant on pkgsrc, updated common GNU...
[ikiwiki.git] / docs / user / Comparison_with_Linux.mdwn
1  
2
3 [[!table  data="""
4  **Feature**  |  **DragonFly**  | **Linux**  
5
6  Distribution formats |  ISO image, pkgsrc, pkgng, tarballs |  ISO image, rpm, dpkg, tarballs 
7
8  Distribution Depots | Central repository with mirrors for base, several binary package repositories |  Debian: many mirrors; Redhat: central; Ubuntu: central; SUSE: ? 
9
10  Number of Distributions | one (3 sibs: FreeBSD, NetBSD, OpenBSD; most popular: FreeBSD) | hundreds (most popular: RedHat (sub-distro: Fedora), Debian (sub-distro: Ubuntu)) 
11
12  Update methods | git, cvsup, rsync, pkg_add, pkg | up2date, yum, apt-get, pacman, emerge, etc. 
13
14  Xen | not yet | yes 
15
16  Compiler | gcc 3.4,4.1.2 | gcc 3,4, gcc 3.4, gcc 4.1, gcc 4.2 
17
18  Firewall | default: pf; other: ipfw2, ipf | default: iptables; other: pf 
19
20  Livecd | yes (DVD) | yes, many sizes, versions 
21
22  Kernel SCM | git | git 
23
24  Default GUI | none (or bare X) | none, kde, gnome, xfce, etc. (depend on distro)
25
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 
27
28  Encryption Mechanisms | LUKS, TrueCrypt (tcplay) | LUKS, TrueCrypt (tcplay) 
29
30  Kernel compilable from supplied source? | Yes | Yes (depend on distro) 
31
32  Predominant Licenses | 3-clause DragonFly, 3-clause BSD, 4-clause BSD, MIT, GPL | GPL, Lesser GPL, MIT, 3-clause BSD? 
33
34  Commercial Support | Not yet | many; leaders: RedHat, Novell? 
35
36  Processor Architectures | x86, AMD64 | x86, AMD64, Sparc, PowerPC, etc 
37
38  SMP | yes | yes 
39
40  NUMA | under development | yes (depending on kernel?) 
41
42  Boot loader | default: bsd boot block; lilo, grub work | default: lilo, grub 
43
44  Disk partitioning | BSD-style: slices on fdisk'ed partitions | fdisk partitions 
45
46  Logical volume management | vinum, LVM2 | LVM1, LVM2, 
47
48  Release schedule | about twice a year (developer-driven) | Redhat: 18 month; Debian: feature-driven; Ubuntu: 6 month; Fedora: 6 months; |
49
50 """]]DD:Distribution dependant
51
52
53
54
55 ### Advantages over Linux 
56
57
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.
63 * The rpm/deb based distros lack that.
64 * Everything is developed in GIT. And the GIT repository is available, so that you can download it and commit to your own repository.
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.
83 * No binary blobs
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.
86
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)
92
93
94
95 ### Disadvantages compared to Linux 
96
97 Most of these disadvantages are curable, not inherent.
98
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
103
104 ### Devices
105
106 [[!table  data="""
107  **Feature** |    **DragonFly**  |   **Linux**  
108  IDE disk |   ad0, ad1, ... |   hda, hdb, ...  
109  IDE disk partition |   ad0s1a, ad0s1b, ... |   hda1, hda2, ...  
110  Ethernet |   xl0 |   eth0 
111 """]]
112
113 ### Commands
114
115 [[!table  data="""
116  **Feature** |   **DragonFly** |   **Linux**  
117  Manage startup scripts |   rcrun |   chkconfig (Red Hat)/update-rc.d (Debian)
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.