âWhat was it about UNIX that won my heart? . . . UNIX is mysterious when you first approach. A little intimidating, too. But despite an unadorned and often plain presentation, the discerning suitor can tell thereâs lot going on under the surface.â
âThomas Scoville, http://unix.oreilly.com/news/unix_love_0299.html
When the above-mentioned article was first published, I was still
very much a BSD newbie. My spare hours were spent struggling with kernel
recompiles, PPP connectivity (or lack thereof), rm
and chmod
disasters, and reading and rereading every bit of the then available
documentation. Yet, that article gave voice to my experience, for, like
the quoted author, I had stumbled upon operating system love. In other
words, I was discovering how to hack on BSD.
Since then, Iâve learned that there is an unspoken commonality between the novice Unix user and the seasoned guru. It doesnât matter whether youâve just survived your first successful installation or youâve just executed a complex script that will save your company time and money, the feeling is the same. Itâs the excitement of venturing into unknown territory and discovering something new and wonderful. Itâs that sense of accomplishment that comes with figuring something out for yourself, with finding your own solution to the problem at hand.
This book contains 100 hacks written by users who love hacking with BSD. Youâll find hacks suited to both the novice user and the seasoned veteran, as well as everyone in between. Read them in any order that suits your purpose, but keep the âonion principleâ in mind. While each hack does present at least one practical solution to a problem, thatâs just the outer layer. Use your imagination to peel away deeper layers, exposing new solutions as you do so.
The term hacking has an unfortunate reputation in the popular press, where it often refers to someone who breaks into systems or wreaks havoc with computers. Among enthusiasts, on the other hand, the term hack refers to a âquick-n-dirtyâ solution to a problem or a clever way to do something. The term hacker is very much a compliment, praising someone for being creative and having the technical chops to get things done. OâReillyâs Hacks series is an attempt to reclaim the word, document the ways people are hacking (in a good way), and pass the hacker ethic of creative participation on to a new generation of hackers. Seeing how others approach systems and problems is often the quickest way to learn about a new technology.
BSD Hacks is all about making the most of your BSD system. The BSDs of today have a proud lineage, tracing back to some of the original hackersâpeople who built Unix and the Internet as we know it today. As youâd expect, they faced many problems and solved problems both quickly and elegantly. Weâve collected some of that wisdom, both classic and modern, about using the command line, securing systems, keeping track of your files, making backups, and, most importantly, how to become your own BSD guru along the way.
One of the beauties of Unix is that you can be very productive with surprisingly little knowledge. Even better, each new trick you learn can shave minutes off of your day. Weâve arranged the chapters in this book by subject area, not by any suggested order of learning. Skip around to what interests you most or solves your current problem. If the current hack depends on information in another hack, weâll include a link for you to follow.
Furthermore, the âSee Alsoâ sections at the end of individual
hacks often include references such as man
fortune
. These refer to the manual pages installed on your
machine. If youâre not familiar with these manpages, start with
[Hack #89] .
To master BSD, youâll have to understand several topics. Weâve arranged the hacks loosely into chapters. They are:
- Chapter 1 Customizing the User Environment
Though modern BSDs have myriad graphical applications and utilities, the combined wisdom of 35 years of command-line programs is just a shell away. This chapter demonstrates how to make the most of the command line, customizing it to your needs and preferences.
- Chapter 2 Dealing with Files and Filesystems
What good is knowing Unix commands if you have no files? You have to slice, dice, and store data somewhere. This chapter explains techniques for finding and processing information, whether itâs on your machine or on a server elsewhere.
- Chapter 3 The Boot and Login Environments
The best-laid security plans of administrators often go out the window when users enter the picture. Keeping the bad guys off of sensitive machines requires a two-pronged approach: protecting normal user accounts through good password policies and protecting the boxes physically. This chapter explores several options for customizing and securing the boot and login processes.
- Chapter 4 Backing Up
After you start creating files, youâre bound to run across data you canât afford to lose. Thatâs where backups come in. This chapter offers several ideas for various methods of ensuring that your precious data will persist in the face of tragedy.
- Chapter 5 Networking Hacks
Unless youâre a die-hard individualist, youâre likely connected to a network. That fact presents several new opportunities for clever hacks as well as mystifying failures. This chapter illuminates ways to take advantage of your network connection.
- Chapter 6 Securing the System
Security is as much a mindset as it is a process. Knowing the tools at your disposal will help. This chapter delves into multiple tools and ideas for increasing the security of your systems, whether keeping out the bad guys or staying on top of updates.
- Chapter 7 Going Beyond the Basics
With years and years of refinement, the BSDs provide powerful and maintainable environments. Are you taking full advantage of everything your system has to offer? This chapter pushes the envelope of what you can accomplish.
- Chapter 8 Keeping Up-to-Date
No bragging about BSD is complete without mentioning the ports or packages system that keeps thousands of applications right at your fingertips. Keeping up-to-date could never be easier, could it? This chapter tackles the subject of installing and updating software, including the core system.
- Chapter 9 Grokking BSD
You cannot be a true BSD master until you grok the Unix mindset. How did the gurus become gurus? Is the true path still open? This chapter reveals some secrets of the masters and has a little fun along the way.
This book uses the following typographical conventions:
- Italic
Indicates new terms, URLs, email addresses, filenames, pathnames, and directories.
Constant width
Indicates commands, options, switches, variables, attributes, functions, user and group names, the contents of files, and the output from commands.
Constant width bold
In code examples, shows commands or other text that should be typed literally by the user.
Constant width italic
Shows text that should be replaced with user-supplied values.
- Color
The second color is used to indicate a cross-reference within the text.
The thermometer icons, found next to each hack, indicate the relative complexity of the hack:
This book is here to help you get your job done. In general, you may use the code in this book in your programs and documentation. You do not need to contact us for permission unless youâre reproducing a significant portion of the code. For example, writing a program that uses several chunks of code from this book does not require permission. Selling or distributing a CD-ROM of examples from OâReilly books does require permission. Answering a question by citing this book and quoting example code does not require permission. Incorporating a significant amount of example code from this book into your productâs documentation does require permission.
We appreciate, but do not require, attribution. An attribution usually includes the title, author, publisher, and ISBN, for example: "BSD Hacks by Dru Lavigne. Copyright 2004 OâReilly Media, Inc., 0-596-00679-9.â
If you feel your use of code examples falls outside fair use or the permission given here, feel free to contact us at permissions@oreilly.com.
Please address comments and questions concerning this book to the publisher:
OâReilly Media, Inc. |
1005 Gravenstein Highway North |
Sebastopol, CA 95472 |
(800) 998-9938 (in the United States or Canada) |
(707) 829-0515 (international or local) |
(707) 829-0104 (fax) |
We have a web page for this book, where we list errata, examples, and any additional information. You can access this page at:
http://www.oreilly.com/catalog/bsdhks |
To comment or ask technical questions about this book, send email to:
bookquestions@oreilly.com |
For more information about our books, conferences, Resource Centers, and the OâReilly Network, see our web site at:
http://www.oreilly.com/ |
Get BSD Hacks now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.