Gotchas, Linux
From FreeBSDwiki
		(Difference between revisions)
		
		
m (x11 note)  | 
		m  | 
		||
| Line 1: | Line 1: | ||
==Things you should know if you're coming to FreeBSD from Linux==  | ==Things you should know if you're coming to FreeBSD from Linux==  | ||
| − | # The kernels are different -- monolithic instead of microkernels, although FreeBSD does allow dynamic loading of modules (see [[kldstat]], [[kldload]], [[kldunload]].)  | + | # The kernels are different -- monolithic instead of microkernels, although FreeBSD does allow dynamic loading of modules (see [[kldstat]], [[kldload]], [[kldunload]] instead of linux's "lsmod", "insmod" and "rmmod".)  | 
# You need to be a member of the wheel group to allow you to su to root.  | # You need to be a member of the wheel group to allow you to su to root.  | ||
# No iptables/netfilter: ipfw packet filter takes it's place, but you have to recompile your kernel to include it  | # No iptables/netfilter: ipfw packet filter takes it's place, but you have to recompile your kernel to include it  | ||
| Line 12: | Line 12: | ||
# [[bash]] is not the default shell, [[csh]] or [[tcsh]] is. If you want to change that, see [[chsh]].  | # [[bash]] is not the default shell, [[csh]] or [[tcsh]] is. If you want to change that, see [[chsh]].  | ||
# Most linux distros use [[vim]], FreeBSD uses [[nvi]] by default. You can change this if it matters to you. Use /usr/ports/editors/vim-lite if you do not want to install the [[X windowing system]] else use /usr/ports/editors/vim.  | # Most linux distros use [[vim]], FreeBSD uses [[nvi]] by default. You can change this if it matters to you. Use /usr/ports/editors/vim-lite if you do not want to install the [[X windowing system]] else use /usr/ports/editors/vim.  | ||
| − | # Your NIC is no longer eth0 or   | + | # Your NIC is no longer eth0 or eth1 or whatever. FreeBSD names it's interfaces by the driver they use; you'll see rl0, ed0, hme0, etc.  | 
# /etc/mtab doesn't show you mounts. [[mount]] and [[df]] do.  | # /etc/mtab doesn't show you mounts. [[mount]] and [[df]] do.  | ||
# Your hard disks are no longer /dev/hda or /dev/sda. Now they are /dev/ad0s1a. See [[partitions]].  | # Your hard disks are no longer /dev/hda or /dev/sda. Now they are /dev/ad0s1a. See [[partitions]].  | ||
Revision as of 15:06, 12 November 2005
Things you should know if you're coming to FreeBSD from Linux
- The kernels are different -- monolithic instead of microkernels, although FreeBSD does allow dynamic loading of modules (see kldstat, kldload, kldunload instead of linux's "lsmod", "insmod" and "rmmod".)
 - You need to be a member of the wheel group to allow you to su to root.
 - No iptables/netfilter: ipfw packet filter takes it's place, but you have to recompile your kernel to include it
 - Init scripts: you're going to be doing it BSD style, not SysV style as in Linux. Translation: runlevels mean different things in BSD and init scripts are handled differently.
 - No /proc tree. If you're used to banging around /proc to find system info, man sysctl. If you installed linux-compatibility, see /usr/compat/linux/proc
 - You don't have to compile everything from ports, it's usually better for your particular system if you do. See pkg_add and the other pkg tools.
 - If in doubt, read the Handbook (or ask here).
 - Different filesystems: linux uses ext2/ext3/reiserfs by default (usually) and FreeBSD uses UFS. It does not do journaling, but instead uses a system called soft-updates. Have a look [here] if you would like to know what this means. It seems that [Google] might be helping to change this though.
 - Java's a tough nut to install due to Sun's licensing restrictions...unless you're not on the x86 FreeBSD platform, in which case it's uninstallable anyway.
 - /stand/sysinstall will be quite useful to you at first.
 - bash is not the default shell, csh or tcsh is. If you want to change that, see chsh.
 - Most linux distros use vim, FreeBSD uses nvi by default. You can change this if it matters to you. Use /usr/ports/editors/vim-lite if you do not want to install the X windowing system else use /usr/ports/editors/vim.
 - Your NIC is no longer eth0 or eth1 or whatever. FreeBSD names it's interfaces by the driver they use; you'll see rl0, ed0, hme0, etc.
 - /etc/mtab doesn't show you mounts. mount and df do.
 - Your hard disks are no longer /dev/hda or /dev/sda. Now they are /dev/ad0s1a. See partitions.
 - devinfo and swapinfo will do a lot of sysctl magic for you.
 - Software RAID? See vinum.
 - Bandwidth limiting/traffic shaping? See dummynet
 - Disk encryption? [It's in the Handbook]
 - Shell scripts do not use seq 1 10. They use jot 10 1 instead.
 - /boot/loader.conf is where you set which kernel modules to load at boot time. /etc/rc.conf is where you set which system daemons to load at boot time. Or you can edit the startup scripts manually in /etc/rc.d (Some say this is the only way to do it, some say it doesn't matter. Your choice.)
 - wget is replaced by fetch. Feel free to install wget if you don't want to learn another program, but they're very similar.
 - If you install X11, and switch to a shell, getting back to X is a matter of alt-F9 since FreeBSD sets you up with 8 virtual terminals instead of Linux's default of 6.