1. A Practical Guide To Ubuntu Linux Mark G Sobell
download
https://ebookbell.com/product/a-practical-guide-to-ubuntu-linux-
mark-g-sobell-4096274
Explore and download more ebooks at ebookbell.com
2. Here are some recommended products that we believe you will be
interested in. You can click the link to download.
A Practical Guide To Ubuntu Linux 3rd Ed Sobell Mark G
https://ebookbell.com/product/a-practical-guide-to-ubuntu-linux-3rd-
ed-sobell-mark-g-22043758
A Practical Guide To Ubuntu Linux 4th Mark G Sobell Author
https://ebookbell.com/product/a-practical-guide-to-ubuntu-linux-4th-
mark-g-sobell-author-7351410
Ubuntu Linux A Practical Guide To Ubuntu Linux Yang
https://ebookbell.com/product/ubuntu-linux-a-practical-guide-to-
ubuntu-linux-yang-11768882
A Practical Guide To Cultivating Therapeutic Presence 1st Edition
Shari Geller Phd
https://ebookbell.com/product/a-practical-guide-to-cultivating-
therapeutic-presence-1st-edition-shari-geller-phd-46076572
3. A Practical Guide To Dermal Filler Procedures Rebecca Small
https://ebookbell.com/product/a-practical-guide-to-dermal-filler-
procedures-rebecca-small-46091886
A Practical Guide To Point Of Care Ultrasound Pocus 1st Arunangshu
Chakraborty Editor
https://ebookbell.com/product/a-practical-guide-to-point-of-care-
ultrasound-pocus-1st-arunangshu-chakraborty-editor-46123360
A Practical Guide To Veriloga Slobodan Mijalkovi
https://ebookbell.com/product/a-practical-guide-to-veriloga-slobodan-
mijalkovi-46132254
A Practical Guide To World Philosophies Selves Worlds And Ways Of
Knowing Monika Kirloskarsteinbach Leah Kalmanson
https://ebookbell.com/product/a-practical-guide-to-world-philosophies-
selves-worlds-and-ways-of-knowing-monika-kirloskarsteinbach-leah-
kalmanson-46493264
A Practical Guide To Advanced Networking Paperback Jeffrey S Beasley
https://ebookbell.com/product/a-practical-guide-to-advanced-
networking-paperback-jeffrey-s-beasley-46561604
5. A Practical Guide to Ubuntu Linux
Mark G. Sobell
Upper Saddle River, NJ • Boston • Indianapolis • San Francisco
New York • Toronto • Montreal • London • Munich • Paris • Madrid
Capetown • Sydney • Tokyo • Singapore • Mexico City
®
9. ix
ix
Brief Contents
Contents xi
Preface xxxv
1 Welcome to Linux 1
PART I Installing Ubuntu Linux 21
2 Installation Overview 23
3 Step-by-Step Installation 45
PART II Getting Started with Ubuntu Linux 85
4 Introduction to Ubuntu Linux 87
5 The Linux Utilities 145
6 The Linux Filesystem 183
7 The Shell 219
PART III Digging into Ubuntu Linux 249
8 Linux GUIs: X and GNOME 251
9 The Bourne Again Shell 275
10 Networking and the Internet 353
11 Programming the Bourne Again Shell 395
10. x Brief Contents
PART IV System Administration 483
12 System Administration: Core Concepts 485
13 Files, Directories, and Filesystems 553
14 Downloading and Installing Software 583
15 Printing with CUPS 611
16 Building a Linux Kernel 635
17 Administration Tasks 657
18 Configuring a LAN 693
PART V Using Clients and Setting Up Servers 705
19 OpenSSH: Secure Network Communication 707
20 FTP: Transferring Files Across a Network 729
21 exim4: Setting Up Mail Servers, Clients, and More 755
22 NIS: Network Information Service 781
23 NFS: Sharing Filesystems 799
24 Samba: Linux and Windows File and Printer Sharing 823
25 DNS/BIND: Tracking Domain Names and Addresses 845
26 firestarter and iptables: Setting Up a Firewall 885
27 Apache: Setting Up a Web Server 915
PART VI Appendixes 969
A Regular Expressions 971
B Help 981
C Security 991
D The Free Software Definition 1011
E The Linux 2.6 Kernel 1015
Glossary 1021
Index 1071
11. xi
xi
Contents
Preface xxxvi
Chapter 1: Welcome to Linux 1
The GNU–Linux Connection 2
The History of GNU–Linux 2
The Code Is Free 4
Have Fun! 5
The Linux 2.6 Kernel 5
The Heritage of Linux: UNIX 5
What Is So Good About Linux? 6
Why Linux Is Popular with Hardware Companies and Developers 7
Linux Is Portable 8
Standards 9
The C Programming Language 9
Ubuntu Linux 10
Overview of Linux 10
Linux Has a Kernel Programming Interface 10
Linux Can Support Many Users 11
Linux Can Run Many Tasks 11
Linux Provides a Secure Hierarchical Filesystem 12
The Shell: Command Interpreter and Programming Language 12
A Large Collection of Useful Utilities 14
Interprocess Communication 14
System Administration 15
12. xii Contents
Additional Features of Linux 15
GUIs: Graphical User Interfaces 15
(Inter)Networking Utilities 16
Software Development 17
Conventions Used in This Book 17
Chapter Summary 20
Exercises 20
PART I Installing Ubuntu Linux 21
Chapter 2: Installation Overview 23
The Live/Install Desktop CD/DVD 24
More Information 24
Planning the Installation 25
Considerations 25
Requirements 25
Processor Architecture 26
Interfaces: Installer and Installed System 27
Ubuntu Releases 28
Ubuntu Editions 28
Installing a Fresh Copy or Upgrading an Existing Ubuntu System? 29
Setting Up the Hard Disk 30
RAID 34
LVM: Logical Volume Manager 35
The Installation Process 36
Downloading and Burning a CD/DVD 37
The Easy Way to Download a CD ISO Image File 37
Other Ways to Download a CD/DVD ISO Image File 37
Verifying an ISO Image File 40
Burning the CD/DVD 40
Gathering Information About the System 41
Chapter Summary 42
Exercises 43
Advanced Exercises 43
Chapter 3: Step-by-Step Installation 45
Basic Installation from the Live/Install Desktop CD/DVD 46
Booting the System 46
Checking the CD/DVD for Defects 47
Live Session 47
13. Contents xiii
Graphical Partitioners 53
gparted: the GNOME Partition Editor 53
ubiquity: Setting Up Partitions 56
Upgrading to a New Release 59
Installing KDE 60
Setting Up a Dual-Boot System 61
Creating Free Space on a Windows System 61
Installing Ubuntu Linux as the Second Operating System 61
Advanced Installation 62
The Live/Install Desktop CD: The Initial Install Screen 62
The Alternate CD Initial Install Screen Menu 65
The Server CD Initial Install Screen Menu 66
The DVD 67
The Ubuntu Textual Installer 67
The X Window System 74
displayconfig-gtk: Configures the Display 75
The xorg.conf File 77
gdm: Displays a Graphical Login 82
Chapter Summary 83
Exercises 83
Advanced Exercises 84
PART II Getting Started with Ubuntu Linux 85
Chapter 4: Introduction to Ubuntu Linux 87
Curbing Your Power: root Privileges/sudo 88
A Tour of the Ubuntu Linux Desktop 89
Logging In on the System 89
Introduction 90
Launching Programs from the Desktop 91
Switching Workspaces 93
Setting Personal Preferences 94
Mouse Preferences 95
Working with Windows 96
Using Nautilus to Work with Files 96
The Update Notifier 100
Changing Appearances (Themes) 102
Session Management 104
Getting Help 104
Feel Free to Experiment 105
Logging Out 105
14. xiv Contents
Getting the Most out of the Desktop 105
GNOME Desktop Terminology 105
Opening Files 106
Panels 107
The Main Menu 110
Windows 111
The Object Context Menu 115
Updating, Installing, and Removing Software Packages 119
Software Sources Window 119
Add/Remove Applications 120
Synaptic: Finds, Installs, and Removes Software 121
Where to Find Documentation 124
Ubuntu Help Center 124
man: Displays the System Manual 124
info: Displays Information About Utilities 126
The ––help Option 129
HOWTOs: Finding Out How Things Work 129
Getting Help with the System 130
More About Logging In 132
The Login Screen 132
What to Do if You Cannot Log In 133
Logging In Remotely: Terminal Emulators, ssh, and Dial-Up Connections 133
Logging In from a Terminal (Emulator) 134
Changing Your Password 135
Using Virtual Consoles 136
Working from the Command Line 136
Correcting Mistakes 137
Repeating/Editing Command Lines 139
Controlling Windows: Advanced Operations 139
Changing the Input Focus 139
Changing the Resolution of the Display 140
The Window Manager 141
Chapter Summary 142
Exercises 143
Advanced Exercises 144
Chapter 5: The Linux Utilities 145
Special Characters 146
Basic Utilities 147
ls: Lists the Names of Files 147
cat: Displays a Text File 147
rm: Deletes a File 148
less Is more: Display a Text File One Screen at a Time 148
hostname: Displays the System Name 149
15. Contents xv
Working with Files 149
cp: Copies a File 149
mv: Changes the Name of a File 150
lpr: Prints a File 151
grep: Searches for a String 151
head: Displays the Beginning of a File 152
tail: Displays the End of a File 152
sort: Displays a File in Order 153
uniq: Removes Duplicate Lines from a File 154
diff: Compares Two Files 154
file: Tests the Contents of a File 155
| (Pipe): Communicates Between Processes 156
Four More Utilities 157
echo: Displays Text 157
date: Displays the Time and Date 157
script: Records a Shell Session 158
unix2dos: Converts Linux and Macintosh Files to Windows Format 159
Compressing and Archiving Files 159
bzip2: Compresses a File 160
bunzip2 and bzcat: Decompress a File 160
gzip: Compresses a File 161
tar: Packs and Unpacks Archives 161
Locating Commands 164
which and whereis: Locate a Utility 164
apropos: Searches for a Keyword 165
slocate: Searches for a File 166
Obtaining User and System Information 166
who: Lists Users on the System 167
finger: Lists Users on the System 167
w: Lists Users on the System 169
Communicating with Other Users 170
write: Sends a Message 170
mesg: Denies or Accepts Messages 171
Email 171
Tutorial: Creating and Editing a File with vim 172
Starting vim 172
Command and Input Modes 174
Entering Text 175
Getting Help 176
Ending the Editing Session 178
The compatible Parameter 179
Chapter Summary 179
Exercises 181
Advanced Exercises 182
16. xvi Contents
Chapter 6: The Linux Filesystem 183
The Hierarchical Filesystem 184
Directory Files and Ordinary Files 184
Filenames 185
The Working Directory 188
Your Home Directory 188
Pathnames 189
Absolute Pathnames 189
Relative Pathnames 190
Directory Commands 191
mkdir: Creates a Directory 191
Important Standard Directories and Files 194
Working with Directories 196
rmdir: Deletes a Directory 196
Using Pathnames 197
mv, cp: Move or Copy Files 197
mv: Moves a Directory 198
Access Permissions 199
ls –l: Displays Permissions 199
chmod: Changes Access Permissions 200
Setuid and Setgid Permissions 201
Directory Access Permissions 202
ACLs: Access Control Lists 203
Enabling ACLs 204
Working with Access Rules 204
Setting Default Rules for a Directory 207
Links 209
Hard Links 210
Symbolic Links 212
rm: Removes a Link 214
Chapter Summary 214
Exercises 216
Advanced Exercises 218
Chapter 7: The Shell 219
The Command Line 220
Syntax 220
Processing the Command Line 223
Executing the Command Line 225
Editing the Command Line 225
Standard Input and Standard Output 226
The Screen as a File 226
The Keyboard and Screen as Standard Input and Standard Output 227
Redirection 228
Pipes 234
17. Contents xvii
Running a Program in the Background 237
Filename Generation/Pathname Expansion 239
The ? Special Character 239
The *Special Character 240
The [ ] Special Characters 241
Builtins 243
Chapter Summary 244
Utilities and Builtins Introduced in This Chapter 245
Exercises 245
Advanced Exercises 247
PART III Digging into Ubuntu Linux 249
Chapter 8: Linux GUIs: X and GNOME 251
X Window System 252
Using X 254
Window Managers 259
The Nautilus File Browser Window 260
The View Pane 261
The Side Pane 261
Control Bars 262
Menubar 263
GNOME Utilities 266
Deskbar Applet 266
Font Preferences 267
Pick a Font Window 268
Pick a Color Window 268
Run Application Window 269
Searching for Files 269
GNOME Terminal Emulator/Shell 270
Chapter Summary 271
Exercises 272
Advanced Exercises 272
Chapter 9: The Bourne Again Shell 275
Background 276
Shell Basics 277
Startup Files 277
Commands That Are Symbols 280
Redirecting Standard Error 280
Writing a Simple Shell Script 282
Separating and Grouping Commands 286
Job Control 290
Manipulating the Directory Stack 292
18. xviii Contents
Parameters and Variables 295
User-Created Variables 296
Variable Attributes 299
Keyword Variables 301
Special Characters 309
Processes 310
Process Structure 310
Process Identification 310
Executing a Command 312
History 312
Variables That Control History 312
Reexecuting and Editing Commands 314
The Readline Library 322
Aliases 328
Single Versus Double Quotation Marks in Aliases 329
Examples of Aliases 330
Functions 331
Controlling bash Features and Options 334
Command Line Options 334
Shell Features 334
Processing the Command Line 338
History Expansion 338
Alias Substitution 338
Parsing and Scanning the Command Line 338
Command Line Expansion 339
Chapter Summary 347
Exercises 349
Advanced Exercises 351
Chapter 10: Networking and the Internet 353
Types of Networks and How They Work 355
Broadcast Networks 356
Point-to-Point Networks 356
Switched Networks 356
LAN: Local Area Network 357
WAN: Wide Area Network 358
Internetworking Through Gateways and Routers 358
Network Protocols 361
Host Address 363
CIDR: Classless Inter-Domain Routing 367
Hostnames 368
Communicate Over a Network 370
finger: Displays Information About Remote Users 370
Sending Mail to a Remote User 371
Mailing List Servers 372
19. Contents xix
Network Utilities 372
Trusted Hosts 372
OpenSSH Tools 373
telnet: Logs In on a Remote System 373
ftp: Transfers Files Over a Network 375
ping: Tests a Network Connection 375
traceroute: Traces a Route Over the Internet 376
host and dig: Query Internet Nameservers 378
jwhois: Looks Up Information About an Internet Site 378
Distributed Computing 379
The Client/Server Model 380
DNS: Domain Name Service 381
Ports 383
NIS: Network Information Service 383
NFS: Network Filesystem 383
Internet Services 384
Proxy Servers 387
RPC Network Services 387
Usenet 388
WWW: World Wide Web 390
URL: Uniform Resource Locator 391
Browsers 392
Search Engines 392
Chapter Summary 392
Exercises 393
Advanced Exercises 394
Chapter 11: Programming the Bourne Again Shell 395
Control Structures 396
if...then 396
if...then...else 400
if...then...elif 403
for...in 409
for 410
while 412
until 416
break and continue 418
case 419
select 425
Here Document 427
File Descriptors 429
Parameters and Variables 432
Array Variables 432
Locality of Variables 434
Special Parameters 436
Positional Parameters 438
Expanding Null and Unset Variables 443
20. xx Contents
Builtin Commands 444
type: Displays Information About a Command 445
read: Accepts User Input 445
exec: Executes a Command 448
trap: Catches a Signal 451
kill: Aborts a Process 454
getopts: Parses Options 454
A Partial List of Builtins 457
Expressions 458
Arithmetic Evaluation 458
Logical Evaluation (Conditional Expressions) 459
String Pattern Matching 460
Operators 461
Shell Programs 466
A Recursive Shell Script 467
The quiz Shell Script 470
Chapter Summary 476
Exercises 478
Advanced Exercises 480
PART IV System Administration 483
Chapter 12: System Administration:
Core Concepts 485
Running Commands with root Privileges 487
sudo: Running a Command with root Privileges 490
sudoers: Configuring sudo 494
Unlocking the root Account (Assigning a Password to root) 499
su: Gives You Another User’s Privileges 499
The Upstart Event-Based init Daemon 500
Software Packages 501
Definitions 501
Jobs 503
SysVinit (rc) Scripts: Start and Stop System Services 507
System Operation 510
Runlevels 510
Booting the System 511
Recovery (Single-User) Mode 512
Going to Multiuser Mode 515
Logging In 516
21. Contents xxi
Logging Out 517
Bringing the System Down 518
Crash 519
Avoiding a Trojan Horse 520
Getting Help 522
Textual System Administration Utilities 522
kill: Sends a Signal to a Process 522
Other Textual Utilities 525
Setting Up a Server 527
Standard Rules in Configuration Files 528
rpcinfo: Displays Information About portmap 530
The inetd and xinetd Superservers 531
Securing a Server 532
DHCP: Configures Network Interfaces 538
nsswitch.conf: Which Service to Look at First 542
How nsswitch.conf Works 542
PAM 545
More Information 546
Configuration Files, Module Types, and Control Flags 546
Example 548
Modifying the PAM Configuration 549
Chapter Summary 550
Exercises 551
Advanced Exercises 551
Chapter 13: Files, Directories, and Filesystems 553
Important Files and Directories 554
File Types 566
Ordinary Files, Directories, Links, and Inodes 566
Special Files 567
Filesystems 570
mount: Mounts a Filesystem 572
umount: Unmounts a Filesystem 575
fstab: Keeps Track of Filesystems 576
fsck: Checks Filesystem Integrity 577
tune2fs: Changes Filesystem Parameters 578
RAID Filesystem 580
Chapter Summary 580
Exercises 580
Advanced Exercises 581
22. xxii Contents
Chapter 14: Downloading and Installing Software 583
JumpStart: Installing and Removing Packages Using aptitude 585
Finding the Package That Holds a File You Need 587
APT: Keeps the System Up-to-Date 588
Repositories 588
sources.list: Specifies Repositories for APT to Search 589
The APT Local Package Indexes and the APT Cache 590
The apt cron Script and APT Configuration Files 590
aptitude: Works with Packages and the Local Package Index 592
apt-cache: Displays Package Information 596
apt-get source: Downloads Source Files 598
dpkg: The Debian Package Management System 598
deb Files 599
dpkg: The Foundation of the Debian Package Management System 600
BitTorrent 604
Installing Non-dpkg Software 607
The /opt and /usr/local Directories 607
GNU Configure and Build System 607
wget: Downloads Files Noninteractively 609
Chapter Summary 610
Exercises 610
Advanced Exercises 610
Chapter 15: Printing with CUPS 611
Introduction 612
Prerequisites 612
More Information 613
Notes 613
JumpStart I: Configuring a Local Printer 614
system-config-printer: Configuring a Printer 614
Configuration Tabs 614
Setting Up a Remote Printer 616
JumpStart II: Configuring a Remote Printer Using the CUPS Web Interface 618
Traditional UNIX Printing 622
Configuring Printers 624
The CUPS Web Interface 624
CUPS on the Command Line 626
Sharing CUPS Printers 629
Printing from Windows 630
Printing Using CUPS 631
Printing Using Samba 631
23. Contents xxiii
Printing to Windows 632
Chapter Summary 633
Exercises 633
Advanced Exercises 633
Chapter 16: Building a Linux Kernel 635
Prerequisites 636
Downloading the Kernel Source Code 637
aptitude: Downloading and Installing the Kernel Source Code 637
git: Obtaining the Latest Kernel Source Code 637
Read the Documentation 638
Configuring and Compiling the Linux Kernel 639
.config: Configures the Kernel 639
Customizing a Kernel 640
Cleaning the Source Tree 642
Compiling a Kernel Image File and Loadable Modules 643
Using Loadable Kernel Modules 643
Installing the Kernel, Modules, and Associated Files 646
Rebooting 647
grub: The Linux Boot Loader 647
menu.lst: Configures grub 648
update-grub: Updates the menu.lst file 651
grub-install: Installs the MBR and grub Files 653
dmesg: Displays Kernel Messages 654
Chapter Summary 655
Exercises 656
Advanced Exercises 656
Chapter 17: Administration Tasks 657
Configuring User and Group Accounts 658
users-admin: Manages User Accounts 658
useradd: Adds a User Account 660
userdel: Removes a User Account 661
usermod: Modifies a User Account 661
groupadd: Adds a Group 661
groupdel: Removes a Group 661
Backing Up Files 662
Choosing a Backup Medium 663
Backup Utilities 663
Performing a Simple Backup 665
dump, restore: Back Up and Restore Filesystems 666
24. xxiv Contents
Scheduling Tasks 668
cron and anacron: Schedule Routine Tasks 668
at: Runs Occasional Tasks 671
System Reports 671
vmstat: Reports Virtual Memory Statistics 671
top: Lists Processes Using the Most Resources 672
parted: Reports on and Partitions a Hard Disk 673
Keeping Users Informed 677
Creating Problems 678
Solving Problems 679
Helping When a User Cannot Log In 679
Speeding Up the System 680
lsof: Finds Open Files 681
Keeping a Machine Log 681
Keeping the System Secure 682
Log Files and Mail for root 683
Monitoring Disk Usage 683
logrotate: Manages Log Files 684
Removing Unused Space from Directories 686
Disk Quota System 687
syslogd: Logs System Messages 688
Chapter Summary 690
Exercises 690
Advanced Exercises 691
Chapter 18: Configuring a LAN 693
Setting Up the Hardware 694
Connecting the Computers 694
Routers 695
NIC: Network Interface Card 695
Tools 695
Configuring the Systems 697
network-admin: Configures Network Connections 698
nm-applet: Configures Network Connections Automatically 700
iwconfig: Configures a Wireless NIC 700
Setting Up Servers 702
More Information 703
Chapter Summary 703
Exercises 704
Advanced Exercises 704
25. Contents xxv
PART V UsingClientsandSettingUpServers 705
Chapter 19: OpenSSH: Secure Network
Communication 707
Introduction 708
About OpenSSH 708
Files 708
How OpenSSH Works 710
More Information 711
OpenSSH Clients 711
Prerequisites 711
JumpStart: Using ssh and scp 711
Setup 712
ssh: Connects to or Executes Commands on a Remote System 714
scp: Copies Files to and from a Remote System 716
sftp: A Secure FTP Client 718
~/.ssh/config and /etc/ssh/ssh_config Configuration Files 718
sshd: OpenSSH Server 720
Prerequisites 720
Note 720
JumpStart: Starting the sshd Daemon 720
Authorized Keys: Automatic Login 721
Command Line Options 722
/etc/ssh/sshd_config Configuration File 722
Troubleshooting 724
Tunneling/Port Forwarding 725
Chapter Summary 727
Exercises 728
Advanced Exercises 728
Chapter 20: FTP: Transferring Files Across a Network 729
Introduction 730
More Information 731
FTP Client 731
Prerequisites 731
JumpStart I: Downloading Files Using ftp 732
Notes 735
Anonymous FTP 735
Automatic Login 735
Binary Versus ASCII Transfer Mode 736
ftp Specifics 736
26. xxvi Contents
FTP Server (vsftpd) 740
Prerequisites 740
Notes 740
JumpStart II: Starting a vsftpd Server 741
Testing the Setup 741
vsftpd.conf: The vsftpd Configuration File 742
Chapter Summary 753
Exercises 753
Advanced Exercises 754
Chapter 21: exim4: Setting Up Mail Servers,
Clients, and More 755
Introduction to exim4 756
Prerequisites 757
Notes 757
More Information 758
JumpStart I: Configuring exim4 to Use a Smarthost 758
JumpStart II: Configuring exim4 to Send and Receive Email 760
How exim4 Works 761
Mail Logs 762
Working with Messages 763
Aliases and Forwarding 763
Related Programs 765
Configuring exim4 765
Using a Text Editor to Configure exim4 766
The update-exim4.conf.conf Configuration File 766
dpkg-reconfigure: Configures exim4 768
SpamAssassin 768
Prerequisites 769
How SpamAssassin Works 769
Testing SpamAssassin 770
Configuring SpamAssassin 771
Additional Email Tools 772
Webmail 772
Mailing Lists 774
Setting Up an IMAP or POP3 Server 776
Authenticated Relaying 777
Alternatives to exim4 779
Chapter Summary 779
Exercises 780
Advanced Exercises 780
27. Contents xxvii
Chapter 22: NIS: Network Information Service 781
Introduction to NIS 782
How NIS Works 782
More Information 784
Setting Up an NIS Client 784
Prerequisites 785
Notes 785
Step-by-Step Setup 786
Testing the Setup 787
yppasswd: Changes NIS Passwords 788
Setting Up an NIS Server 790
Prerequisites 790
Notes 791
Step-by-Step Setup 791
Testing 796
yppasswdd: The NIS Password Update Daemon 797
Chapter Summary 798
Exercises 798
Advanced Exercises 798
Chapter 23: NFS: Sharing Filesystems 799
Introduction 800
More Information 802
Setting Up an NFS Client 802
Prerequisites 802
JumpStart I: Mounting a Remote Directory Hierarchy 803
mount: Mounts a Directory Hierarchy 804
Improving Performance 806
/etc/fstab: Mounts Directory Hierarchies Automatically 807
Setting Up an NFS Server 808
Prerequisites 808
Notes 808
JumpStart II: Configuring an NFS Server Using shares-admin 809
Manually Exporting a Directory Hierarchy 811
Where the System Keeps NFS Mount Information 815
exportfs: Maintains the List of Exported Directory Hierarchies 817
Testing the Server Setup 818
automount: Mounts Directory Hierarchies on Demand 818
Chapter Summary 821
Exercises 822
Advanced Exercises 822
28. xxviii Contents
Chapter 24: Samba: Linux and Windows File
and Printer Sharing 823
Introduction 824
About Samba 825
Prerequisites 825
More Information 825
Notes 825
Samba Users, User Maps, and Passwords 826
JumpStart: Configuring a Samba Server Using shares-admin 826
swat: Configures a Samba Server 828
smb.conf: Manually Configuring a Samba Server 832
Parameters in the smbd.conf File 832
The [homes] Share: Sharing Users’ Home Directories 838
Accessing Linux Shares from Windows 838
Browsing Shares 838
Mapping a Share 839
Accessing Windows Shares from Linux 839
smbtree: Displays Windows Shares 839
smbclient: Connects to Windows Shares 840
Browsing Windows Networks 840
Mounting Windows Shares 841
Troubleshooting 841
Chapter Summary 844
Exercises 844
Advanced Exercises 844
Chapter 25: DNS/BIND: Tracking Domain Names
and Addresses 845
Introduction to DNS 846
Nodes, Domains, and Subdomains 846
Zones 848
Queries 849
Servers 850
Resource Records 851
DNS Query and Response 854
Reverse Name Resolution 855
About DNS 857
How DNS Works 857
Prerequisites 857
More Information 858
Notes 858
29. Contents xxix
JumpStart I: Setting Up a DNS Cache 858
Setting Up BIND 860
named.conf: The named Configuration File 860
Zone Files 863
A DNS Cache 864
DNS Glue Records 868
TSIGs: Transaction Signatures 868
Running BIND in a chroot Jail 870
Troubleshooting 872
A Full-Functioned Nameserver 873
A Slave Server 877
A Split Horizon Server 878
Chapter Summary 883
Exercises 883
Advanced Exercises 884
Chapter 26: firestarter and iptables: Setting
Up a Firewall 885
About firestarter 886
Prerequisites 886
Notes 887
More Information 888
JumpStart: Building a Firewall Using the firestarter Firewall Wizard 888
firestarter: Maintains a Firewall 890
The Status Tab 890
The Events Tab 892
The Policy Tab 894
How iptables Works 896
About iptables 899
More Information 899
Prerequisites 899
Notes 899
Anatomy of an iptables Command 900
Building a Set of Rules 901
Commands 901
Packet Match Criteria 903
Display Criteria 903
Match Extensions 903
Targets 906
Copying Rules to and from the Kernel 907
30. xxx Contents
Sharing an Internet Connection Using NAT 908
Connecting Several Clients to a Single Internet Connection 910
Connecting Several Servers to a Single Internet Connection 912
Chapter Summary 912
Exercises 913
Advanced Exercises 913
Chapter 27: Apache: Setting Up a Web Server 915
Introduction 916
About Apache 917
Prerequisites 917
More Information 918
Notes 918
JumpStart: Getting Apache Up and Running 919
Modifying the Configuration Files 919
Testing Apache 920
Putting Your Content in Place 920
Configuring Apache 921
Configuration Tools 921
Include Directives 922
Filesystem Layout 923
Configuration Directives 925
Directives I: Directives You May Want to Modify as You Get Started 926
Contexts and Containers 931
Directives II: Advanced Directives 935
The Ubuntu apache2.conf File 948
The Ubuntu default Configuration File 950
Redirects 951
Content Negotiation 951
Type Maps 951
MultiViews 952
Server-Generated Directory Listings (Indexing) 953
Virtual Hosts 953
Setting Up a Virtual Host 954
Types of Virtual Hosts 954
The default Virtual Host 954
Examples 954
Troubleshooting 956
Modules 957
mod_cgi and CGI Scripts 958
mod_ssl 959
Authentication Modules and .htaccess 961
Scripting Modules 962
Multiprocessing Modules (MPMs) 963
31. Contents xxxi
webalizer: Analyzes Web Traffic 964
MRTG: Monitors Traffic Loads 964
Error Codes 964
Chapter Summary 965
Exercises 966
Advanced Exercises 966
PART VI Appendixes 969
Appendix A: Regular Expressions 971
Characters 972
Delimiters 972
Simple Strings 972
Special Characters 972
Periods 973
Brackets 973
Asterisks 974
Carets and Dollar Signs 974
Quoting Special Characters 975
Rules 975
Longest Match Possible 975
Empty Regular Expressions 976
Bracketing Expressions 976
The Replacement String 976
Ampersand 977
Quoted Digit 977
Extended Regular Expressions 977
Appendix Summary 979
Appendix B: Help 981
Solving a Problem 982
Finding Linux-Related Information 983
Documentation 983
Useful Linux Sites 984
Linux Newsgroups 985
Mailing Lists 985
Words 986
Software 986
Office Suites and Word Processors 988
Specifying a Terminal 988
35. xxxv
xxxv
M Preface
Preface
The book Whether you are an end user, a system administrator, or a little of both, this book
explains with step-by-step examples how to get the most out of an Ubuntu Linux
system. In 27 chapters, this book takes you from installing an Ubuntu system
through understanding its inner workings to setting up secure servers that run on
the system.
The audience This book is designed for a wide range of readers. It does not require you to have
programming experience, although having some experience using a general-purpose
computer, such as a Windows, Macintosh, UNIX, or another Linux system is cer-
tainly helpful. This book is appropriate for
• Students who are taking a class in which they use Linux
• Home users who want to set up and/or run Linux
• Professionals who use Linux at work
• System administrators who need an understanding of Linux and the tools
that are available to them
• Computer science students who are studying the Linux operating system
• Technical executives who want to get a grounding in Linux
Benefits A Practical Guide to Ubuntu Linux®
gives you a broad understanding of many fac-
ets of Linux, from installing Ubuntu Linux through using and customizing it. No
matter what your background, this book provides the knowledge you need to get
on with your work. You will come away from this book understanding how to use
Linux, and this book will remain a valuable reference for years to come.
36. xxxvi Preface
Overlap If you read A Practical Guide to Linux®
Commands, Editors, and Shell Program-
ming, you will notice some overlap between that book and the one you are reading
now. The first chapter, the chapters on the utilities and the filesystem, and the
appendix on regular expressions are very similar in the two books, as are the three
chapters on the Bourne Again Shell (bash). Chapters that appear in this book but do
not appear in A Practical Guide to Linux®
Commands, Editors, and Shell Program-
ming include Chapters 2 and 3 (installation), Chapters 4 and 8 (Ubuntu Linux and
the GUI), Chapter 10 (networking), all of the chapters in Part IV (system adminis-
tration) and Part V (servers), and Appendix C (security).
Differences While this book explains how to use Linux from a graphical interface and from the
command line (a textual interface), A Practical Guide to Linux®
Commands, Edi-
tors, and Shell Programming works exclusively with the command line. It includes
full chapters on the vi and emacs editors, as well as chapters on the gawk pattern
processing language and the sed stream editor. In addition, it has a command refer-
ence section that provides extensive examples of the use of more than 80 of the
most important Linux utilities. You can use these utilities to solve problems without
resorting to programming in C.
This Book Includes Ubuntu Gutsy Gibbon (7.10)
on a Live/Install DVD
This book includes a live/install DVD that holds the Gutsy Gibbon (7.10) release of
Ubuntu Linux. You can use this DVD to run a live Ubuntu session that displays the
GNOME desktop without making any changes to your computer: Boot from the
DVD, run an Ubuntu live session, and log off. Your system remains untouched:
When you reboot, it is exactly as it was before you ran the Ubuntu live session.
Alternatively, you can install Ubuntu from the live session. Chapter 2 helps you get
ready to install Ubuntu. Chapter 3 provides step-by-step instructions for installing
Ubuntu from this DVD. This book guides you through learning about, using, and
administrating an Ubuntu Linux session.
DVD features The included DVD incorporates all the features of the live/install Desktop CD as
well as the Alternate and Server CDs. It also includes all software packages sup-
ported by Ubuntu. You can use it to perform a graphical or textual (command line)
installation of either a graphical or a textual Ubuntu system. If you do not have an
Internet connection, you can use the DVD as a software repository and install any
supported software packages from it.
Features of This Book
This book is designed and organized so you can get the most out of it in the shortest
amount of time. You do not have to read this book straight through in page order.
Instead, once you are comfortable using Linux, you can use this book as a reference:
37. Features of This Book xxxvii
Look up a topic of interest in the table of contents or index and read about it. Or
think of the book as a catalog of Linux topics: Flip through the pages until a topic
catches your eye. The book includes many pointers to Web sites where you can get
additional information: Consider the Internet an extension of this book.
A Practical Guide to Ubuntu Linux®
is structured with the following features:
• Optional sections enable you to read the book at different levels, returning
to more difficult material when you are ready to delve into it.
• Caution boxes highlight procedures that can easily go wrong, giving you
guidance before you run into trouble.
• Tip boxes highlight ways you can save time by doing something differently
or situations when it may be useful or just interesting to have additional
information.
• Security boxes point out places where you can make a system more secure.
The security appendix presents a quick background in system security
issues.
• Concepts are illustrated by practical examples throughout the book.
• Chapter summaries review the important points covered in each chapter.
• Review exercises are included at the end of each chapter for readers who
want to further hone their skills. Answers to even-numbered exercises are
available at www.sobell.com.
• The glossary defines more than 500 common terms.
• The chapters that cover servers include JumpStart sections that get you off
to a quick start using clients and setting up servers. Once a server is up and
running, you can test and modify its configuration as explained in the rest
of the chapter.
• This book provides resources for finding software on the Internet. It also
explains how to download and install software using Synaptic, aptitude,
the GNOME Add/Remove Applications window, and BitTorrent. It details
controlling automatic updates using the Update Notifier and the Update
Manager window.
• This book describes in detail many important GNU tools, including the
GNOME desktop, the Nautilus File Browser, the parted and gparted parti-
tion editors, the gzip compression utility, and many command line utilities
that come from the GNU project.
• Pointers throughout the text provide help in obtaining online documenta-
tion from many sources, including the local system, the Ubuntu Web site,
and other locations on the Internet.
• Many useful URLs point to Web sites where you can obtain software,
security programs and information, and more.
• The comprehensive index helps you locate topics quickly and easily.
38. xxxviii Preface
Key Topics Covered in This Book
This book contains a lot of information. This section distills and summarizes its
contents. In addition, “Details” (starting on page xli) describes what each chapter
covers. Finally, the table of contents provides more detail. This book:
Installation • Describes how to download Ubuntu Linux ISO images from the Internet
and burn the Ubuntu live/install Desktop CD, the DVD, or the Ubuntu
Alternate or Server installation CD.
• Helps you plan the layout of the system’s hard disk. It includes a discus-
sion of partitions, partition tables, and mount points, and assists you in
using the ubiquity or gparted graphical partitioner or the Ubuntu textual
partitioner to partition the hard disk.
• Explains how to set up a dual-boot system so you can install Ubuntu
Linux on a Windows system and boot either operating system.
• Describes in detail how to install Ubuntu Linux from a live/install Desktop
CD or the live/install DVD using the ubiquity graphical installer. It also
explains how to use the textual installer found on the Alternate CD, the
Server CD, and the DVD. The graphical installer is fast and easy to use.
The textual installer gives you more options and works on systems with
less RAM (system memory).
• Covers testing an Ubuntu CD/DVD for defects, setting boot command line
parameters (boot options), and creating a RAID array.
• Covers the details of installing and customizing the X.org version of the
X Window System either graphically using the Screen and Graphics
Preferences window or manually with a text editor.
Working with
Ubuntu Linux
• Introduces the GNOME desktop (GUI) and explains how to use desktop
tools, including the Top and Bottom panels, panel objects, the Main menu,
object context menus, the Workspace Switcher, the Nautilus File Browser,
and the GNOME Terminal emulator.
• Explains how to use the Appearance Preferences window to add and mod-
ify themes to customize your desktop to please your senses and help you
work more efficiently.
• Details how to set up 3D desktop visual effects that take advantage of
Compiz Fusion.
• Covers the Bourne Again Shell (bash) in three chapters, including an entire
chapter on shell programming that includes many sample shell scripts.
These chapters provide clear explanations and extensive examples of how
bash works both from the command line in day-to-day work and as a pro-
gramming language to write shell scripts.
39. Key Topics Covered in This Book xxxix
• Explains the textual (command line) interface and introduces more than
30 command line utilities.
• Presents a tutorial on the vim textual editor.
• Covers types of networks, network protocols, and network utilities.
• Explains hostnames, IP addresses, and subnets, and explores how to use
host and dig to look up domain names and IP addresses on the Internet.
• Covers distributed computing and the client/server model.
• Explains how to use ACLs (Access Control Lists) to fine-tune user access
permissions.
System
administration
• Explains how to use the Ubuntu graphical and textual (command line)
tools to configure the display, DNS, NFS, Samba, Apache, a firewall, a
network interface, and more. You can also use these tools to add users and
manage local and remote printers.
• Goes into detail about using sudo to allow specific users to work with root
privileges (become Superuser) and customizing the way sudo works by
editing the sudoers configuration file. It also explains how you can unlock
the root account if necessary.
• Describes how to use the following tools to download and install software
to keep a system up-to-date and to install new software:
◆ The Software Sources window controls which Ubuntu and third-party
software repositories Ubuntu downloads software packages from and
whether Ubuntu downloads updates automatically. You can also use
this window to cause Ubuntu to download and install security updates
automatically.
◆ If you do not have an Internet connection, you can use the Software
Sources window to set up the DVD included with this book as a soft-
ware repository. You can then install any software packages that
Ubuntu supports from this repository.
◆ Based on how you set up updates in the Software Sources window, the
Update Notifier pops up on the desktop to let you know when soft-
ware updates are available. Click the Update Notifier to open the
Update Manager window, from which you can download and install
updates.
◆ The Add/Remove Applications window provides an easy way to
select, download, and install a wide range of software packages.
◆ Synaptic allows you to search for, install, and remove software pack-
ages. It gives you more ways to search for packages than does the
Add/Remove Applications window.
40. xl Preface
◆ APT downloads and installs software packages from the Internet (or
the included DVD), keeping a system up-to-date and resolving
dependencies as it processes the packages. You can use APT from a
graphical interface (Synaptic) or from several textual interfaces (e.g.,
aptitude and apt-get).
◆ BitTorrent is a good choice for distributing large amounts of data such
as the Ubuntu installation DVD and CDs. The more people who use
BitTorrent to download a file, the faster it works.
• Covers graphical system administration tools, including the many tools
available from the GNOME Main menu.
• Explains system operation, including the boot process, init scripts, recov-
ery (single-user) and multiuser modes, and steps to take if the system
crashes.
• Describes how to use and program the new Upstart init daemon, which
replaces the System V init daemon.
• Describes files, directories, and filesystems, including types of files and file-
systems, fstab (the filesystem table), and automatically mounted filesystems,
and explains how to fine-tune and check the integrity of filesystems.
• Covers backup utilities, including tar, cpio, dump, and restore.
• Describes compression/archive utilities, including gzip, bzip2, compress,
and zip.
• Explains how to customize and build a Linux kernel.
Security • Helps you manage basic system security issues using ssh (secure shell),
vsftpd (secure FTP server), Apache (Web server), iptables (firewalls), and
more.
• Covers using firestarter to share an Internet connection over a LAN, run a
DHCP server, and set up a basic firewall to protect the system.
• Provides instructions on using iptables to share an Internet connection over
a LAN and to build advanced firewalls.
• Describes how to set up a chroot jail to help protect a server system.
• Explains how to use TCP wrappers to control who can access a server.
Clients and servers • Explains how to set up and use the most popular Linux servers, providing a
chapter on each: Apache, Samba, OpenSSH, exim4, DNS, NFS, FTP, firestarter
and iptables, and NIS (all of which are supported by Ubuntu Linux).
• Describes how to set up a CUPS printer server.
• Describes how to set up and use a DHCP server either by itself or from firestarter.
Programming • Provides a full chapter covering shell programming using bash, including
many examples.
41. Key Topics Covered in This Book xli
Details
Chapter 1 Chapter 1 presents a brief history of Linux and explains some of the features that
make it a cutting-edge operating system. The “Conventions Used in This Book”
(page 17) section details the typefaces and terminology this book uses.
Part I Part I, “Installing Ubuntu Linux,” discusses how to install Ubuntu Linux. Chapter 2
presents an overview of the process of installing Ubuntu Linux, including hardware
requirements, downloading and burning a CD or DVD, and planning the layout of
the hard disk. Chapter 3 is a step-by-step guide to installing Ubuntu Linux from a
CD or DVD, using the graphical or textual installer. It also shows how to set up the
X Window System and customize your desktop (GUI).
Part II Part II, “Getting Started with Ubuntu Linux,” familiarizes you with Ubuntu Linux,
covering logging in, the GUI, utilities, the filesystem, and the shell. Chapter 4 intro-
duces desktop features, including the Top and Bottom panels and the Main menu;
explains how to use the Nautilus File Browser to manage files, run programs, and
connect to FTP and HTTP servers; covers finding documentation, dealing with login
problems, and using the window manager; and presents some suggestions on where
to find documentation, including manuals, tutorials, software notes, and HOWTOs.
Chapter 5 introduces the shell command line interface, describes more than 30 use-
ful utilities, and presents a tutorial on the vim text editor. Chapter 6 discusses the
Linux hierarchical filesystem, covering files, filenames, pathnames, working with
directories, access permissions, and hard and symbolic links. Chapter 7 introduces
the Bourne Again Shell (bash) and discusses command line arguments and options,
redirecting input to and output from commands, running programs in the back-
ground, and using the shell to generate and expand filenames.
Part III Part III, “Digging into Ubuntu Linux,” goes into more detail about working with the
system. Chapter 8 discusses the GUI (desktop) and includes a section on how to run
a graphical program on a remote system and have the display appear locally. The
section on GNOME describes several GNOME utilities, including the new Deskbar
applet, and goes into more depth about the Nautilus File Browser. Chapter 9 extends
the bash coverage from Chapter 7, explaining how to redirect error output, avoid
overwriting files, and work with job control, processes, startup files, important shell
builtin commands, parameters, shell variables, and aliases. Chapter 10 explains net-
works, network security, and the Internet and discusses types of networks, subnets,
protocols, addresses, hostnames, and various network utilities. The section on dis-
tributed computing describes the client/server model and some of the servers you can
use on a network. Chapter 11 goes into greater depth about shell programming
Experienced users may want to skim Part II
tip If you have used a UNIX or Linux system before, you may want to skim or skip some or all of the
chapters in Part II. Part I has two sections that all readers should take a look at: “Conventions Used
in This Book” (page 17), which explains the typographic and layout conventions used in this book,
and “Where to Find Documentation” (page 124), which points out both local and remote sources
of Linux and Ubuntu documentation.
42. xlii Preface
using bash, with the discussion enhanced by extensive examples. Details of setting up
and using clients and servers are reserved until Part V.
Part IV Part IV covers system administration. Chapter 12 discusses core concepts such as
the use of sudo, working with root privileges, system operation, chroot jails, TCP
wrappers, general information about how to set up a server, DHCP, and PAM.
Chapter 13 explains the Linux filesystem, going into detail about types of files,
including special and device files; the use of fsck to verify the integrity of and repair
filesystems; and the use of tune2fs to change filesystem parameters. Chapter 14
explains how to keep a system up-to-date by downloading software from the Inter-
net and installing it, including examples of using APT programs such as aptitude,
apt-get, and apt-cache. It also covers the dpkg software packaging system and the
use of some dpkg utilities. Finally, it explains how to use BitTorrent from the com-
mand line to download files. Chapter 15 explains how to set up the CUPS printing
system so you can print on both local and remote systems. Chapter 16 details cus-
tomizing and building a Linux kernel. Chapter 17 covers additional administration
tasks, including setting up user accounts, backing up files, scheduling automated
tasks, tracking disk usage, and solving general problems. Chapter 18 explains how
to set up a local area network (LAN), including both hardware (including wireless)
and software configuration.
Part V Part V goes into detail about setting up and running servers and connecting to them
with clients. Where appropriate, these chapters include JumpStart sections that get
you off to a quick start in using clients and setting up servers. The chapters in Part V
cover the following clients/servers:
• OpenSSH Set up an OpenSSH server and use ssh, scp, and sftp to com-
municate securely over the Internet.
• FTP Set up a vsftpd secure FTP server and use any of several FTP clients
to exchange files with the server.
• Mail Configure exim4 and use Webmail, POP3, or IMAP to retrieve
email; use SpamAssassin to combat spam.
• NIS Set up NIS to facilitate system administration of a LAN.
• NFS Share filesystems between systems on a network.
• Samba Share filesystems and printers between Windows and Linux systems.
• DNS/BIND Set up a domain nameserver to let other systems on the
Internet know the names and IP addresses of local systems they may need
to contact.
• firestarter and iptables Share a single Internet connection between systems
on a LAN, run a DHCP server, and set up a firewall to protect local systems.
• Apache Set up an HTTP server that serves Web pages that browsers can
display. This chapter includes many suggestions for increasing Apache
security.
43. Thanks xliii
Part VI Part VI includes appendixes on regular expressions, helpful Web sites, system secu-
rity, and free software. This part also includes an extensive glossary with more than
500 entries plus a comprehensive index.
Supplements
The author’s home page (www.sobell.com) contains downloadable listings of the
longer programs from this book as well as pointers to many interesting and useful
Linux sites on the World Wide Web, a list of corrections to the book, answers to even-
numbered exercises, and a solicitation for corrections, comments, and suggestions.
Thanks
First and foremost, I want to thank Mark L. Taub, Editor-in-Chief, Prentice Hall,
who provided encouragement and support through the hard parts of this project.
Mark is unique in my 25 years of book writing experience: an editor who works
with the tools I write about. Because Mark runs Ubuntu on his home computer, we
shared experiences as I wrote this book. Mark, your comments and direction are
invaluable; this book would not exist without your help. Thank you, Mark T.
Molly Sharp of ContentWorks worked with me day-by-day during production of
this book providing help, listening to my rants, and keeping everything on track.
Thanks to Jill Hobbs, Copyeditor, who made the book readable, understandable,
and consistent; and Linda Seifert, Proofreader, who made each page sparkle.
Thanks also to the folks at Prentice Hall who helped bring this book to life, espe-
cially Julie Nahil, Full-Service Production Manager, who oversaw production of
the book; John Fuller, Managing Editor, who kept the large view in check; Marie
McKinley, Marketing Manager; Noreen Regina, Editorial Assistant, who attended
to the many details involved in publishing this book, including keeping the review
team on schedule (no small task); Heather Fox, Publicist; Dan Scherf, Media
Developer; Sandra Schroeder, Design Manager; Chuti Prasertsith, Cover Designer;
and everyone else who worked behind the scenes to make this book come into
being.
I am also indebted to Denis Howe, Editor of The Free On-line Dictionary of Com-
puting (FOLDOC). Denis has graciously permitted me to use entries from his
compilation. Be sure to look at this dictionary (www.foldoc.org).
A big “thank you” to the folks who read through the drafts of the book and
made comments that caused me to refocus parts of the book where things were
not clear or were left out altogether: David Chisnall, Swansea University; Scott
Mann, Aztek Networks; Matthew Miller, Senior Systems Analyst/Administrator,
BU Linux Project, Boston University Office of Information Technology; George
44. xliv Preface
Vish II, Senior Education Consultant, Hewlett-Packard; Thomas Achtemichuk,
Mansueto Ventures; John Dong, Ubuntu Forum Council Member/Backports
Team Leader; Scott James Remnant, Ubuntu Development Manager and Desktop
Team Leader; Daniel R. Arfsten, Pro/Engineer Drafter/Designer; Chris Cooper,
Senior Education Consultant, Hewlett-Packard Education Services; Sameer
Verma, Associate Professor of Information Systems, San Francisco State Univer-
sity; Valerie Chau, Palomar College and Programmers Guild; James Kratzer; Sean
McAllister; Nathan Eckenrode, New York Ubuntu Local Community Team;
Christer Edwards; Nicolas Merline; and Michael Price.
Thanks also to the following people who helped with my previous Linux books,
which provided a foundation for this book: Chris Karr, Northwestern University;
Jesse Keating, Fedora Project; Carsten Pfeiffer, Software Engineer and KDE Devel-
oper; Aaron Weber, Ximian; Cristof Falk, Software Developer at CritterDesign;
Steve Elgersma, Computer Science Department, Princeton University; Scott Dier,
University of Minnesota; Robert Haskins, Computer Net Works; Lars Kellogg-
Stedman, Harvard University; Jim A. Lola, Principal Systems Consultant, Priva-
teer Systems; Eric S. Raymond, Cofounder, Open Source Initiative; Scott Mann;
Randall Lechlitner, Independent Computer Consultant; Jason Wertz, Computer
Science Instructor, Montgomery County Community College; Justin Howell, Solano
Community College; Ed Sawicki, The Accelerated Learning Center; David Mercer;
Jeffrey Bianchine, Advocate, Author, Journalist; John Kennedy; and Jim Dennis,
Starshine Technical Services.
Thanks also to Dustin Puryear, Puryear Information Technology; Gabor Liptak,
Independent Consultant; Bart Schaefer, Chief Technical Officer, iPost; Michael J.
Jordan, Web Developer, Linux Online; Steven Gibson, Owner, SuperAnt.com; John
Viega, Founder and Chief Scientist, Secure Software; K. Rachael Treu, Internet
Security Analyst, Global Crossing; Kara Pritchard, K & S Pritchard Enterprises;
Glen Wiley, Capital One Finances; Karel Baloun, Senior Software Engineer, Look-
smart; Matthew Whitworth; Dameon D. Welch-Abernathy, Nokia Systems; Josh
Simon, Consultant; Stan Isaacs; and Dr. Eric H. Herrin II, Vice President, Herrin
Software Development. And thanks to Doug Hughes, long-time system designer
and administrator, who gave me a big hand with the sections on system administra-
tion, networks, the Internet, and programming.
More thanks go to consultants Lorraine Callahan and Steve Wampler; Ronald
Hiller, Graburn Technology; Charles A. Plater, Wayne State University; Bob
Palowoda; Tom Bialaski, Sun Microsystems; Roger Hartmuller, TIS Labs at Net-
work Associates; Kaowen Liu; Andy Spitzer; Rik Schneider; Jesse St. Laurent; Steve
Bellenot; Ray W. Hiltbrand; Jennifer Witham; Gert-Jan Hagenaars; and Casper Dik.
A Practical Guide to Ubuntu Linux®
is based in part on two of my previous UNIX
books: UNIX System V: A Practical Guide and A Practical Guide to the UNIX Sys-
tem. Many people helped me with those books, and thanks here go to Pat Parseghian;
Dr. Kathleen Hemenway; Brian LaRose; Byron A. Jeff, Clark Atlanta University;
Charles Stross; Jeff Gitlin, Lucent Technologies; Kurt Hockenbury; Maury Bach, Intel
45. Thanks xlv
Israel; Peter H. Salus; Rahul Dave, University of Pennsylvania; Sean Walton, Intelligent
Algorithmic Solutions; Tim Segall, Computer Sciences Corporation; Behrouz Forouzan,
DeAnza College; Mike Keenan, Virginia Polytechnic Institute and State University;
Mike Johnson, Oregon State University; Jandelyn Plane, University of Maryland;
Arnold Robbins and Sathis Menon, Georgia Institute of Technology; Cliff Shaffer, Vir-
ginia Polytechnic Institute and State University; and Steven Stepanek, California State
University, Northridge, for reviewing the book.
I continue to be grateful to the many people who helped with the early editions of
my UNIX books. Special thanks are due to Roger Sippl, Laura King, and Roy
Harrington for introducing me to the UNIX system. My mother, Dr. Helen Sobell,
provided invaluable comments on the original manuscript at several junctures. Also,
thanks go to Isaac Rabinovitch, Professor Raphael Finkel, Professor Randolph
Bentson, Bob Greenberg, Professor Udo Pooch, Judy Ross, Dr. Robert Veroff,
Dr. Mike Denny, Joe DiMartino, Dr. John Mashey, Diane Schulz, Robert Jung, Charles
Whitaker, Don Cragun, Brian Dougherty, Dr. Robert Fish, Guy Harris, Ping Liao,
Gary Lindgren, Dr. Jarrett Rosenberg, Dr. Peter Smith, Bill Weber, Mike Bianchi,
Scooter Morris, Clarke Echols, Oliver Grillmeyer, Dr. David Korn, Dr. Scott
Weikart, and Dr. Richard Curtis.
Finally, thanks to Peter and his family for providing nourishment and a very com-
fortable place to work. I spent many hours reading the manuscript at JumpStart,
Peter’s neighborhood coffee and sandwich shop. If you are in the neighborhood
(24th & Guerrero in San Francisco), stop by and say “Hi.”
I take responsibility for any errors and omissions in this book. If you find one or
just have a comment, let me know (mgs@sobell.com) and I will fix it in the next
printing. My home page (www.sobell.com) contains a list of errors and credits those
who found them. It also offers copies of the longer scripts from the book and point-
ers to interesting Linux pages on the Internet.
Mark G. Sobell
San Francisco, California
47. 1
1
1
Chapter1
The Linux kernel was developed by Finnish undergraduate
student Linus Torvalds, who used the Internet to make the
source code immediately available to others for free. Torvalds
released Linux version 0.01 in September 1991.
The new operating system came together through a lot of hard
work. Programmers around the world were quick to extend the
kernel and develop other tools, adding functionality to match
that already found in both BSD UNIX and System V UNIX
(SVR4) as well as new functionality.
The Linux operating system, which was developed through
the cooperation of many, many people around the world, is a
product of the Internet and is a free operating system. In other
words, all the source code is free. You are free to study it,
redistribute it, and modify it. As a result, the code is available
free of cost—no charge for the software, source, documenta-
tion, or support (via newsgroups, mailing lists, and other
In This Chapter
The GNU–Linux Connection . . . . . . . 2
The Linux 2.6 Kernel . . . . . . . . . . . . . 5
The Heritage of Linux: UNIX . . . . . . . 5
What Is So Good About Linux?. . . . . 6
Overview of Linux . . . . . . . . . . . . . . 10
Additional Features of Linux. . . . . . 15
Conventions Used in This Book . . . 17
1
Welcome to Linux
48. 2 Chapter 1 Welcome to Linux
Internet resources). As the GNU Free Software Definition (reproduced in Appendix D)
puts it:
Free beer “Free software” is a matter of liberty, not price. To understand the
concept, you should think of “free” as in “free speech,” not as in
“free beer.”
The GNU–Linux Connection
An operating system is the low-level software that schedules tasks, allocates storage,
and handles the interfaces to peripheral hardware, such as printers, disk drives, the
screen, keyboard, and mouse. An operating system has two main parts: the kernel
and the system programs. The kernel allocates machine resources—including mem-
ory, disk space, and CPU (page 1031) cycles—to all other programs that run on the
computer. The system programs perform higher-level housekeeping tasks, often act-
ing as servers in a client/server relationship. Linux is the name of the kernel that
Linus Torvalds presented to the world in 1991 and that many others have worked
on since then to enhance, stabilize, expand, and make more secure.
The History of GNU–Linux
This section presents some background on the relationship between GNU and Linux.
Fade to 1983
Richard Stallman (www.stallman.org) announced1
the GNU Project for creating an
operating system, both kernel and system programs, and presented the GNU Mani-
festo,2
which begins as follows:
GNU, which stands for Gnu’s Not UNIX, is the name for the com-
plete UNIX-compatible software system which I am writing so that
I can give it away free to everyone who can use it.
Some years later, Stallman added a footnote to the preceding sentence when he realized
that it was creating confusion:
The wording here was careless. The intention was that nobody
would have to pay for *permission* to use the GNU system. But
the words don’t make this clear, and people often interpret them as
saying that copies of GNU should always be distributed at little or
no charge. That was never the intent; later on, the manifesto men-
tions the possibility of companies providing the service of distribu-
tion for a profit. Subsequently I have learned to distinguish
1. www.gnu.org/gnu/initial-announcement.html
2. www.gnu.org/gnu/manifesto.html
49. The GNU–Linux Connection 3
carefully between “free” in the sense of freedom and “free” in the
sense of price. Free software is software that users have the free-
dom to distribute and change. Some users may obtain copies at no
charge, while others pay to obtain copies—and if the funds help
support improving the software, so much the better. The important
thing is that everyone who has a copy has the freedom to cooperate
with others in using it.
In the manifesto, after explaining a little about the project and what has been
accomplished so far, Stallman continues:
Why I Must Write GNU
I consider that the golden rule requires that if I like a program I
must share it with other people who like it. Software sellers want
to divide the users and conquer them, making each user agree not
to share with others. I refuse to break solidarity with other users in
this way. I cannot in good conscience sign a nondisclosure agree-
ment or a software license agreement. For years I worked within
the Artificial Intelligence Lab to resist such tendencies and other
inhospitalities, but eventually they had gone too far: I could not
remain in an institution where such things are done for me against
my will.
So that I can continue to use computers without dishonor, I have
decided to put together a sufficient body of free software so that I
will be able to get along without any software that is not free. I
have resigned from the AI Lab to deny MIT any legal excuse to
prevent me from giving GNU away.
Next Scene, 1991
The GNU Project has moved well along toward its goal. Much of the GNU operat-
ing system, except for the kernel, is complete. Richard Stallman later writes:
By the early ’90s we had put together the whole system aside from
the kernel (and we were also working on a kernel, the GNU Hurd,3
which runs on top of Mach4
). Developing this kernel has been a lot
harder than we expected, and we are still working on finishing it.5
...[M]any believe that once Linus Torvalds finished writing the ker-
nel, his friends looked around for other free software, and for no
particular reason most everything necessary to make a UNIX-like
system was already available.
3. www.gnu.org/software/hurd/hurd.html
4. www.gnu.org/software/hurd/gnumach.html
5. www.gnu.org/software/hurd/hurd-and-linux.html
50. 4 Chapter 1 Welcome to Linux
What they found was no accident—it was the GNU system. The
available free software6
added up to a complete system because the
GNU Project had been working since 1984 to make one. The GNU
Manifesto had set forth the goal of developing a free UNIX-like
system, called GNU. The Initial Announcement of the GNU
Project also outlines some of the original plans for the GNU sys-
tem. By the time Linux was written, the [GNU] system was almost
finished.7
Today the GNU “operating system” runs on top of the FreeBSD (www.freebsd.org)
and NetBSD (www.netbsd.org) kernels with complete Linux binary compatibility
and on top of Hurd pre-releases and Darwin (developer.apple.com/opensource)
without this compatibility.
The Code Is Free
The tradition of free software dates back to the days when UNIX was released to
universities at nominal cost, which contributed to its portability and success. This
tradition died as UNIX was commercialized and manufacturers regarded the source
code as proprietary, making it effectively unavailable. Another problem with the
commercial versions of UNIX related to their complexity. As each manufacturer
tuned UNIX for a specific architecture, it became less portable and too unwieldy for
teaching and experimentation.
MINIX Two professors created their own stripped-down UNIX look-alikes for educational
purposes: Doug Comer created XINU and Andrew Tanenbaum created MINIX.
Linus Torvalds created Linux to counteract the shortcomings in MINIX. Every time
there was a choice between code simplicity and efficiency/features, Tanenbaum
chose simplicity (to make it easy to teach with MINIX), which meant this system
lacked many features people wanted. Linux goes in the opposite direction.
You can obtain Linux at no cost over the Internet (page 37). You can also obtain
the GNU code via the U.S. mail at a modest cost for materials and shipping. You
can support the Free Software Foundation (www.fsf.org) by buying the same
(GNU) code in higher-priced packages, and you can buy commercial packaged
releases of Linux (called distributions), such as Ubuntu Linux, that include installa-
tion instructions, software, and support.
GPL Linux and GNU software are distributed under the terms of the GNU General Pub-
lic License (GPL, www.gnu.org/licenses/licenses.html). The GPL says you have the
right to copy, modify, and redistribute the code covered by the agreement. When
you redistribute the code, however, you must also distribute the same license with
the code, thereby making the code and the license inseparable. If you get source
code off the Internet for an accounting program that is under the GPL and then
6. See Appendix D or www.gnu.org/philosophy/free-sw.html.
7. www.gnu.org/gnu/linux-and-gnu.html
51. The Heritage of Linux: UNIX 5
modify that code and redistribute an executable version of the program, you must
also distribute the modified source code and the GPL agreement with it. Because
this arrangement is the reverse of the way a normal copyright works (it gives rights
instead of limiting them), it has been termed a copyleft. (This paragraph is not a
legal interpretation of the GPL; it is intended merely to give you an idea of how it
works. Refer to the GPL itself when you want to make use of it.)
Have Fun!
Two key words for Linux are “Have Fun!” These words pop up in prompts and doc-
umentation. The UNIX—now Linux—culture is steeped in humor that can be seen
throughout the system. For example, less is more—GNU has replaced the UNIX
paging utility named more with an improved utility named less. The utility to view
PostScript documents is named ghostscript, and one of several replacements for the vi
editor is named elvis. While machines with Intel processors have “Intel Inside” logos
on their outside, some Linux machines sport “Linux Inside” logos. And Torvalds
himself has been seen wearing a T-shirt bearing a “Linus Inside” logo.
The Linux 2.6 Kernel
The Linux 2.6 kernel was released on December 17, 2003. This kernel has many
features that offer increased security and speed. Some of these features benefit end
users directly; others help developers produce better code and find problems more
quickly. See Appendix E for a description of the features introduced in the Linux
2.6 kernel.
The Heritage of Linux: UNIX
The UNIX system was developed by researchers who needed a set of modern com-
puting tools to help them with their projects. The system allowed a group of people
working together on a project to share selected data and programs while keeping
other information private.
Universities and colleges played a major role in furthering the popularity of the
UNIX operating system through the “four-year effect.” When the UNIX operating
system became widely available in 1975, Bell Labs offered it to educational institu-
tions at nominal cost. The schools, in turn, used it in their computer science pro-
grams, ensuring that computer science students became familiar with it. Because
UNIX was such an advanced development system, the students became acclimated
to a sophisticated programming environment. As these students graduated and went
into industry, they expected to work in a similarly advanced environment. As more
of them worked their way up the ladder in the commercial world, the UNIX operat-
ing system found its way into industry.
52. 6 Chapter 1 Welcome to Linux
In addition to introducing students to the UNIX operating system, the Computer
Systems Research Group (CSRG) at the University of California at Berkeley made
significant additions and changes to it. In fact, it made so many popular changes
that one version of the system is called the Berkeley Software Distribution (BSD) of
the UNIX system (or just Berkeley UNIX). The other major version is UNIX System
V (SVR4), which descended from versions developed and maintained by AT&T and
UNIX System Laboratories.
What Is So Good About Linux?
In recent years Linux has emerged as a powerful and innovative UNIX work-alike.
Its popularity is surpassing that of its UNIX predecessors. Although it mimics UNIX
in many ways, the Linux operating system departs from UNIX in several significant
ways: The Linux kernel is implemented independently of both BSD and System V,
the continuing development of Linux is taking place through the combined efforts of
many capable individuals throughout the world, and Linux puts the power of UNIX
within easy reach of both business and personal computer users. Using the Internet,
today’s skilled programmers submit additions and improvements to the operating
system to Linus Torvalds, GNU, or one of the other authors of Linux.
Applications A rich selection of applications is available for Linux—both free and commercial—
as well as a wide variety of tools: graphical, word processing, networking, security,
administration, Web server, and many others. Large software companies have
recently seen the benefit in supporting Linux and now have on-staff programmers
whose job it is to design and code the Linux kernel, GNU, KDE, or other software
that runs on Linux. For example, IBM (www.ibm.com/linux) is a major Linux sup-
porter. Linux conforms increasingly more closely to POSIX standards, and some
distributions and parts of others meet this standard. (See “Standards” on page 9.)
These developments indicate that Linux is becoming more mainstream and is
respected as an attractive alternative to other popular operating systems.
Peripherals Another aspect of Linux that appeals to users is the amazing range of peripherals that is
supported and the speed with which support for new peripherals emerges. Linux often
supports a peripheral or interface card before any company does. Unfortunately
some types of peripherals—particularly proprietary graphics cards—lag in their
support because the manufacturers do not release specifications or source code for
drivers in a timely manner, if at all.
Software Also important to users is the amount of software that is available—not just source
code (which needs to be compiled) but also prebuilt binaries that are easy to install
and ready to run. These include more than free software. Netscape, for example,
has been available for Linux from the start and included Java support before it was
available from many commercial vendors. Now its sibling Mozilla/Thunderbird/
Firefox is also a viable browser, mail client, and newsreader, performing many other
functions as well.
53. What Is So Good About Linux? 7
Platforms Linux is not just for Intel-based platforms: It has been ported to and runs on the Power
PC—including Apple computers (ppclinux), Compaq’s (née Digital Equipment Corpo-
ration) Alpha-based machines, MIPS-based machines, Motorola’s 68K-based machines,
various 64-bit systems, and IBM’s S/390. Nor is Linux just for single-processor
machines: As of version 2.0, it runs on multiple-processor machines (SMPs). It also
includes an O(1) scheduler, which dramatically increases scalability on SMP systems.
Emulators Linux supports programs, called emulators, that run code intended for other operat-
ing systems. By using emulators you can run some DOS, Windows, and Macintosh
programs under Linux. For example, Wine (www.winehq.com) is an open-source
implementation of the Windows API on top of the X Window System and
UNIX/Linux; QEMU (fabrice.bellard.free.fr/qemu) is a CPU-only emulator that
executes x86 Linux binaries on non-x86 Linux systems.
Xen Xen, which was created at the University of Cambridge and is now being developed
in the open-source community, is an open-source virtual machine monitor (VMM). A
VMM enables several virtual machines (VMs), each running an instance of a separate
operating system, to run on a single computer. Xen isolates the VMs so that if one
crashes it does not affect the others. In addition, Xen introduces minimal performance
overhead when compared with running each of the operating systems natively.
Using VMs, you can experiment with cutting-edge releases of operating systems and
applications without concern for the base (stable) system, all on a single machine.
You can also set up and test networks of systems on a single machine. Xen presents
a sandbox, an area (system) that you can work in without regard for the results of
your work or for the need to clean up.
The Gutsy release of Ubuntu supports Xen 3.1. This book does not cover the
installation or use of Xen. See help.ubuntu.com/community/Xen for information
on running Xen under Ubuntu.
For more information on Xen, refer to the wiki at wiki.xensource.com/xenwiki and
the Xen home page at www.cl.cam.ac.uk/research/srg/netos/xen.
KVM and VirtualBox If you want to run a virtual instance of Windows, you may want to investigate
KVM (Kernel Virtual Machine, help.ubuntu.com/community/KVM) and VirtualBox
(www.virtualbox.org).
Why Linux Is Popular with Hardware Companies
and Developers
Two trends in the computer industry set the stage for the growing popularity of
UNIX and Linux. First, advances in hardware technology created the need for an
operating system that could take advantage of available hardware power. In the
mid-1970s, minicomputers began challenging the large mainframe computers
because, in many applications, minicomputers could perform the same functions
less expensively. More recently, powerful 64-bit processor chips, plentiful and inex-
pensive memory, and lower-priced hard disk storage have allowed hardware com-
panies to install multiuser operating systems on desktop computers.
54. 8 Chapter 1 Welcome to Linux
Proprietary
operating systems
Second, with the cost of hardware continually dropping, hardware manufacturers
could no longer afford to develop and support proprietary operating systems. A
proprietary operating system is one that is written and owned by the manufacturer
of the hardware (for example, DEC/Compaq owns VMS). Today’s manufacturers
need a generic operating system that they can easily adapt to their machines.
Generic operating
systems
A generic operating system is written outside of the company manufacturing the
hardware and is sold (UNIX, Windows) or given (Linux) to the manufacturer.
Linux is a generic operating system because it runs on different types of hardware
produced by different manufacturers. Of course, if manufacturers can pay only for
development and avoid per-unit costs (as they have to pay to Microsoft for each
copy of Windows they sell), manufacturers are much better off. In turn, software
developers need to keep the prices of their products down; they cannot afford to
convert their products to run under many different proprietary operating systems.
Like hardware manufacturers, software developers need a generic operating system.
Although the UNIX system once met the needs of hardware companies and
researchers for a generic operating system, over time it has become more propri-
etary as manufacturers added support for their own specialized features and intro-
duced new software libraries and utilities.
Linux emerged to serve both needs: It is a generic operating system that takes
advantage of available hardware power.
Linux Is Portable
A portable operating system is one that can run on many different machines. More
than 95 percent of the Linux operating system is written in the C programming lan-
guage, and C is portable because it is written in a higher-level, machine-independent
language. (The C compiler is written in C.)
Because Linux is portable, it can be adapted (ported) to different machines and can
meet special requirements. For example, Linux is used in embedded computers,
such as the ones found in cellphones, PDAs, and the cable boxes on top of many
TVs. The file structure takes full advantage of large, fast hard disks. Equally impor-
tant, Linux was originally designed as a multiuser operating system—it was not
modified to serve several users as an afterthought. Sharing the computer’s power
among many users and giving them the ability to share data and programs are cen-
tral features of the system.
Because it is adaptable and takes advantage of available hardware, Linux runs on
many different microprocessor-based systems as well as mainframes. The popularity
of the microprocessor-based hardware drives Linux; these microcomputers are get-
ting faster all the time, at about the same price point. Linux on a fast microcom-
puter has become good enough to displace workstations on many desktops. Linux
benefits both users, who do not like having to learn a new operating system for each
vendor’s hardware, and system administrators, who like having a consistent soft-
ware environment.
56. rolls and coffee, remained untouched. He suddenly stood up and
said:
"Aunt Seréna!"
"What is it, my boy?"
"I want to go!"
Aunt Seréna threw back her head, that she might give him a good
look through her spectacles. Her face took on a very grieved
expression.
At last, after a long pause, she asked, in her gentle voice, "What do
you mean?"
"I want to go away. I cannot stand it. I want to be with my friend."
"Do you think he will take better care of you than I do, Johannes?"
"I do not believe that, Aunt Seréna, but he is being treated unfairly.
He is in the right."
"I will not take it upon myself...." said Aunt Seréna, hesitating, "to
say that he is wrong. I am not clever enough for that. I am only an
old woman, and have not studied much, although I have thought
and experienced a great deal. I will readily admit that perhaps I was
at fault without knowing it. I did my best, to the best of my belief.
But how many there are, better than I am, Johannes, who think
your friend in the wrong!"
"Are they also better than he is?" asked Johannes.
"Who can say? How long have you known this friend—and whom of
the people have you known besides? But although your friend were
right, how would it help me, and what would it matter to me? Must
I, in my sixty-fourth year, give away all that I have, and go out
house-cleaning? Do you mean that I ought to do that, Johannes?"
Johannes was perplexed. "I do not say that, dear Aunt Seréna."
57. "But, what do you say, then? And what do you want of me?"
Johannes was silent.
"You see, Johannes...." continued Aunt Seréna, with a break in her
voice—not looking at him now, but staring hard at her coffee-tray
—"I never have had any children, and all the people whom I have
been very fond of are either dead or gone away. My friends do,
indeed, show me much cordiality. On my birthday I had forty-four
calls, two hundred and eleven cards and notes, and about fifty
presents; but that, however, is not for me true life. The life of the old
is so barren if no young are growing near. I have not complained
about it, and have submitted to God's will. But since ... for a few
months ... you ... I thought it a blessing—a dispensation from
God...."
Aunt Seréna's voice grew so broken and hoarse that she stopped
speaking, and began to rummage in her work-basket.
Johannes felt very tenderly toward her, but it seemed to him as if, in
two seconds, he had become much older and wiser; yes, as if he
had even grown, visibly, and was taller than a moment before. Never
yet had he spoken with such dignity.
"My dear Aunt, I really am not ungrateful. I think you are good.
More than almost any other you have been kind to me. But yet I
must go. My conscience tells me so. I would be willing to stay, you
see; but still I am going because it is best. If you say, 'You must
not,' then I cannot help it; I think, though, that I will quietly run
away. I am truly sorry to cause you sadness, but you will soon hear
of an—another boy, or a girl, who will make you happier. I must find
my friend—my conscience tells me so. Are you going to say, Aunt
Seréna, that I must not?"
Aunt Seréna had taken out her worsted work, and appeared to be
comparing colors. Then, very slowly, she replied:
58. "No, I shall not say that, my dear boy; at least, if you have thought
it all over well."
"I have, Aunt Seréna," said Johannes.
Being deeply anxious, he wished to go instantly to learn where
Markus had been taken. After that he would return to "Vrede-best."
He mounted the stone steps of the police station with dread and
distaste. The officers, who were sitting outside on chairs, received
him, according to their wont, with scant courtesy. The chief eyed
Johannes, after the latter's bashful inquiry, with a scornful
expression, which seemed to say: "What business is it of yours, and
where have I seen you before?"
Johannes learned, however, that "the prisoner" had been set free.
What use he had made of his freedom Johannes must find out for
himself.
As he could give no other reason for his interest in the prisoner than
that he was his friend, and as this reason was not enough to exalt
him in the esteem of police authority, none of the functionaries felt
called upon to put him on the track. They supposed that the
scissors-grinder had very likely gone back to the Fair. That was all
the help they gave.
Johannes returned to his aunt's baffled and in dismay. There,
happily, he found relief; for the good aunt had already discovered
that Markus had been led out of the town, and that, with his cart, he
had taken the road to Utrecht. Already, lying in plain sight, he saw a
large, old-fashioned satchel of hairy leather (a sort of bag which
could be hung about one), full of neatly packed sandwiches and
hard-boiled eggs. And in the inside of a waistcoat Aunt Seréna had
sewed a small pocket. Within that pocket was a purse containing five
little gold-pieces.
59. "I do not give you more, Johannes, for by the time this is gone you
will surely know if you really wish to stay away for good or to come
back again. Do not be ashamed to return. I will not say anything to
you about it."
"I will be honest, and give it back to you when I have earned it,"
said Johannes. He spoke in sober earnest; but he had, no more than
had his aunt, any clear expectation that it would be possible.
Johannes took just a run into the garden to say good-by to his
favorite places—his paths and his flowers. Swiftly and shyly, so as
not to be seen, he ran past the kitchen where Daatje, loudly singing
hymns the while, stood chopping spinach. After that, he embraced
Aunt Seréna in the vestibule for the first and for the last time.
"Cuckoo! Cuckoo!" came insultingly and triumphantly from the little
trap-door, as the clock struck two. Then the stately green front door
closed between him and Aunt Seréna.
That was a painful moment; yet there quickly followed in Johannes'
heart a delightful glow—a feeling of freedom such as he had never
yet known. He almost felt himself a man. He had extricated himself
from soft and perilous ways; he was going out into the wide world;
he would find his beloved brother again; he had a bagful of rolls,
and in his waistcoat were five gold-pieces. These last were only lent
to him; he would earn as much, and give them back again.
It was a still, humid, August day, and Johannes, full of gladness, saw
his beautiful native land lying in white light under a canopy of
delicate grey. He saw thickly wooded dikes, black and white cattle,
and brown boats in water without a ripple. He walked briskly,
inquiring everywhere for Markus the scissors-grinder. In front of an
inn, not far from the city, sat three little gentlemen. They were
apparently government or post-office clerks, who had taken their
midday stroll and their glass of bitters.
60. Johannes asked information of the waiter who brought drinks, but
received no answer.
One of the little dandies, who had heard his question, said to his
companions:
"Jerusalem! but did you chaps hear that kicker? The fellow went into
the new church yesterday morning, and talked back at the dominie."
"What fellow?" asked the others.
"Good Lord! Don't you know him? That half-luny fellow with the
black curly-pate? He does that now and then."
"Gee! That's rich. And what did the dominie say?"
"Well, he found it no joke, for the fellow knew all about it—as
darned well as he did himself. But the gypsy had his trouble for his
pains; for that time the dominie wouldn't have anything to do with
such a dirty competitor!"
And the three friends laughed at the top of their voices.
"How did it end?"
"He had him walked clean out of the church, by the sexton and two
cops."
"That's confounded silly. 'Twould have been better to see who could
crow the loudest. It's the loudest cock that wins."
"The idea! You'd have me believe you mean it? Suppose they gave
the prize to the wrong fellow?"
"Whether you are cheated by a fool of a preacher, or by a scissors-
grinder, what's the difference?"
Johannes reflected a moment and wondered if it would not be
commendable to do what he ached to do—fly at these people and
61. rain blows upon their heads. But he controlled himself and passed
on, convinced that in doing so he was escaping some hard work.
For five hours he walked on without being much the wiser for his
inquiries. Some people thought they had seen Markus; others knew
positively nothing about him.
Johannes began to fear he had passed him; for by this time he
ought to have overtaken him.
It began to grow dark, and before him lay a wide river which he
must cross by means of a ferry-boat. On the farther side were hills
covered with an underwood of oak, and tall, purple-flowered
heather.
The ferryman was positive that he had not that day taken over a
scissors-grinder; but in yonder town, an hour's distance from the
river, a Fair was to begin in the morning. Very likely Markus also
would be there.
Johannes sat down by the roadside in the midst of the dark broom,
with its millions of small purple flowers. The setting sun cast a
glorious coloring over land and mist, and over the lustrous, flowing
water. He was tired but not depressed, and he ate his bread
contentedly, certain that he should find Markus. The road had
become quiet and lonely. It was fun to be so free—so alone and
independent—at home in the open country. Rather than anywhere
else he should like to sleep out-of-doors—in the underwood.
But just as he was about to lay himself down, he saw the figure of a
man with his hands in his pockets, and his cap pushed back.
Johannes sat up, and waited until he came closer. Then he
recognized him.
"Good evening, Director!" said Johannes.
"Good evening to you, my friend!" returned the other. "What are you
doing here? Are you lost?"
62. "No; I am looking for friends. Is Markus with you?"
The man was the director of a Flea-Theatre; a little fellow, with a
husky voice, and eyes inflamed by his fine work.
"Markus? I'm not sure. But come along—there's no knowing but he
might be there."
"Are you looking for new apprentices?" asked Johannes.
"Do you happen to have any? They're worth a pretty penny, you
know!"
They walked together to the camp of gypsy wagons, near the town.
Johannes found there all the old acquaintances. There was the fat
lady, who could rest a plate upon her bosom and thus eat out of it.
Now, however, she was eating simply from a box, like the others,
because there were no spectators. There were the mother and
daughter who represented the living mermaid, taking turns because
one could not hold out very long. There was the exhibitor of the
collection of curiosities —a poor, humpbacked knave whose entire
possessions consisted of a stuffed alligator, a walrus-tooth, and a
seven-months baby preserved in alcohol. There were the two wild
men, who, growling horribly, could eat grass and live rabbits, and
who might come out of the wagon only at night, when the street
boys were away; but who, far from savage now, were sitting in the
light of a flickering lantern, "shaving" one another with exceedingly
dirty cards.
The flea-tamer brought Johannes at last to Marjon's wagon.
"Bless me!" cried Lorum, who seemed to be in a good humor as he
sat by the road smoking his pipe. "Here is our runaway young
gentleman again! Now the girls will be glad!"
63. From behind the wagon came the soft tones of a voice, singing to a
zither accompaniment. Johannes could hear the song distinctly, in
the dreamlike stillness of the hour. It was sung in a whining,
melancholy, street-organ style, but with unusual emotion:
"They have broken my heart—
Ah, the tears I have shed!
They have torn us apart—
His dear voice is now dead.
Alas! Alas!
How could you forsake me?
Alas! Alas!
How you have deceived me!"
It was a ditty that Johannes thought he had often heard the nurse-
maids sing. But, because he recognized that dear voice, and perhaps
even because he was worried over the applicability to himself, he
was greatly touched by it.
"Hey, there!" cried Lorum to one behind him. "The kid has come
back! Stop your squalling!"
Then Marjon appeared from behind the wagon, and ran up to
Johannes. Also, the door of the wagon flew back, and Johannes saw
Marjon's sister standing in the bright opening. Her fat arms were
bare, and she was in her night-gown.
XI
Since that first night in the dunes with Windekind, Johannes had
slept many a time in the open air, and he did not see why he should
not now do so. He would lie down under the wagon, upon some hay.
He was tired, and so would sleep well.
64. But sleep did not come to him very promptly. Adventures in the
world of people proved to be even more exciting than those in
Windekind's land of elves. He was full of the important and unusual
situation in which he was placed; the strange human life that
surrounded him claimed his attention. Above him, feet were shuffling
over the wagon floor, and he could see the people crawling around
one another inside the warm, dirty wagons. He was obliged to listen
to the talking, singing, laughing and quarreling that frequently broke
out here and there. A solitary ocarina continued to whistle awhile;
then all was still.
It grew cold. He had with him only a thin cloak of Aunt Seréna's;
and, as a horse-blanket could not be spared, he found a couple of
empty oat-bags; but they were too short.
When all were asleep, and he was still lying awake, shivering, his
spirits already inclined to droop, he heard the door of the wagon
open. A voice called him, in a whisper. Johannes scrambled out into
sight, and recognized Marjon's dark sister.
"Why don't you come in here, Kiddie?" she asked.
The truth was that Johannes, above all else, feared the closeness
and the fleas. But he would not offer these insulting reasons, so he
replied—intending to be very courteous and praiseworthy: "But that
would not do for me—to be with you!"
Now, formality is not a very strong point in a house-wagon. In the
very stateliest, a curtain does indeed sometimes define two sleeping-
rooms at night, thus denoting regard for the proprieties. But in most
cases the custom is to do as do the birds which change their suits
but once a year, and not too much, at that; and as do the mice
which also have no separate bedrooms.
"Aw! Come, Boy! You're silly. Just come on! It's all right."
And when Johannes, perplexed and very bashful, hesitated, he felt a
fat, heavy arm around his neck, and a soft, broad, cold mouth upon
65. his cheek.
"Come on, Youngster! Don't be afraid. Surely you are not so green!
Hey? It's time for me to make you wiser."
Now there was nothing Johannes had learned more to value than
wisdom, and he never willingly neglected a chance of becoming
wiser. But this time there came to him a very clear idea of the
existence of an undesirable wisdom.
He had no time to deliberate over this wonderful discovery; for,
happily, there came to the help of his immature thoughts a very
strong feeling of aversion, so that for once he knew betimes what he
ought to do.
He said loudly, and firmly: "I will not! I rest better here." And he
crept back under the wagon. The swarthy jade appeared not to like
that, for she uttered an oath as she turned away, and said: "Clear
out, then!" Johannes did not take it greatly to heart, although it did
appear to him unfair. He slept, however, no more than before; and
the sensation of the recent touches, and the wretched odor of poor
perfumery which the woman had brought with her, remained with
him, to his distress.
As soon as it began to grow light, the door of the wagon was again
opened. Johannes, surprised, looked up. Marjon came softly out in
her bare feet, with an old purple shawl thrown over her thin little
shoulders. She went up to Johannes and sat down on the ground
beside him.
"What did she do?" she asked, in a whisper.
"Who?" asked Johannes, in return. But that was from
embarrassment, for he well knew whom she meant.
"Now, you know well enough. Did you think I was sleeping? Did she
give you a kiss?"
Johannes nodded.
66. "Where? On your mouth?"
"No. On my cheek."
"Thank God!" said Marjon. "You will not let her do it again? She is a
common thing!"
"I could not help it," said Johannes.
Marjon looked at him thoughtfully a few moments, with her clear,
light grey eyes.
"Do you dare steal?" she asked then, abruptly.
"No," said Johannes. "I dare to, but it's wrong."
"Indeed it isn't!" said Marjon, very emphatically. "Indeed, it is not!
It's only a question of who from. Stealing from one another is mean,
but from the public is allowable. I must not steal from that woman
any more than from Lorum. But you may steal from the huzzy, if you
only dared."
"Then can you steal from me, too?" asked Johannes. Marjon looked
at him in sudden surprise, and gave a pretty laugh, showing her
white, even teeth.
"A while ago I could, but not now. Now you belong to me. But that
woman has a lot of money and you have not."
"I have some money, too—fifty guldens. Aunt Seréna gave it to me."
Marjon drew in the air with her lips as if sipping something delicious.
Her pale face shone with pleasure.
"Five little golden Teners! Is it truly so? But, Johannes, then we are
well off! We'll have a good time with them. Shan't we?"
"To be sure," assented Johannes, recovering himself. "But I want to
find Markus."
67. "That's good," said Marjon. "That's the best thing to do. We'll both
go looking for him."
"Right away?" asked Johannes.
"No, you stupid! We should be nabbed in no time. We'll start in the
evening. Then, during the night, we can get a good way off. I'll give
you the signal."
It was morning—clear and cool, yet growing warmer with the early
August sunshine. Everywhere over the dark heather the dew-
covered cobwebs were shining like clusters of sparkling stars. The
fires of the foregoing evening were still smouldering in the camp;
and there was a smell of wood coals and of honey.
Johannes was well pleased. There was a glowing little flame also
within himself. He felt that it was good to be alive, and a joy to
strive. It was a long, strange day, but he was patient and happy in
the thought of fleeing with Marjon. The dark woman was friendly
toward him again. He was helping her in the circus the entire day,
and had no chance to speak with Marjon. But now and then they
gave each other a look full of complete understanding. That was
delightful! Never before in his every-day life had Johannes
experienced anything so delightful.
That evening there was an exhibition, and Marjon performed her
tricks. Johannes felt very proud and important because he belonged
to the troupe, and was looked upon by the public as an athlete or an
equestrian. He might stand, in topboots and with a whip, at the
entrance to the stall, but he must not perform a single trick, nor
once crack his whip.
When it was good and dark, and everybody was asleep again,
Marjon came to summon him. He could scarcely distinguish her
figure; but he knew by a soft, grunting sound, that she carried Kees,
68. her monkey, on her arm. She thrust her guitar into Johannes' hand,
and said in a low tone: "Move on, now!"
They set out hastily and in silence, Marjon taking the lead. First they
went by the highway; then they took a footpath along the river; and
then, at a ferry, they softly unfastened a small boat, and pushed out
into the current.
"Keep your wits about you, Jo, and be on the lookout!"
"We shall be overtaken," said Johannes, not quite at his ease.
"Are you afraid?"
"No, not afraid," said Johannes, although the truth was that he was
trying not to be; "but where are we going to bring up? And how can
we keep out of the way if a boat should come along? We have no
oars!"
"I wish a boat would come. Then we'd go on with it."
"Where do you want to go, Marjon?"
"Well, over the frontier, of course. Otherwise they'll catch us.
"But Markus!"
"We'll find him, by and by—only come on now."
In silence the two children drifted out over the still, black water,
which here and there bubbled past a floating log, or a barrel.
Everything was mysterious. It was pitch dark, and there was no
wind. The reeds, even, scarcely sighed. Keesje whined,
complainingly, not liking the cold.
"But who is Markus, Marjon? Do you know?"
"You must not ask that, Jo. You must trust him. I do."
Then they heard a dull, fitfully throbbing sound that slowly drew
nearer from the distance, and Johannes saw red and white lanterns
69. ahead of them.
"A steamboat!" he cried. "What are we going to do now?"
"Sing!" said Marjon, without a moment's hesitation.
The boat came very gradually, and Johannes saw in the rear of her a
long file of little lights, like a train of twinkling stars. It was a steam-
tug with a heavy draught of Rhine-boats. It seemed to be panting
and toiling with its burden, against the powerful current.
They stayed a boat's length away from the tug, but its long,
unwieldy train—swinging out in a great curve at the rear—came
nearer and nearer.
Marjon took her guitar and began to sing, and suddenly, with the
sound of lapping water and throbbing engines, the music was
ringing out in the still night—exquisite and clear. She sang a well-
known German air, but with the following words:
"Tho' on dark depths of waters
I fear not and am strong,
For I know who will guard me
And guide me all life long."
"Are you tipsy, there, or tired of life? What do you put yourself
across the channel for—and without a light?" rang out over the
water from one of the vessels.
"Help! Throw a line!" cried Marjon.
"Help! help!" cried Johannes, after her.
Then a rope came wabbling across their oarless craft. By good luck
Johannes caught it, and pulled himself, hand over hand, up to the
vessel. The helmsman, standing beside the great, high-arched
rudder, looked overboard, with a lantern in his hand.
"What wedding do you hail from?"
70. Johannes and Marjon climbed into the boat and Marjon pushed off
their own little shallop.
"Two boys!" exclaimed the helmsman.
"And a monkey!" subjoined Marjon.
Johannes looked round at her. By the light of the lantern he saw a
little figure that he hardly recognized—a slip of a boy wearing a cap
on his closely cropped head. She had sacrificed for the flight her
silky blonde hair. Keesje's head was sticking up out of her jacket,
and he was blinking briskly in the glare of the lantern.
"Oh, that's it! Fair-folk!" grumbled the skipper. "What's to become of
that boat?"
"It knows the way home!" said Marjon.
XII
I will simply tell you, without delay, in order that you may be able to
read what follows in peace of mind, that Johannes and Marjon
became husband and wife ere the ending of the story. But at the
time the old skipper pointed out to them a comfortable sleeping-
corner in the deck-house of the long Rhine-boat, they had not the
least idea of it. Being very tired, they were soon lying, like two
brothers, in deep sleep, with Keesje, now warm and contented,
between them.
When it grew light, the whole world seemed to have vanished.
Johannes had been wakened by the rattling of the anchor-chains,
and when he looked out, he saw on all sides nothing but white,
foggy light; no sky, no shore—only, just under the little windows, the
yellow river current. But he heard the striking of the town clocks,
71. and even the crowing of cocks. Therefore the world was still there,
as fine as ever, only hidden away under a thick white veil.
The boats lay still, for they could not be navigated. So long as the
waters of the Rhine could not be seen frothing about the anchor-
chains, so long must they wait for a chance to know the points of
the compass. Thus they remained for hours in the still, thick white
light, listening to the muffled sounds of the town coming from the
shore.
The two children ran back and forth over the long, long vessel, and
had a fine time. They had already become good friends of the
skipper, especially since he had learned that they could pay for their
passage. They ate their bread and sausage, peering into the fog in
suspense, for fear that Lorum and the dark woman might be coming
in a boat to overtake them. They knew that they could not yet be
very far away from their last camping-place.
At last the mists grew thinner and thinner, and fled from before the
shining face of the sun; and, although the earth still remained
hidden beneath swirling white, up above began to appear the
glorious blue.
And this was the beginning of a fine day for Johannes.
Sighing and groaning, as if with great reluctance, the tugboat began
again its toilful course up the stream. The still, summer day was
warm, the wide expanse of water sparkled in the sun, and on both
sides the shores were gliding gently by—their grey-green reeds, and
willows and poplars, all fresh and dewy, peeping through the fog.
Johannes lay on the deck, gazing at land and water, while Marjon sat
beside him. Keesje amused himself with the tackle rope, chuckling
with satisfaction every now and then, as he sprang back and forth,
with a serious look, after a flitting bird or insect.
"Marjon," said Johannes, "how did you know so certainly yesterday
that there was nothing to be afraid of?"
72. "Some one watches over me," said Marjon.
"Who?" asked Johannes.
"Father."
Johannes looked at her, and asked, softly:
"Do you mean your own father?"
But Marjon made a slight movement of her head toward the green
earth, the flowing water, the blue sky and the sunshine, and said,
with peculiar significance, as if now it was quite clear to her:
"No! I mean The Father."
"The Father Markus speaks about?"
"Yes. Of course," said Marjon.
Johannes was silent a while, gazing at the rapid flow of the water,
and the slower and slower course of things according to their
distance in the rear. His head was full of ideas, each one eager for
utterance. But it is delightful to lie thus and view a passing country
spread out under the clear light—letting the thoughts come very
calmly, and selecting carefully those worthy of being clad in speech.
Many are too tender and sensitive to be accorded that honor, but yet
they may not be meanest ones.
Johannes first selected a stray thought.
"Is that your own idea?" he asked. Marjon was not quick with an
answer, herself, this time.
"My own? No. Markus told me it. But I knew it myself, though. I
knew it, but he said it. He drew it out of me. I remember everything
he says—everything—even although I don't catch on."
"Is there any good in that?" asked Johannes, thoughtlessly.
Marjon looked at him disdainfully, and said:
73. "Jimminy! You're just like Kees. He doesn't know either that he can
do more with a quarter than with a cent. When I got my first
quarter, I didn't catch on, either, but then I noticed that I could get a
lot more candy with it than with a cent. Then I knew better what to
do. So now I treasure the things Markus has said—all of them."
"Do you think as much of him as I do?" asked Johannes.
"More," said Marjon.
"That cannot be."
Then there was another long pause. The boat was not in a hurry,
neither was the sun, and the broad stream made even less haste.
And so the children, as well, took plenty of time in their talking.
"Yes, but you see," Johannes began again, "when people speak of
our Father, they mean God, and God is...."
What was it again, that Windekind had said about God? The thought
came to him, and clothed in the old terms. But Johannes hesitated.
The terms were surely not attractive.
"What is God, now?" asked Marjon.
The old jargon must be used. There was nothing better.
"... An oil-lamp, where the flies stick fast."
Marjon whistled—a shrill whistle of authority—a circus-command.
Keesje, who was sitting on the foremast, thoughtfully inspecting his
outstretched hind foot, started up at once, and came sliding down
the steel cable, in dutiful haste.
"Here, Kees! Attention!"
Kees grumbled assent, and was instantly on the alert, for he was
well drilled. His sharp little brown eyes scarcely strayed for one
second away from the face of his mistress.
74. "The young gentleman here says he knows what God is. Do you
know?"
Keesje shook his head quickly, showing all his sharp little white teeth
in a grin. One would have said he was laughing, but his small eyes
peered as seriously as ever from Marjon's mouth to her hand. There
was nothing to laugh at. He must pay attention. That was clear.
Goodies were bound to follow—or blows.
But Marjon laughed loudly.
"Here, Kees! Good Kees!"
And then he had the dainties, and soon was up on the mast,
smacking aloud as he feasted.
The result of this affront was quite unexpected to Marjon. Johannes,
who had been lying prone on the deck, with his chin in his hands,
gazed sadly for a while at the horizon, and then hid his face in his
folded arms, his body shaking with sobs.
"Stop now, Jo; you're silly! Cry for that!" said Marjon, half
frightened, trying to pull his arms away from his face. But Johannes
shook his head.
"Hush! Let me think," said he.
Marjon gave him about a quarter of an hour, and then she spoke,
gently and kindly, as if to comfort him:
"I know what you wanted to say, dear Jo. That's the reason, too,
why I always speak of The Father. I understand that the best;
because, you see, I never knew my earthly father, but he must have
been much better than other fathers."
"Why?" asked Johannes.
"Because I am much better than all those people round about me,
and better than that common, dark woman who had another father."
75. Marjon said this quite simply, thinking it to be so. She said it in a
modest manner, while feeling that it was something which ought to
be spoken.
"Not that I have been so very good. Oh, no! But yet I have been
better than the others, and that was because of the father; for my
mother, too, was only a member of a troupe. And now it is so lovely
that I can say 'Father' just as Markus does!"
Johannes looked at her, with the sadness still in his eyes.
"Yes, but all the meanness, the ugliness, and the sorrow that our
Father permits! First, He launches us into the world, helpless and
ignorant, without telling us anything. And then, when we do wrong
because we know no better, we are punished, Is that fatherly?"
But Marjon said:
"Did you fancy it was not? Kees gets punished, too, so he will learn.
And now that he is clever and well taught he gets hardly any blows
—only tid-bits. Isn't that so, Kees?"
"But, Marjon, did you not tell me how you found Kees—shy, thin,
and mangy—his coat all spoiled with hunger and beatings; and how
he has remained timid ever since, because a couple of rascally boys
had mistreated him?"
Marjon nodded, and said:
"There are rascals, and deucedly wicked boys, and very likely there
is a Devil, also; but I am my Father's child and not afraid of Him, nor
what He may do with me."
"But if He makes you ill, and lets you be ill-treated? If He lets you do
wrong, and then leaves you to cry about it? And if He makes you
foolish?"
Keesje was coming down from the mast, very softly and deliberately.
With his black, dirty little hands he cautiously and hesitatingly
76. touched the boy's clothes that Marjon was wearing. He wanted to go
to sleep, and had been used to a soft lap. But his mistress took him
up, and hid him in her jacket. Then he yawned contentedly, like a
little old man, and closed his pale eyelids in sleep—his little face
looking very pious with its eyebrows raised in a saintly arch. Marjon
said:
"If I should go and ill-treat Keesje, he would make a great fuss
about it, but still he would stay with me."
"Yes; but he would do the same with a common tramp," said
Johannes.
Marjon shook her head, doubtfully.
"Kees is rather stupid—much more so than you or I, but yet not
altogether stupid. He well knows who means to treat him rightly. He
knows well that I do not ill-treat him for my own pleasure. And you
see, Jo, I know certainly, ever so certainly—that my Father will not
ill-treat me without a reason."
Johannes pressed her hand, and asked passionately:
"How do you know that? How do you know?"
Marjon smiled, and gave him a gentle look.
"Exactly as I know you to be a good boy—one who does not lie. I
can tell that about you in various ways I could not explain—by one
thing and another. So, too, I can see that my Father means well by
me. By the flowers, the clouds, the sparkling water. Sometimes it
makes me cry—it is so plain."
Then Johannes remembered how he had once been taught to pray,
and his troubled thoughts grew calmer. Yet he could not refrain from
asking—because he had been so much with Pluizer:
"Why might not that be a cheat?"
77. Suddenly Keesje waked up and looked behind him at Johannes, in a
frightened way.
"Ah, there you are!" exclaimed Marjon, impatiently. "That's exactly
as if you asked why the summer might not perchance be the winter.
You can ask that, any time. I know my Father just for the very
reason that He does not deceive. If Markus was only here he would
give it to you!"
"Yes, if he was only here!" repeated Johannes, not appearing to be
afraid of what Markus might do to him.
Then in a milder way, Marjon proceeded:
"Do you know what Markus says, Jo? When the Devil stands before
God, his heart is pierced by genuine trust."
"Should I trust the Devil, then?" asked Johannes.
"Well, no! How could that be? Nobody can do that. You must trust
the Father alone. But even if you are so unlucky as to see the Devil
before you see the Father, that makes no difference, for he has no
chance against sincere trust. That upsets his plans, and at the same
time pleases the Father."
"Oh, Marjon! Marjon!" said Johannes, clasping his hands together in
his deep emotion. She smiled brightly and said:
"Now you see that was a quarter out of my savings-box!"
Really, it was a very happy day for Johannes. He saw great, white,
piled-up clouds, tall trees in the light of the rising sun, still houses on
the river-banks, and the rushing stream—with violet and gold
sparkling in the broad bends—ever flowing through a fruitful,
verdant country; and over all, the deep, deep blue—and he
whispered: "Father—Father!" In an instant, he suddenly
78. comprehended all the things he saw as splendid, glorious Thoughts
of the Father, which had always been his to observe, but only now to
be wholly understood. The Father said all this to him, as a solemn
admonition that He it was—pure and true, eternally guarding, ever
waiting and accessible, behind the unlovely and the deceitful.
"Will you always stay with me, Marjon?" he asked earnestly.
"Yes, Jo, that I will. And you with me?"
Then Little Johannes intrepidly gave his promise, as if he really knew
what the future held for him, and as if he had power over his entire
unknown existence.
"Yes, dear Marjon, I will never leave you again. I promise you. We
remain together, but as friends. Do you agree? No foolishness!"
"Very well, Jo. As you like," said Marjon. After that they were very
still.
XIII
It was evening, and they were nearing Germany. The dwellings on
the river-banks no longer looked fresh and bright colored, but faded
and dirty. Then they came to a poor, shabby-looking town, with rusty
walls, and grey houses inscribed with flourishing black letters.
The boats went up the stream to lie at anchor, and the custom-
house officers came. Then Marjon, rousing up from the brown study
into which Johannes' last question had plunged her, said:
"We must sing something, Jo. Only think! Your Aunt's money will
soon be gone. We must earn some more."
"Can we do it?" asked Johannes.
79. "Easy. You just furnish the words and I'll take care of the music. If it
isn't so fine at first, that doesn't matter. You'll see how the money
rains down, even if they don't understand a thing."
Marjon knew her public. It came out as she said it would. When they
began to sing, the brusque customs collectors, the old skipper, and
other ships' folk in the boats lying next them, all listened; and the
stokers of the little tugboat stuck their soot-begrimed faces out of
the machine-room hatch, and they, also, listened. For those two
young voices floated softly and harmoniously out over the calmly
flowing current, and there was something very winning in the two
slender brothers—something fine and striking. They were quite
unlike the usual circus-people. There was something about them
which instantly made itself felt, even upon a rude audience,
although no one there could tell in what it consisted, nor understand
what they were singing about, nor even the words.
At first they sang their old songs—The Song of the Butterfly, and the
melancholy song that Marjon had made alone, and which Johannes,
rather disdainfully, had named The Nurse-Maid's Song, and also the
one Marjon had composed in the evening, in the boat. But when
Marjon said, "You must make something new," Johannes looked very
serious, and said:
"You cannot make verses—they are born as much as children are."
Marjon blushed; and, laughing in her confusion, she replied: "What
silly things you do say, Jo. It's well that the dark woman doesn't
hear you. She might take you in hand."
After a moment of silence, she resumed: "I believe you talk trash,
Jo. When I make songs the music does come of itself; but I have to
finish it off, though. I must make—compose, you know. It's exactly,"
she continued, after a pause, "as if a troop of children came in, all
unexpected—wild and in disorder, and as if, like a school-teacher, I
made them pass in a procession—two by two—and stroked their
clothing smooth, and put flowers in their hands, and then set them
80. marching. That's the way I make songs, and so must you make
verses. Try now!"
"Exactly," said Johannes;'"but yet the children must first come of
themselves."
"But are they not all there, Jo?"
Gazing up into the great dome of the evening sky, where the pale
stars were just beginning to sparkle, Johannes thought it over. He
thought of the fine day he had had, and also of what he had felt
coming into his head.
"Really," said Marjon, rather drily, "you'll just have to, whether you
want to or not—to keep from starving."
Then, as if desperately alarmed, Johannes went in search of pencil
and paper; and truly, in came the disorderly children, and he
arranged them in file, prinked them up, and dealt them out flowers.
He first wrote this:
"Tell me what means the bright sunshine,
The great and restless river Rhine,
This teeming land of flocks and herds—
The high, wide blue of summer sky,
Where fleecy clouds in quiet lie.
To catch the lilt of happy birds.
"The Father thinks, and spreads his dream
As sun and heaven, field and stream.
I feast on his creation—
And when that thought is understood,
Then shall my soul confess Him good,
And kneel in adoration."
81. Marjon read it, and slowly remarked, as she nodded: "Very well, Jo,
but I'm afraid I can't make a song of it. At least, not now. I must
have something with more life and movement in it. This is too sober
—I must have something that dances. Can't you say something
about the stars? I just love them so! Or about the river, or the sun,
or about the autumn?"
"I will try to," said Johannes, looking up at the twinkling dots
sprinkled over the dark night-sky.
Then he composed the following song, for which Marjon quickly
furnished a melody, and soon they were both singing:
"One by one from their sable fold
Came the silent stars with twinkling eyes,
And their tiny feet illumed like gold
The adamantine skies.
"And when they'd climbed the domed height—
So happy and full of glee,
There sang those stars with all their might
A song of jubilee."
It was a success. Their fresh young voices were floating and gliding
and intertwining like two bright garlands, or two supple fishes
sporting in clear water, or two butterflies fluttering about each other
in the sunshine. The brown old skipper grinned, and the grimy-faced
stokers looked at them approvingly. They did not understand it, but
felt sure it must be a merry love-song. Three times—four times
through—the children sang the song. Then, little by little, the night
fell. But Johannes had still more to say. The sun, and the splendid
summer day that had now taken its leave, had left behind a sweet,
sad longing, and this he wanted to put upon paper. Lying stretched
out on the deck, he wrote the following, by the light of the lantern:
"Oh, golden sun—oh, summer light,
I would that I might see thee bright
82. Thro' long, drear, winter days!
Thy brightest rays have all been shed—
Full soon thy glory will have fled,
And cold winds blow;
While all dear, verdant ways
Lie deep in snow."
As he read the last line aloud, his voice was full of emotion.
"That's fine, Jo!" said Marjon. "I'll soon have it ready."
And after a half-hour of trying and testing, she found for the verses
a sweet air, full of yearning.
And they sang it, in the dusk, and repeated the former one, until a
troupe of street musicians of the sort called "footers" came
boisterously out of a beer-house on the shore, and drowned their
tender voices with a flood of loud, dissonant, and brazen tones.
"Mum, now," said Marjon, "we can't do anything against that
braying. But never mind. We have two of them now—The Star Song
and The Autumn Song. At this rate we shall get rich. And I'll make
something yet out of The Father Song; but in the morning, I think—
not to-night. We've earned at least our day's wages, and we can go
on a lark with contented minds. Will you go, Jo?"
"Marjon," said Johannes, musingly, hesitating an instant before he
consented, "do you know who Pluizer is?"
"No!" said Marjon, bluntly.
"Do you know what he would say?"
"Well?" asked Marjon, with indifference.
"That you are altogether impossible."
"Impossible? Why?"
83. Welcome to our website – the perfect destination for book lovers and
knowledge seekers. We believe that every book holds a new world,
offering opportunities for learning, discovery, and personal growth.
That’s why we are dedicated to bringing you a diverse collection of
books, ranging from classic literature and specialized publications to
self-development guides and children's books.
More than just a book-buying platform, we strive to be a bridge
connecting you with timeless cultural and intellectual values. With an
elegant, user-friendly interface and a smart search system, you can
quickly find the books that best suit your interests. Additionally,
our special promotions and home delivery services help you save time
and fully enjoy the joy of reading.
Join us on a journey of knowledge exploration, passion nurturing, and
personal growth every day!
ebookbell.com