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.