Debian GNU/Linux: Guide to Installation and Usage" by John Goerzen and Ossama Othman is part of the HackerNoon Books Series. You can jump to any chapter in this book here. Introduction
We’re glad to have this opportunity to introduce you to Debian! As we begin our journey down the road of GNU/Linux, we’d like to first talk a bit about what exactly Debian is—what it does, and how it fits in with the vast world of Free Software. Then, we talk a bit about the phenomenon that is Free Software and what it means for Debian and you. Finally, we close the chapter with a bit of information about this book itself.
Debian is a free operating system (OS) for your computer. An operating system is the set of basic programs and utilities that make your computer run. At the core of an operating system is the kernel. The kernel is the most fundamental program on the computer: It does all the basic housekeeping and lets you start other programs. Debian uses the Linux kernel, a completely free piece of software started by Linus Torvalds and supported by thousands of programmers worldwide. A large part of the basic tools that fill out the operating system come from the GNU Project[1], and these tools are also free.
[1] http://www.gnu.org/
Another facet of an operating system is application software: programs that help get work done, from editing documents to running a business to playing games to writing more software. Debian comes with more than 1,500 packages (precompiled software bundled up in a nice format for easy installation on your machine)—all for free.
The Debian system is a bit like a pyramid. At the base is Linux. On top of that are all the basic tools, mostly from GNU. Next is all the application software that you run on the computer; many of these are also from GNU. The Debian developers act as architects and coordinators—carefully organizing the system and fitting everything together into an integrated, stable operating system: Debian GNU/Linux.
The design philosophy of GNU/Linux is to distribute its functionality into small, multipurpose parts. That way, you can easily achieve new functionality and new features by combining the small parts (programs) in new ways. Debian is like an erector set: You can build all sorts of things with it.
When you’re using an operating system, you want to minimize the amount of work you put into getting your job done. Debian supplies many tools that can help, but only if you know what these tools do. Spending an hour trying to get something to work and then finally giving up isn’t very productive. This guide will teach you about the core tools that make up Debian: what tools to use in certain situations and how to tie these various tools together.
Debian is an all-volunteer Internet-based development project. There are hundreds of volunteers working on it. Most are in charge of a small number of software packages and are very familiar with the software they package.
These volunteers work together by following a strict set of guidelines governing how packages are assembled. These guidelines are developed cooperatively in discussions on Internet mailing lists.
As we mentioned earlier in section 1.1, the design of Debian GNU/Linux comes from the Unix operating system. Unlike common desktop operating systems such as DOS, Windows, and MacOS, GNU/Linux is usually found on large servers and multiuser systems.
This means that Debian has features those other operating systems lack. It allows a large number of people to use the same computer at once, as long as each user has his or her own terminal.[2] To permit many users to work at once, Debian must allow many programs and applications to run simultaneously. This feature is called multitasking.
[2] A terminal is just a keyboard and a screen that are connected to the computer through the network, over a modem, or directly. You keyboard and monitor form a terminal that is directly attached to the computer: This special terminal is often called the console.
Much of the power (and complexity) of GNU/Linux systems stems from these two features. For example, the system must have a way to keep users from accidentally deleting each other’s files. The operating system also must coordinate the many programs running at once to ensure that they don’t all use the same resource, such as a hard drive, at the same time.
If you keep in mind what Debian was originally designed to do, many aspects of it will make a lot more sense. You’ll learn to take advantage of the power of these features.
When Debian developers and users speak of “Free Software,” they refer to freedom rather than price. Debian is free in this sense: You are free to modify and redistribute it and will always have access to the source code for this purpose. The Debian Free Software Guidelines[3] describe in more detail exactly what is meant by “free.” The Free Software Foundation[4], originator of the GNU Project, is another excellent source of information. You can find a more detailed discussion of free software on the Debian web site[5]. One of the most well-known works in this field is Richard M. Stallman’s essay, Why Software Should Be Free[6]; take a look at it for some insight into why we support Free Software as we do. Recently, some people have started calling Free Software “Open Source Software”; the two terms are interchangable.
[3] http://www.debian.org/social_contract#guidelines
[4] http://www.fsf.org/
[5] http://www.debian.org/
[6] http://www.fsf.org/philosophy/shouldbefree.html
You may wonder why would people spend hours of their own time writing software and carefully packaging it, only to give it all away. The answers are as varied as the people who contribute.
Many believe in sharing information and having the freedom to cooperate with one another, and they feel that free software encourages this. A long tradition that upholds these values, sometimes called the Hacker[7] Ethic, started in the 1950s. The Debian GNU/Linux Project was founded based on these Free Software ethics of freedom, sharing, and cooperation.
[7] Note that the term “hacker” should not be confused with the term “cracker.” In short, a hacker is benevolent, whereas a cracker is generally considered malevolent. Movies and other forms of media many times incorrectly use the term “hacker” instead of “cracker.”
Others want to learn more about computers. More and more people are looking for ways to avoid the inflated price of proprietary software. A growing community contributes in appreciation for all the great free software they’ve received from others.
Many in academia create free software to help get the results of their research into wider use. Businesses help maintain free software so they can have a say in how it develops—there’s no quicker way to get a new feature than to implement it yourself or hire a consultant to do so! Business is also interested in greater reliability and the ability to choose between support vendors.
Still others see free software as a social good, democratizing access to information and preventing excessive centralization of the world’s information infrastructure. Of course, a lot of us just find it great fun.
Debian is so committed to free software that we thought it would be useful if it was formalized in a document of some sort. Our Social Contract[8] promises that Debian will always be 100% free software. When you install a package from the Debian main distribution, you can be sure it meets our Free Software Guidelines.
[8] http://www.debian.org/social_contract
Although Debian believes in free software, there are cases where people want to put proprietary software on their machine. Whenever possible Debian will support this; though proprietary software is not included in the main distribution, it is sometimes available on the FTP site in the non-free directory, and there is a growing number of packages whose sole job is to install proprietary software we are not allowed to distribute ourselves.
It is important to distinguish commercial software from proprietary software. Proprietary software is non-free software; commercial software is software sold for money. Debian permits commercial software, but not proprietary software, to be a part of the main distribution. Remember that the phrase “free software” does not refer to price; it is quite possible to sell free software. For more clarification of the terminology, see http://www.opensource.org/or http://www.fsf.org/philosophy/categories.html.
This book is aimed at readers who are new to Debian GNU/Linux. It assumes no prior knowledge of GNU/Linux or other Unix-like systems, but it does assume very basic general knowledge about computers and hardware; you should know what the basic parts of a computer are, and what one might use a computer to do.
In general, this tutorial tries to help you understand what happens inside a Debian system. The idea is to empower you to solve new problems and get the most out of your computer. Thus there’s plenty of theory and fun facts thrown in with the “How To” aspects of the manual.
We’d love to hear your comments about this book! You can reach the authors at [email protected]. We’re especially interested in whether it was helpful to you and how we could make it better. Whether you have a comment or think this book is the greatest thing since sliced bread, please send us e-mail.
Please do not send the authors technical questions about Debian, because there are other forums for that; see Appendix A on page [*] for more information on the documentation and getting help. Only send mail regarding the book itself to the above address.
The best way to learn about almost any computer program is by using it. Most people find that reading a book without using the program isn’t beneficial. The best way to learn about Unix and GNU/Linux is by using them. Use GNU/Linux for everything you can. Feel free to experiment!
Debian isn’t as intuitively obvious as some other operating systems. You will probably end up reading at least the first few chapters of this book. GNU/Linux’s power and complexity make it difficult to approach at first, but far more rewarding in the long run.
The suggested way to learn is to read a little, and then play a little. Keep playing until you’re comfortable with the concepts, and then start skipping around in the book. You’ll find a variety of topics are covered, some of which you might find interesting. After a while, you should feel confident enough to start using commands without knowing exactly what they do. This is a good thing.
Tip: If you ever mistakenly type a command or don’t know how to exit a program, press CTRL-c (the Ctrl key and the lowercase letter c pressed simultaneously). This will often stop the program.
Before going on, it’s important to be familiar with the typographical conventions used in this book.
When you should simultaneously hold down multiple keys, a notation like CTRL-a will be used. This means “press the Ctrl key and press lowercase letter a.” Some keyboards have both Alt and Meta; most home computers have only Alt, but the Alt key behaves like a Meta key. So if you have no Meta key, try the Alt key instead.
Keys like Alt and Meta are called modifier keys because they change the meaning of standard keys like the letter A. Sometimes you need to hold down more than one modifier; for example, Meta-Ctrl-a means to simultaneously press Meta, Ctrl, and lowercase a.
Some keys have a special notation—for example, Ret (Return/Enter), Del (Delete or sometimes Backspace), Esc (Escape). These should be fairly self-explanatory.
Spaces used instead of hyphens mean to press the keys in sequential order. For example, CTRL-a x RET means to simultaneously type Ctrl and lowercase a, followed by the letter x, followed by pressing Return. (On some keyboards, this key is labeled Enter. Same key, different name.)
In sample sessions, bold face text denotes characters typed by the user, italicized text denotes comments about a given part of the sample session, and all other text is output from entering a command. For shorter commands, you’ll sometimes find that the command can be found within other text, highlighed with a monospace font.
About HackerNoon Book Series: We bring you the most important technical, scientific, and insightful public domain books.
This book is part of the public domain. John Goerzen and Ossama Othman (2004). Debian GNU/Linux : Guide to Installation and Usage. Urbana, Illinois: Project Gutenberg. Retrieved https://www.gutenberg.org/cache/epub/6527/pg6527-images.html
This eBook is for the use of anyone anywhere at no cost and with almost no restrictions whatsoever. You may copy it, give it away or re-use it under the terms of the Project Gutenberg License included with this eBook or online at www.gutenberg.org, located at https://www.gutenberg.org/policy/license.html.