Gotchas, Linux
From FreeBSDwiki
(Difference between revisions)
(runlevels and init) |
|||
Line 3: | Line 3: | ||
# 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 | ||
+ | # 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 | # 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. | # 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. |
Revision as of 09:50, 29 July 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.)
- 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. Deal.
- /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 eth0 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.