Gotchas, Linux

From FreeBSDwiki
Revision as of 16:06, 12 November 2005 by Dave (Talk | contribs)
Jump to: navigation, search

Things you should know if you're coming to FreeBSD from Linux

  1. 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".)
  2. You need to be a member of the wheel group to allow you to su to root.
  3. No iptables/netfilter: ipfw packet filter takes it's place, but you have to recompile your kernel to include it
  4. 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.
  5. 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
  6. 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.
  7. If in doubt, read the Handbook (or ask here).
  8. 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.
  9. 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.
  10. /stand/sysinstall will be quite useful to you at first.
  11. bash is not the default shell, csh or tcsh is. If you want to change that, see chsh.
  12. 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.
  13. 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.
  14. /etc/mtab doesn't show you mounts. mount and df do.
  15. Your hard disks are no longer /dev/hda or /dev/sda. Now they are /dev/ad0s1a. See partitions.
  16. devinfo and swapinfo will do a lot of sysctl magic for you.
  17. Software RAID? See vinum.
  18. Bandwidth limiting/traffic shaping? See dummynet
  19. Disk encryption? [It's in the Handbook]
  20. Shell scripts do not use seq 1 10. They use jot 10 1 instead.
  21. /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.)
  22. wget is replaced by fetch. Feel free to install wget if you don't want to learn another program, but they're very similar.
  23. 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.
Personal tools