BSD_TOC
Contents
Introduction to the text version i
Preface xxxiii
The second edition xxxiii
Conventions used in this book xxxiv
Describing the keyboard xxxv
Acknowledgements xxxvi
Book reviewers, first edition xxxvi
Book reviewers, second edition xxxvii
How this book was written xxxviii
Chapter 1: Introduction 1
How to use this book 1
FreeBSD features 5
A little history 8
Other free UNIX-like operating systems 10
FreeBSD and Linux 10
Other documentation on FreeBSD 12
Reading the handbook 13
The online manual 15
GNU info 17
The FreeBSD community 17
Support 17
Reporting bugs 18
The Berkeley daemon 18
Chapter 2: Before you install 23
Hardware requirements 23
Laptops 24
Drivers 24
The CD-ROM distribution 27
The Installation CD-ROM 28
The Live File System 30
The CVS Repository 30
The Ports Collection 30
PC hardware 31
How the system detects hardware 31
Disks 33
PC BIOS and disks 34
Logical and physical disk drives 35
Making the file systems 40
Using a boot manager 40
Interaction with MS-DOS 41
Sharing a disk with MS-DOS 41
Using compressed MS-DOS file systems from FreeBSD 41
Running MS-DOS binaries under FreeBSD 42
IDE disks 42
Chapter 3: Quick Installation 45
Making things easy for yourself 45
FreeBSD alone on the disk 47
Installing XFree86 48
FreeBSD shared with MS-DOS 49
Chapter 4: Installing FreeBSD 51
Preparing the data for installation 51
Preparing a boot floppy 51
Creating floppies for a floppy installation 53
Installing via FTP 54
Installing via NFS 55
Installing from a MS-DOS partition 56
Installing from tape 56
Installing from a FreeBSD partition 56
Booting the install kernel 57
Booting from CD-ROM 57
Booting from floppy 57
Installing from a running MS-DOS system 58
Boot messages 58
UserConfig: Modifying the boot configuration 60
Starting UserConfig from hard disk 62
Probing the hardware 63
Using sysinstall 67
Kinds of installation 67
Creating space on disk 68
Specifying disk labels 72
Selecting distributions 76
Selecting the installation medium 78
Installing via FTP 78
Installing via NFS 79
Installing from floppy disk 79
Performing the installation 79
Network services 81
Setting up network interfaces 81
Other network options 82
Machine Configuration 82
Rebooting the new system 82
Where to put /var and /tmp 83
Upgrade installation 84
Changing configuration 84
Installing additional software 84
Chapter 5: Shared OS Installation 85
Repartitioning with FIPS 85
Repartitioning--an example 87
Installing FreeBSD on a second partition 91
Chapter 6: Installation Problems 95
If things go wrong 95
Problems with CD-ROM installation 95
Install tries to install from floppy 96
Device timeout on ed Ethernet boards 96
Devices at IRQ 9 don't work 96
Can't boot 97
Can't find correct geometry 97
Kernel doesn't find Matsushita/Panasonic CD-ROM 98
Can't install from tape 98
System hangs during boot 99
Root file system fills up 100
Panic 100
Fixit: fixing a broken installation 102
Chapter 7: The Ports Collection 103
How to install a package 104
Building a port 105
Installing ports during system installation 105
Install ports from the first CD-ROM 105
Installing ports from the ports CD-ROM 106
Ports via FTP 106
What's in that port? 108
Ports via CVSup 109
Getting the source archive 109
Building the port 110
Port dependencies 110
Getting common software 111
Maintaining ports 112
Submitting a new port 114
Chapter 8: Setting up X11 115
For the impatient 115
Installing XFree86 115
The XFree86 distribution 116
The X Server 116
Installing XFree86 manually 118
Assigning a virtual terminal to X 120
Configuring X for Your Hardware 121
Identifying the hardware 121
Running xf86config 122
Chapter 9: XFree86 configuration in depth 135
X configuration: the theory 135
How TVs and monitors work 135
How monitors differ from TVs 137
How to fry your monitor 138
The CRT controller 139
The XF86Config mode line 141
XF86Config 145
The Files section 145
The Keyboard section 146
The Pointer section 147
The Device section 149
Configuring the Monitor and its Modes 152
The Monitor section 152
The Screen section 154
Chapter 10: Making friends with FreeBSD 157
Users and groups 158
Choosing a user name 160
Adding users 160
Adding or changing passwords 162
The super user 163
Login classes 164
Referring to other classes 166
Using login classes 167
Using the shell 167
Command line editing 169
Environment variables 174
Shell startup files 177
Changing your shell 178
Processes 180
What processes do I have running? 180
What processes are running? 181
top 183
Daemons 183
cron 184
Stopping processes 185
Single user mode 186
Shutting down the system 188
Rebooting 189
Starting the system 189
Timekeeping 190
The TZ environment variable 191
Keeping the correct time 191
Chapter 11: File systems 193
File systems 193
Permissions 193
Directory structure 200
FreeBSD devices 203
Creating new device nodes 204
File system types 207
Mounting file systems 207
Unmounting file systems 209
Overview of FreeBSD devices 209
Virtual terminals 212
Pseudo-terminals 213
Chapter 12: Disks 215
Adding a hard disk 215
Disk hardware installation 216
Formatting the disk 218
Using sysinstall 219
Doing it the hard way 222
Creating a partition table 222
Labelling the disk 229
Disklabel 230
Things that can go wrong 236
Creating the file systems 237
Editing disk labels 238
Mounting the file systems 239
Recovering from disk data errors 239
Chapter 13: Tapes, backups and floppy disks 241
Backing up your data 241
What backup medium? 241
Tape devices 242
Backup software 242
tar 243
Using floppy disks under FreeBSD 246
Formatting a floppy 247
File systems on floppy 248
Microsoft file systems 250
Other uses of floppies 251
Accessing Microsoft floppies 252
Chapter 14: Printers 255
Printer configuration 256
Testing the printer 256
Configuring /etc/printcap 257
Spooler filters 258
Starting the spooler 260
Testing the spooler 260
Troubleshooting 261
Using the spooler 262
Removing print jobs 263
PostScript 264
Installing ghostscript and ghostview 265
Viewing with ghostview 265
Printing with ghostscript 266
Chapter 15: Setting up your FreeBSD desktop 269
The hardware 269
The display board and monitor 269
The keyboard 270
The mouse 270
Running X 271
Configuring xdm 271
Running xinit 272
Stopping X 272
Changing screen resolution 272
Selecting pixel depth 273
Customizing X 273
Navigating the desktop 276
Mouse menus 276
Mouse key functions on the root window 278
Use of colour 279
Network windowing 279
Installing the sample desktop 280
The shell 281
The Emacs editor 281
Chapter 16: Rebuilding the kernel 285
Configuring I/O devices 286
The kernel build directory 286
The Configuration File 288
Naming the kernel 296
Kernel Options 298
Networking 301
Network interfaces 302
Network interfaces 304
Console, Bus Mouse, and X Server 305
Mice and Serial and Parallel Ports 307
Basic Controllers and Devices 309
Disk controllers 311
SCSI Device Support 314
SCSI options 315
SCSI host adapters 316
File system Options 317
Sound boards 319
Pseudo-devices 321
Joystick, PC Speaker, Miscellaneous 322
Building and installing the new kernel 324
Making Device Nodes 327
Chapter 17: Keeping up to date with FreeBSD 329
FreeBSD releases 329
FreeBSD-RELEASE 329
FreeBSD-STABLE 329
FreeBSD-CURRENT 330
The repository 331
Getting updates from the net 332
How to get the updates 333
CVSup 333
Which CVSup server? 335
Running cvsup 335
Other possible cvsupfiles 335
CTM 336
Getting deltas by mail 338
Getting deltas with ftp 339
Creating the source tree 339
The tags 340
Updating an existing tree 343
Making a new world 343
Putting it all together 346
Living with FreeBSD-CURRENT 347
ps doesn't work any more! 348
Build kernels with debug symbols 348
Solving problems in FreeBSD-CURRENT 349
Problems with CVS 350
Can't find directory 350
Chapter 18: Emulating other operating systems 351
Emulating Linux 352
Running the Linux emulator 352
Installing the Linux libraries 353
SCO UNIX emulation 353
Emulating Microsoft Windows 354
Chapter 19: Networks and the Internet 355
Network layering 357
The link layer 358
The network layer 360
The transport layer 360
Port assignment and Internet services 362
The Internet daemon 364
Kinds of network connection 365
Ethernet 366
The reference network 371
Chapter 20: Configuring the local network 373
Network configuration with sysinstall 373
Manual network configuration 374
Setting the host name 374
Describing your network 375
Checking the interface configuration 376
The configuration files 377
What we can do now 377
Routing 377
Adding routes automatically 379
Adding routes manually 380
ISP's route setup 381
Looking at the routing tables 382
Flags 383
Packet forwarding 384
Configuration summary 384
Chapter 21: Connecting to the Internet 387
The physical connection 387
ISDN 388
Establishing yourself on the Internet 390
Which domain name? 391
Preparing for registration 391
Registering a domain name 392
Getting IP addresses 392
Choosing an Internet Service Provider 393
Who's that ISP? 393
Questions to ask an ISP 394
Making the connection 398
Chapter 22: Serial communications and modems 401
Terminology 402
Asynchronous and synchronous communication 402
Asynchronous communication 402
Synchronous communication 403
Serial ports 404
Connecting to the port 404
When can I send data? 406
Modems 407
Modem speeds 408
Data compression 409
The link speed 409
Dialling out 410
Modem commands 410
Dialling out manually 413
Dialing out--an example 414
Dialling in 416
Chapter 23: Configuring PPP 419
Quick setup 420
How PPP works 420
The interfaces 421
Dialling 421
Negotiation 422
Who throws the first stone? 422
Authentication 424
Which IP addresses on the link? 425
The net mask for the link 427
Static and dynamic addresses 427
Setting a default route 428
Autodial 428
The information you need to know 429
Setting up User PPP 429
The ppp configuration files 430
/etc/ppp/ppp.conf 431
Negotiation 432
Requesting LQR 433
Authentication 433
Dynamic IP configuration 434
Setting the default route 435
Default routes for dynamic addresses 436
Running User ppp 436
How long do we stay connected? 437
Automating the process 438
Configuration summary 439
Setting up Kernel PPP 440
Dialling 442
Who throws the first stone? 443
Authentication 443
Dynamic IP configuration 444
Setting the default route 444
Running Kernel PPP 444
Automating the process 445
Timeout parameters 445
Configuration summary 446
Dialin PPP 447
Chapter 24: UUCP and SLIP 450
Login authentication 450
Adding the users 451
UUCP 452
How UUCP works 453
Setting up UUCP 454
UUCP configuration files 454
Testing the connection 457
SLIP 460
What we need to know 460
Dialling out with SLIP 460
SLIP dialin 463
Putting it all together 466
Problems 468
Chapter 25: The Domain Name Service 469
Domains and zones 470
Zones 471
Setting up a name server 471
Passive DNS usage 471
Name server on a standalone system 472
Name server on an end-user network 474
The SOA record 474
The A records 475
The NS records 475
Nicknames 476
The MX records 476
The HINFO records 477
Putting it all together 477
Reverse lookup 478
The distant view: the outside world 479
The named.boot file 480
Secondary name servers 482
The next level up: delegating zones 483
china.example.org 483
example.org with delegation 484
Messages from named 486
DNS tools 487
nslookup 487
named-xfer 491
Checking DNS for correctness 492
Chapter 26: Firewalls and IP aliasing 493
Security and firewalls 493
ipfw: defining access rules 495
Actions 496
Writing rules 496
Configuration files 497
Trying it out 502
IP aliasing 502
IP aliasing software 502
natd 503
Choosing an IP address for the LAN 504
Chapter 27: Network debugging 505
Network debug tools 505
ping 505
traceroute 507
tcpdump 508
How to approach network problems 511
The link layer 511
The network layer 514
No connection 517
Transport and Application layers 520
Chapter 28: The Network File System 523
Setting up NFS 523
NFS 524
NFS client 524
Mounting remote file systems 525
Where to mount NFS file systems 527
Mounting NFS file systems automatically 528
NFS server 528
/etc/exports 529
Setup in /etc/rc.conf 530
NFS strangenesses 531
No devices 531
Just one file system 532
Chapter 29: Basic network access 533
telnet and rlogin 534
telnet 534
rlogin 535
rsh 537
Using telnet for other services 538
ftp and rcp 538
ftp 538
mget 540
prompt 541
reget 541
user 542
idle 543
rcp 543
telnet and ftp servers 543
anonymous ftp 545
Restricting access and logging 546
Secure interactive connections 548
What ssh does 548
Running ssh 550
Chapter 30: Electronic Mail 551
Electronic mail 551
Mail user agents 551
mail 552
Other MUAs 552
mutt 553
Replying to a message 555
How to send and reply to mail 556
mutt configuration 558
Mail aliases 558
Mail headers 559
Who gets the mail? 561
sendmail 562
Running sendmail at boot time 564
Talking to sendmail 564
Aliases revisited 565
Downloading mail from your ISP 566
POP: the Post Office Protocol 567
popper: the server 567
popclient: the client 568
Mailing lists: majordomo 569
Chapter 31: The World-Wide Web 571
Web browsers 571
Netscape 572
Running Netscape 573
Setting up a web server 573
Configuring apache 574
The configuration files 574
httpd.conf 574
Proxy web servers 575
Caching 576
Virtual Hosts 576
Running apache 577
Stopping apache 577
Chapter 32: HylaFAX 579
Setting up HylaFAX 579
Selecting a fax modem 580
Flow control 580
Choosing a tty Device 580
Using faxsetup to Configure a Server Machine 580
Using faxaddmodem to Configure Modems 582
Testing the modem 587
Starting HylaFAX 589
Checking fax system status 589
Restarting the hfaxd daemon 590
Sending a fax 590
The destination 591
The document 591
The cover sheet 591
How to omit the cover sheet 593
Chapter 33: Connecting to non-IP networks 595
Samba 595
Installing the samba software 596
smbd and nmdb: the Samba daemons 596
Running the daemons from inetd 597
The configuration file 598
The [global] section 598
The [homes] section 599
The [printers] section 599
Other sections: service descriptions 599
Creating the configuration file 600
Testing the installation 601
Displaying Samba status 603
adding_user 497
adduser 499
aliases 503
apropos 504
arp 505
BASH 507
boot 575
cal 578
calendar 580
cat 584
cdcontrol 586
cdplay 590
CHAT 592
chflags 600
chmod 602
cmp 605
comcontrol 607
comsat 609
cp 610
CPIO 613
cron 619
crontab 620
crontab 622
csh 625
CVS 632
date 656
dd 660
df 664
DIFF 666
DIFF3 672
disklabel 675
diskpart 679
disktab 681
dmesg 684
DNSQUERY 685
du 687
dump 689
ethers 694
exports 695
fdformat 698
fdisk 700
find 706
fingerd 713
fsck 715
fstab 719
ftp 722
ftpd 738
FVWM 744
getty 771
gettytab 773
GHOSTVIEW 780
GREP 799
group 803
GS 805
GZIP 812
hostname 819
hosts 820
hosts.equiv 821
ifconfig 823
inetd 827
inetd.conf 832
info 837
init 840
ipcrm 843
ipcs 844
ipfw 846
IPXrouted 853
kbdcontrol 855
ld.so 857
ln 860
login 862
login.conf 864
lpd 870
lpq 873
lpr 875
lprm 878
lptcontrol 880
ls 881
mail 885
mailq 897
MAJORDOMO 898
man 902
mesg 904
mkdir 905
mknod 906
modems 908
more 910
mount 914
mount_cd9660 919
mount_msdos 921
mount_nfs 924
mrouted 928
Mutt 936
mv 939
NAMED-XFER 941
NAMED 943
NAMED.RELOAD 950
natd 951
NDC 958
netstat 960
networks 964
newfs 965
nfsd 970
nfsiod 971
nfsstat 972
NMBD 973
NSLOOKUP 977
ntpdate 983
ntpq 985
ntptrace 992
passwd 994
phones 1003
ping 1004
pkg_add 1009
portmap 1014
ppp 1015
PPPD 1054
PPPSTATS 1074
printcap 1078
protocols 1083
ps 1084
pstat 1091
rarpd 1096
rcp 1098
RCS 1100
remote 1105
resolver 1107
rexecd 1110
.rhosts 1112
rlogin 1114
rm 1117
rmail 1119
rmdir 1120
route 1121
routed 1125
rpc 1134
rpc.lockd 1135
rpc.rquotad 1137
rpc.rstatd 1138
rpc.rusersd 1139
rpc.rwalld 1140
rpc.sprayd 1141
rpc.statd 1142
rpc.yppasswdd 1144
rpcgen 1148
rpcinfo 1153
rsh 1155
rshd 1157
RSTAT_SVC 1160
rup 1161
ruptime 1162
rwall 1163
rwho 1164
rwhod 1165
SAMBA 1168
savecore 1172
scsi 1174
scsiformat 1177
SEND-PR 1178
sendmail 1181
services 1189
sh 1190
shutdown 1213
sio 1215
slattach 1220
sliplogin 1224
SMB.CONF 1228
SMBCLIENT 1289
SMBRUN 1305
SMBSTATUS 1307
SMBTAR 1309
SORT 1311
spray 1314
SSH 1315
startslip 1329
STARTX 1332
stty 1334
su 1343
sysctl 1346
talkd 1350
tar 1351
TCPDUMP 1359
tcpslice 1376
telnet 1379
telnetd 1394
TESTPARM 1401
TESTPRNS 1403
tftp 1405
tftpd 1407
time 1409
timed 1410
TOP 1413
TRACEROUTE 1418
tty 1423
ttys 1424
tunefs 1426
TWM 1428
tzsetup 1453
umount 1454
uname 1456
uucico 1457
uucp 1461
uucpd 1464
uustat 1465
uux 1471
uuxqt 1475
VI 1477
vidcontrol 1499
vipw 1501
vmstat 1502
what 1505
whereis 1506
which 1508
who 1509
X 1510
XF86Config 1528
XF86_Accel 1541
XF86_Mono 1557
XF86_SVGA 1563
XF86_VGA16 1572
XFree86 1575
XINIT 1585
xntpd 1588
Appendix A: Terminology 1605
Appendix B: FreeBSD configuration files 1607
/etc/rc.conf 1607
Other configuration files 1613
/etc/aliases 1613
/etc/csh.cshrc, /etc/csh.login, /etc/csh.logout 1613
/etc/crontab 1613
/etc/daily 1613
/etc/disktab 1613
/etc/fstab 1614
/etc/gettytab 1616
/etc/group 1616
/etc/login.conf 1616
/etc/manpath.config 1616
/etc/master.passwd 1616
/etc/monthly 1616
/etc/motd 1616
/etc/passwd 1617
/etc/printcap 1617
/etc/profile 1617
/etc/pwd.db 1617
/etc/rc 1617
/etc/rc.i386 1617
/etc/rc.local 1617
/etc/rc.pccard 1618
/etc/rc.serial 1618
/etc/sendmail.cf 1618
/etc/shells 1618
/etc/spwd.db 1618
/etc/syslog.conf 1618
/etc/termcap 1618
/etc/ttys 1619
/etc/weekly 1620
Network configuration files 1620
/etc/exports 1620
/etc/rc.firewall 1620
/etc/ftpusers 1620
/etc/host.conf 1620
/etc/hosts 1621
/etc/hosts.equiv 1621
/etc/hosts.lpd 1622
/etc/inetd.conf 1622
/etc/named.boot 1622
/etc/networks 1622
/etc/protocols 1622
/etc/rc.network 1622
/etc/services 1623
Obsolete configuration files 1623
/etc/sysconfig 1623
/etc/netstart 1623
Appendix C: Command equivalents 1625
Appendix D: Contents of the Ports Collection 1629
Appendix E: Bibliography 1689
The 4.4BSD manuals 1689
Users' guides 1690
Administrators' guides 1690
Programmers' guides 1691
Hardware reference 1691
Resources on the net 1692
Appendix F: License agreements 1693
The Berkeley License 1693
The GNU General Public License 1695