diff --git a/FAQ/admin.sgml b/FAQ/admin.sgml index c9e55e2c7e..66cbd1008d 100644 --- a/FAQ/admin.sgml +++ b/FAQ/admin.sgml @@ -1,913 +1,918 @@ - + System Administration Where are the system start-up configuration files?

From 2.0.5R to 2.2.1R, the primary configuration file is /etc/sysconfig. All the options are to be specified in this file and other files such as and /etc/netstart just include it.

Look in the /etc/sysconfig file and change the value to match your system. This file is filled with comments to show what to put in there.

In post-2.2.1 and 3.0, /etc/sysconfig was renamed to a more self-describing file and the syntax cleaned up a bit in the process. /etc/netstart was also renamed to /etc/rc.network so that all files could be copied with a /usr/src/etc/rc* /etc command.

/etc/rc.local is here as always and may be used to start up additional local services like or set custom options.

The /etc/rc.serial is for serial port initialization (e.g. locking the port characteristics, and so on.).

The /etc/rc.i386 is for Intel-specifics settings, such as iBCS2 emulation or the PC system console configuration.

Starting with 2.1.0R, you can also have "local" startup files in a directory specified in /etc/sysconfig (or /etc/rc.conf): # Location of local startup files. local_startup=/usr/local/etc/rc.local.d

Each file ending in If you want to ensure a certain execution order without changing all the file names, you can use a scheme similar to the following with digits prepended to each file name to insure the ordering: 10news.sh 15httpd.sh 20ssh.sh

It can be seen as ugly (or SysV :-)) but it provides a simple and regular scheme for locally-added packages without resorting to magical editing of /etc/rc.local. Many of the ports/packages assume that /usr/local/etc/rc.d is a local startup directory. How do I add a user easily?

Use the command.

There is another package called ``<roberto@FreeBSD.ORG> about it. It is currently undergoing further development.

To remove the user again, use the command. How can I add my new hard disk to my FreeBSD system?

See the Disk Formatting Tutorial at . I have a new removable drive, how do I use it?

Whether it's a removable drive like a ZIP or an EZ drive (or even a floppy, if you want to use it that way), or a new hard disk, once it's installed and recognized by the system, and you have your cartridge/floppy/whatever slotted in, things are pretty much the same for all devices.

If it's a ZIP drive or a floppy , you've already got a DOS filesystem on it, you can use a command like this: mount -t msdos /dev/fd0c /floppy

if it's a floppy, or this: mount -t msdos /dev/sd2s4 /zip

for a ZIP disk with the factory configuration.

For other disks, see how they're laid out using /stand/sysinstall.

The rest of the examples will be for a ZIP drive on sd2, the third SCSI disk.

Unless it's a floppy, or a removable you plan on sharing with other people, it's probably a better idea to stick a BSD file system on it. You'll get long filename support, at least a 2X improvement in performance, and a lot more stability. First, you need to redo the DOS-level partitions/filesystems. You can either use or /stand/sysinstall, or for a small drive that you don't want to bother with multiple operating system support on, just blow away the whole FAT partition table (slices) and just use the BSD partitioning: dd if=/dev/zero of=/dev/rsd2 count=2 disklabel -Brw sd2 auto

You can use disklabel or /stand/sysinstall to create multiple BSD partitions. You'll certainly want to do this if you're adding swap space on a fixed disk, but it's probably irrelevant on a removable drive like a ZIP.

Finally, create a new file system, this one's on our ZIP drive using the whole disk: newfs /dev/rsd2c

and mount it: mount /dev/sd2c /zip

and it's probably a good idea to add a line like this to so you can just type "mount /zip" in the future: /dev/sd2c /zip ffs rw,noauto 0 0 How do I mount a secondary DOS partition?

The secondary DOS partitions are found after ALL the primary partitions. For example, if you have an "E" partition as the second DOS partition on the second SCSI drive, you need to create the special files for "slice 5" in /dev, then mount /dev/sd1s5: # cd /dev # ./MAKEDEV sd1s5 # mount -t msdos /dev/sd1s5 /dos/e Can I mount other foreign filesystems under FreeBSD?

for more information. +

. +

Any other information on this subject would be appreciated. How can I use the NT loader to boot FreeBSD?

The general idea is that you copy the first sector of your native root FreeBSD partition into a file in the DOS/NT partition. Assuming you name that file something like c:\bootsect.bsd (inspired by c:\bootsect.dos), you can then edit the c:\boot.ini file to come up with something like this: [boot loader] timeout=30 default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS [operating systems] multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows NT" C:\BOOTSECT.BSD="FreeBSD" C:\="DOS"

This procedure assumes that DOS, NT, FreeBSD, or whatever have been installed into their respective fdisk partitions on the Mount a DOS-formatted floppy (if you've converted to NTFS) or the FAT partition, under, say, /mnt. dd if=/dev/rsd0a of=/mnt/bootsect.bsd bs=512 count=1

Reboot into DOS or NT. NTFS users copy the attrib -s -r c:\boot.ini

Edit to add the appropriate entries from the example attrib -r -s c:\boot.ini

If FreeBSD is booting from the MBR, restore it with the DOS `` How do I boot FreeBSD and Linux from LILO?

If you have FreeBSD and Linux on the same disk, just follow LILO's installation instructions for booting a non-Linux operating system. Very briefly, these are:

Boot Linux, and add the following lines to /etc/lilo.conf: other=/dev/hda2 table=/dev/hda label=FreeBSD (the above assumes that your FreeBSD slice is known to Linux as /dev/hda2; tailor to suit your setup). Then, run lilo as root and you should be done.

If FreeBSD resides on another disk, you need to add ``loader=/boot/chain.b'' to the LILO entry. For example: other=/dev/sdb4 table=/dev/sdb loader=/boot/chain.b label=FreeBSD

In some cases you may need to specify the BIOS drive number to the FreeBSD boot loader to successfully boot off the second disk. For example, if your FreeBSD SCSI disk is probed by BIOS as BIOS disk 1, at the FreeBSD boot loader prompt you need to specify: Boot: 1:sd(0,a)/kernel

On FreeBSD 2.2.5 and later, you can configure to automatically do this for you at boot time.

The is a good reference for FreeBSD and Linux interoperability issues. How do I boot FreeBSD and Linux using BootEasy?

Install LILO at the start of your Linux boot partition instead of in the Master Boot Record. You can then boot LILO from BootEasy.

If you're running Windows-95 and Linux this is recommended anyway, to make it simpler to get Linux booting again if you should need to reinstall Windows95 (which is a Jealous Operating System, and will bear no other Operating Systems in the Master Boot Record). Will a ``dangerously dedicated'' disk endanger my health?

Now, while this is certainly the common case for people coming from a PC background, those people coming more from a Unix background and who are going to setup a machine just to run FreeBSD and only FreeBSD, are more used to the classic Unix way where the operating system owns the entire disks, from the very first sector through the end. A true fdisk table isn't of any use in this case, the machine is running FreeBSD 24 hours per day, 7 days per week, no other operating system should ever be booted on it. So, if you select ``A)ll FreeBSD'' in sysinstall's fdisk editor, and answer the next question with ``No'', you'll get this mode. Note that this means the BSD bootstrap also forms the MBR for this drive, so there's no space left for anything like a boot manager. Don't ever try to install one, or you'll damage the BSD bootstrap.

So why it is called ``dangerous''? A disk in this mode doesn't contain what normal PC utilities would consider a valid fdisk table. Depending on how well they have been designed, they might complain at you once they are getting in contact with such a disk, or even worse, they might damage the BSD bootstrap without even asking or notifying you. Some kind of operating system that is in rather widespread use on PCs is known for this kind of user-unfriendliness (of course, it does this in the name of ``user-friendliness''). At least one Award BIOS that is for example used in HP Netservers (but not only there) is known to ignore any harddisk that doesn't have what it believes to be a valid fdisk table. When it comes to booting, it simply ignores such a disk drive, advances to the floppy drive, and barfs at you with just ``Read error''. Very impressive, eh? They probably also call this ``user-friendly'', who knows?

The advantages of this mode are: FreeBSD owns the entire disk, no need to waste several fictitious `tracks' for just nothing but a 1980-aged simplistic partitioning model enforcing some artificial and now rather nonsensical constraints on how this partitioning needs to be done. These constraints often lead to what might be the biggest headaches for OS installations on PCs, geometry mismatch hassles resulting out of two different, redundant ways how to store the partitioning information in the fdisk table. See the chapter about . In ``dangerously dedicated'' mode, the BSD bootstrap starts at sector 0, and this one is the only sector that always translates into the same C/H/S values, regardless of which `translation' your BIOS is using for your disk. Thus, you can also swap disks between systems/controllers that use a different translation scheme, without risking that they won't boot anymore.

To return a ``dangerously dedicated'' disk for normal PC use, there are basically two options. The first is, you write enough NULL bytes over the MBR to make any subsequent installation believe this to be a blank disk. You can do this for example with dd if=/dev/zero of=/dev/rsd0 count=15

Alternatively, the undocumented DOS ``feature'' fdisk /mbr

will to install a new master boot record as well, thus clobbering the BSD bootstrap. How can I add more swap space?

The best way is to increase the size of your swap partition, or take advantage of this convenient excuse to add another disk.

Adding swap onto a separate disk makes things faster than simply adding swap onto the same disk. As an example, if you are compiling source located on one disk, and the swap is on another disk, this is much faster than both swap and compile on the same disk. This is true for SCSI disks specifically.

IDE drives are not able to allow access to both drives on the same channel at the same time (FreeBSD doesn't support mode 4, so all IDE disk I/O is ``programmed''). I would still suggest putting your swap on a separate drive however. The drives are so cheap, it is not worth worrying about.

It is a really bad idea to locate your swap file over NFS unless you are running in a very fast networking environment, with a good server.

Here is an example for 64Mb vn-swap (/usr/swap0, though of course you can use any name that you want).

Make sure your kernel was built with the line pseudo-device vn 1 #Vnode driver (turns a file into a device)

in your config-file. The GENERIC kernel already contains this. create a vn-device cd /dev sh ./MAKEDEV vn0 create a swapfile (/usr/swap0) dd if=/dev/zero of=/usr/swap0 bs=1024k count=64 enable the swap file in /etc/rc.conf swapfile="/usr/swap0" # Set to name of swapfile if aux swapfile desired. reboot the machine

To enable the swap file immediately, type vnconfig -ce /dev/vn0c /usr/swap0 swap I'm having problems setting up my printer.

Please have a look at the Handbook entry on printing. It should cover most of your problem. See the The keyboard mappings are wrong for my system.

The kbdcontrol program has an option to load a keyboard map file. Under /usr/share/syscons/keymaps are a number of map files. Choose the one relevant to your system and load it. kbdcontrol -l uk.iso

Both the /usr/share/syscons/keymaps and the .

This can be configured in /etc/sysconfig (or ). See the appropriate comments in this file.

In 2.0.5R and later, everything related to text fonts, keyboard mapping is in /usr/share/examples/syscons.

The following mappings are currently supported: Belgian ISO-8859-1 Brazilian 275 keyboard Codepage 850 Brazilian 275 keyboard ISO-8859-1 Danish Codepage 865 Danish ISO-8859-1 French ISO-8859-1 German Codepage 850 German ISO-8859-1 Italian ISO-8859-1 Japanese 106 Japanese 106x Latin American Norwegian ISO-8859-1 Polish ISO-8859-2 (programmer's) Russian Codepage 866 (alternative) Russian koi8-r (shift) Russian koi8-r Spanish ISO-8859-1 Swedish Codepage 850 Swedish ISO-8859-1 Swiss-German ISO-8859-1 United Kingdom Codepage 850 United Kingdom ISO-8859-1 United States of America ISO-8859-1 United States of America dvorak United States of America dvorakx I can't get user quotas to work properly.

Don't turn on quotas on '/', Put the quota file on the file system that the quotas are to be enforced on. ie: FS QUOTA FILE /usr /usr/admin/quotas /home /home/admin/quotas ... What's inappropriate about my ccd?

The symptom of this is: # ccdconfig -C ccdconfig: ioctl (CCDIOCSET): /dev/ccd0c: Inappropriate file type or format #

This usually happens when you are trying to concatenate the `c' partitions, which default to type `unused'. The ccd driver requires the underlying partition type to be FS_BSDFFS. Edit the disklabel of the disks you are trying to concatenate and change the types of partitions to `4.2BSD'. Why can't I edit the disklabel on my ccd?

The symptom of this is: # disklabel ccd0 (it prints something sensible here, so let's try to edit it) # disklabel -e ccd0 (edit, save, quit) disklabel: ioctl DIOCWDINFO: No disk label on disk; use "disklabel -r" to install initial label #

This is because the disklabel returned by ccd is actually a `fake' one that is not really on the disk. You can solve this problem by writing it back explicitly, as in: # disklabel ccd0 > /tmp/disklabel.tmp # disklabel -Rr ccd0 /tmp/disklabel.tmp # disklabel -e ccd0 (this will work now) Does FreeBSD support System V IPC primitives?

Yes, FreeBSD supports System V-style IPC. This includes shared memory, messages and semaphores. You need to add the following lines to your kernel config to enable them. options SYSVSHM options "SHMMAXPGS=64" # 256Kb of sharable memory options SYSVSEM # enable for semaphores options SYSVMSG # enable for messaging

Recompile and install.

How do I use sendmail for mail delivery with UUCP?

The sendmail configuration that ships with FreeBSD is suited for sites that connect directly to the Internet. Sites that wish to exchange their mail via UUCP must install another sendmail configuration file.

Tweaking /etc/sendmail.cf manually is considered something for purists. Sendmail version 8 comes with a new approach of generating config files via some preprocessing, where the actual hand-crafted configuration is on a higher abstraction level. You should use the configuration files under /usr/src/usr.sbin/sendmail/cf

If you didn't install your system with full sources, the sendmail config stuff has been broken out into a separate source distribution tarball just for you. Assuming you've got your CD-ROM mounted, do: cd /usr/src tar -xvzf /cdrom/dists/src/ssmailcf.aa

Don't panic, this is only a few hundred kilobytes in size. The file README in the cf directory can serve as a basic introduction to m4 configuration.

For UUCP delivery, you are best advised to use the mailertable feature. This constitutes a database that sendmail can use to base its routing decision upon.

First, you have to create your .mc file. The directory /usr/src/usr.sbin/sendmail/cf/cf is the home of these files. Look around, there are already a few examples. Assuming you have named your file foo.mc, all you need to do in order to convert it into a valid sendmail.cf is: cd /usr/src/usr.sbin/sendmail/cf/cf make foo.cf cp foo.cf /etc/sendmail.cf

A typical .mc file might look like: include(`../m4/cf.m4') VERSIONID(`Your version number') OSTYPE(bsd4.4) FEATURE(nodns) FEATURE(nocanonify) FEATURE(mailertable) define(`UUCP_RELAY', your.uucp.relay) define(`UUCP_MAX_SIZE', 200000) MAILER(local) MAILER(smtp) MAILER(uucp) Cw your.alias.host.name Cw youruucpnodename.UUCP

The nodns and nocanonify features will prevent any usage of the DNS during mail delivery. The UUCP_RELAY clause is needed for bizarre reasons, don't ask. Simply put an Internet hostname there that is able to handle .UUCP pseudo-domain addresses; most likely, you will enter the mail relay of your ISP there.

Once you've got this, you need this file called /etc/mailertable. A typical example of this gender again: # # makemap hash /etc/mailertable.db < /etc/mailertable # horus.interface-business.de uucp-dom:horus .interface-business.de uucp-dom:if-bus interface-business.de uucp-dom:if-bus .heep.sax.de smtp8:%1 horus.UUCP uucp-dom:horus if-bus.UUCP uucp-dom:if-bus . uucp-dom:sax

As you can see, this is part of a real-life file. The first three lines handle special cases where domain-addressed mail should not be sent out to the default route, but instead to some UUCP neighbor in order to ``shortcut'' the delivery path. The next line handles mail to the local Ethernet domain that can be delivered using SMTP. Finally, the UUCP neighbors are mentioned in the .UUCP pseudo-domain notation, to allow for a ``uucp-neighbor!recipient'' override of the default rules. The last line is always a single dot, matching everything else, with UUCP delivery to a UUCP neighbor that serves as your universal mail gateway to the world. All of the node names behind the uucp-dom: keyword must be valid UUCP neighbors, as you can verify using the command uuname.

As a reminder that this file needs to be converted into a DBM database file before being usable, the command line to accomplish this is best placed as a comment at the top of the mailertable. You always have to execute this command each time you change your mailertable.

Final hint: if you are uncertain whether some particular mail routing would work, remember the -bt option to sendmail. It starts sendmail in address test mode; simply enter ``0 '', followed by the address you wish to test for the mail routing. The last line tells you the used internal mail agent, the destination host this agent will be called with, and the (possibly translated) address. Leave this mode by typing Control-D. j@uriah 191% sendmail -bt ADDRESS TEST MODE (ruleset 3 NOT automatically invoked) Enter

> 0 foo@interface-business.de rewrite: ruleset 0 input: foo @ interface-business . de ... rewrite: ruleset 0 returns: $# uucp-dom $@ if-bus $: foo \ < @ interface-business . de > > ^D j@uriah 192% How do I set up mail with a dialup connection to the 'net?

If you've got a statically assigned IP number, you should not need to adjust anything from the default. Set your host name up as your assigned internet name and sendmail will do the rest.

If you've got a dynamically assigned IP number and use a dialup In order to retrieve mail from your mailbox, you'll need to install a retrieval agent. /etc/ppp/ppp.linkup: MYADDR: !bg su user -c fetchmail

I'm assuming that you have an account for poll myISP.com protocol pop3 fetchall pass MySecret;

Needless to say, this file should not be readable by anyone except In order to send mail with the correct The following VERSIONID(`bsd.home.mc version 1.0') OSTYPE(bsd4.4)dnl FEATURE(nouucp)dnl MAILER(local)dnl MAILER(smtp)dnl Cwlocalhost Cwbsd.home MASQUERADE_AS(`myISP.com')dnl FEATURE(allmasquerade)dnl FEATURE(masquerade_envelope)dnl FEATURE(nocanonify)dnl FEATURE(nodns)dnl define(SMART_HOST, `relay.myISP.com') Dmbsd.home define(`confDOMAIN_NAME',`bsd.home')dnl define(`confDELIVERY_MODE',`deferred')dnl

Refer to the previous section for details of how to turn this Eek! I forgot the root password!

Don't Panic! Simply restart the system, type -s at the Boot: prompt to enter Single User mode. At the question about the shell to use, hit ENTER. You'll be dropped to a # prompt. Enter mount -u / to remount your root filesystem read/write, then run How do I keep Control-Alt-Delete from rebooting the system?

Edit the keymap you are using for the console and replace the /usr/share/syscons/keymaps/us.iso.kbd. You may have to instruct /etc/rc.conf to load this keymap explicitly for the change to take effect. Of course if you are using an alternate keymap for your country, you should edit that one instead. How do I reformat DOS text files to UNIX ones?

Simply use this perl command: perl -i.bak -npe 's/\r\n/\n/g' file ...

file is the file(s) to process. The modification is done in-place, with the original file stored with a .bak extension.

Alternatively you can use the command: tr -d '\r' < dos-text-file > unix-file

dos-text-file is the file containing DOS text while unix-file will contain the converted output. This can be quite a bit faster than using perl. How do I kill processes by name?

Use . Why is su bugging me about not being in root's ACL?

The error comes from the Kerberos distributed authentication system. The problem isn't fatal but annoying. You can either run su with the -K option, or uninstall Kerberos as described in the next question. How do I uninstall Kerberos?

To remove Kerberos from the system, reinstall the bin distribution for the release you are running. If you have the CDROM, you can mount the cd (we'll assume on /cdrom) and run cd /cdrom/bin ./install.sh How do I add pseudoterminals to the system?

If you have lots of telnet, ssh, X, or screen users, you'll probably run out of pseudoterminals. Here's how to add more: Build and install a new kernel with the line pseudo-device pty 256

in the configuration file. Run the command # cd /dev # ./MAKEDEV pty{1,2,3,4,5,6,7}

to make 256 device nodes for the new terminals. Edit /etc/ttys and add lines for each of the 256 terminals. They should match the form of the existing entries, i.e. they look like ttyqc none network

The order of the letter designations is tty[pqrsPQRS][0-9a-v], using a regular expression. Reboot the system with the new kernel and you're ready to go. diff --git a/FAQ/misc.sgml b/FAQ/misc.sgml index c606e04204..166ec18a22 100644 --- a/FAQ/misc.sgml +++ b/FAQ/misc.sgml @@ -1,326 +1,314 @@ - + Miscellaneous Questions FreeBSD uses far more swap space than Linux. Why?

It doesn't. You might mean ``why does my swap seem full?''. If that is what you really meant, it's because putting stuff in swap rather than discarding it makes it faster to recover than if the pager had to go through the file system to pull in clean (unmodified) blocks from an executable.

The actual amount of dirty pages that you can have in core at once is not reduced; the clean pages are displaced as necessary. Why use (what are) a.out and ELF executable formats?

To understand why FreeBSD uses the a.out format, you must first know a little about the 3 currently "dominant" executable formats for UNIX:

The oldest and `classic' unix object format. It uses a short and compact header with a magic number at the beginning that's often used to characterize the format (see for more details). It contains three loaded segments: .text, .data, and .bss plus a symbol table and a string table. COFF

The SVR3 object format. The header now comprises a section table, so you can have more than just .text, .data, and .bss sections. ELF

The successor to FreeBSD tries to work around this problem somewhat by providing a utility for branding a known for more information.

FreeBSD comes from the "classic" camp and has traditionally used the format, a technology tried and proven through many generations of BSD releases. Though it has also been possible for some time to build and run native In FreeBSD's case, our shared library mechanism is based more closely on Sun's SunOS-style shared library mechanism and, as such, is very easy to use. However, starting with 3.0, FreeBSD officially supports Yes, but why are there so many different formats?

Back in the dim, dark past, there was simple hardware. This simple hardware supported a simple, small system. a.out was completely adequate for the job of representing binaries on this simple system (a PDP-11). As people ported unix from this simple system, they retained the a.out format because it was sufficient for the early ports of unix to architectures like the Motorola 68k, VAXen, etc.

Then some bright hardware engineer decided that if he could force software to do some sleazy tricks, then he'd be able to shave a few gates off the design and allow his CPU core to run faster. While it was made to work with this new kind of hardware (known these days as RISC), In addition, program sizes were getting huge and disks (and physical memory) were still relatively small so the concept of a shared library was born. The VM system also became more sophisticated. While each one of these advancements was done using the However, as time passed, the build tools that FreeBSD derived their build tools from (the assembler and loader especially) evolved in two parallel trees. The FreeBSD tree added shared libraries and fixed some bugs. The GNU folks that originally write these programs rewrote them and added simpler support for building cross compilers, plugging in different formats at will, etc. Since many people wanted to build cross compilers targeting FreeBSD, they were out of luck since the older sources that FreeBSD had for as and ld weren't up to the task. The new gnu tools chain (binutils) does support cross compiling, Why won't chmod change the permissions on symlinks?

You have to use either `` and man pages for more info.

without any options and follow the symlink with a trailing slash (``/''). For example, if `` chmod 555 foo/

With the trailing slash, will follow the symlink, `` Why are login names

You'd think it'd be easy enough to change In FreeBSD 3.0 and later, the maximum name length has been increased to 16 characters and those various utilities with hard-coded name sizes have been found and fixed. The fact that this touched so many areas of the system is why, in fact, the change was not made until 3.0.

If you're absolutely confident in your ability to find and fix these sorts of problems for yourself when and if they pop up, you can increase the login name length in earlier releases by editing /usr/include/utmp.h and changing UT_NAMESIZE accordingly. You must also update MAXLOGNAME in /usr/include/sys/param.h to match the UT_NAMESIZE change. Finally, if you build from sources, don't forget that /usr/include is updated each time! Change the appropriate files in /usr/src/.. instead.

Can I run DOS binaries under FreeBSD?

Yes, starting with version 3.0 you can using BSDI's if you're interested in joining this ongoing effort!

For pre-3.0 systems, there is a neat utility called in the ports collection which emulates an 8088 and enough BIOS services to run DOS text mode applications. It requires the X Window System (provided as XFree86). - - I have FreeBSD and NT installed on the same computer. Can - FreeBSD read my NT files? - -

Yes. A read-only NTFS driver exists for FreeBSD, allowing you - to mount your NT filesystem under FreeBSD. For example, the C: drive - on NT could appear as /ntfs/c/ when in FreeBSD. - -

For more information, see this tutorial by Mark Ovens at - . - What is ``

stands for Software Update Protocol, and was developed by CMU for keeping their development trees in sync. We used it to keep remote sites in sync with our central development sources.

SUP is not bandwidth friendly, and has been retired. The current recommended method to keep your sources up to date is How cool is FreeBSD?

Q. Has anyone done any temperature testing while running FreeBSD? I know Linux runs cooler than dos, but have never seen a mention of FreeBSD. It seems to run really hot.

A. No, but we have done numerous taste tests on blindfolded volunteers who have also had 250 micrograms of LSD-25 administered beforehand. 35% of the volunteers said that FreeBSD tasted sort of orange, whereas Linux tasted like purple haze. Neither group mentioned any particular variances in temperature that I can remember. We eventually had to throw the results of this survey out entirely anyway when we found that too many volunteers were wandering out of the room during the tests, thus skewing the results. I think most of the volunteers are at Apple now, working on their new ``scratch and sniff'' GUI. It's a funny old business we're in!

Seriously, both FreeBSD and Linux uses the `` Who's scratching in my memory banks??

Q. Is there anything "odd" that FreeBSD does when compiling the kernel which would cause the memory to make a scratchy sound? When compiling (and for a brief moment after recognizing the floppy drive upon startup, as well), a strange scratchy sound emanates from what appears to be the memory banks.

A. Yes! You'll see frequent references to ``daemons'' in the BSD documentation, and what most people don't know is that this refers to genuine, non-corporeal entities that now possess your computer. The scratchy sound coming from your memory is actually high-pitched whispering exchanged among the daemons as they best decide how to deal with various system administration tasks.

If the noise gets to you, a good ``fdisk /mbr'' from DOS will get rid of them, but don't be surprised if they react adversely and try to stop you. In fact, if at any point during the exercise you hear the satanic voice of Bill Gates coming from the built-in speaker, take off running and don't ever look back! Freed from the counterbalancing influence of the BSD daemons, the twin demons of DOS and Windows are often able to re-assert total control over your machine to the eternal damnation of your soul. Given a choice, I think I'd prefer to get used to the scratchy noises, myself! What does 'MFC' mean?

MFC is an acronym for 'Merged From -CURRENT.' It's used in the CVS logs to denote when a change was migrated from the CURRENT to the STABLE branches.