Operation Manual
Chapter 2: Linux System Administration
The majority of modern Linux distributions are user-friendly, with a graphical user interface (GUI) that provides an easy way to
perform common tasks. It is, however, quite different to both Windows and OS X, so if you’re going to get the most out of your
Raspberry Pi, you’ll need a quick primer in using the operating system.
Linux: An Overview
As briefly explained in Chapter 1, “Meet the Raspberry Pi”, Linux is an open-source project which was originally founded to
produce a kernel that would be free for anyone to use. The kernel is the heart of an operating system, and handles the
communication between the user and the hardware.
Although only the kernel itself is rightly called Linux, the term is often used to refer to a collection of different open-source
projects from a variety of companies. These collections come together to form different flavours of Linux, known as distributions.
The original version of Linux was combined with a collection of tools created by a group called GNU. The resulting system,
known as GNU/Linux, was basic but powerful. Unlike other operating systems of the era, it offered facilities like multiple user
accounts where several users can share a single computer. That’s something rival closed-source operating systems have taken on
board, with both Windows and OS X now supporting multiple user accounts on the same system. It’s also still present in Linux,
and provides security and protection for the operating system.
In Linux, you’ll spend most of your time running a restricted user account. This doesn’t mean you’re being limited in what you
can do. Instead, it prevents you from accidentally doing something that will break the software on your Raspberry Pi. It also
prevents viruses and other malware from infecting the system by locking down access to critical system files and directories.
Before you can get started, it’s worth becoming familiar with some of the terms and concepts used in the world of Linux, as
defined in Table 2-1. Even if you’re experienced with other operating systems, it’s a good idea to review this table before
booting up your Pi for the first time.
The Terminal and the GUI
As in OS X and Windows, there are typically two main ways to achieve a given goal in Linux: through the graphical user interface (GUI) and through the
command line (known in Linux parlance as the console or the terminal).
The appearance of various Linux distributions can be quite different, depending on the desktop environment in use. In this book, the recommended Debian
distribution is used, but most of the commands you will be learning are entered at the terminal and are typically the same across all distributions.
Where other distributions differ, you will be given alternative methods of achieving the same goals.
Table 2.1 The Quick Linux Glossary
Term/Concept Definition
Bash The most popular shell choice, used in the majority of Linux distributions.
Bootloader Software responsible for loading the Linux kernel. The most common is GRUB.
Console A version of the terminal which is always available, and the first thing you see on the Pi.
Desktop environment Software to make the GUI look pretty. GNOME and KDE are popular desktop environments.
Directory The Linux term for what Windows calls folders, where files are stored.
Distribution A particular version of Linux. Fedora Remix, Arch and Debian are distributions.
Executable A file that can be run as a program. Linux files must be marked executable in order to run.
EXT2/3/4 The EXTended file system, the most common format used in Linux.
File system The way a hard drive or other storage device is formatted so it’s ready for file storage.
GNOME One of the most common Linux desktop environments around.
GNU A free software project, which provides many of the tools used in Linux distributions.
GRUB The GRand Unified Bootloader, created by GNU and used to load the Linux kernel.
GUI A graphical user interface, in which the user operates the computer via a mouse or touch.
KDE Another extremely popular Linux desktop environment.
Linux Properly, the kernel used by GNU/Linux. Popularly, an open-source operating system.
Live CD A Linux distribution provided as a CD or DVD, which doesn’t require installation.