Background Information and Resources

As with any new thing, finding out a bit about its history is worthwhile. Ubuntu is no different, and in this tutorial you learn a little more about where Linux and Ubuntu came from. In addition, this tutorial gives you resources to help you learn more on your own.

What Is Linux?

Linux is the core, or kernel, of a free operating system first developed and released to the world by Linus Benedict Torvalds in 1991. Torvalds, then a graduate student at the University of Helsinki, Finland, is now a Fellow at the Linux Foundation (www.linuxfoundation.org). He is an engineer and previously worked for the CPU design and fabrication company Transmeta, Inc., before leaving in 2003 to work for Open Source Development Labs (ODSL), a consortium created by many high-tech companies to support Linux development, which has enabled him to focus on the Linux kernel full time. Fortunately for all Linux users, Torvalds chose to distribute Linux under a free software license called the GNU General Public License (GPL).

NOTE
The free online resource Wikipedia has a great biography of Linus Torvalds that examines his life and notable achievements. You can find it at https://en.wikipedia.org/wiki/Linus_Torvalds.

The GNU GPL is the brainchild of Richard M. Stallman, the founder of the Free Software Foundation. Stallman, the famous author of the emacs editing environment and GCC compiler system, crafted the GPL to ensure that software that used the GPL for licensing would always be free and available in source-code form. The GPL is the guiding document for Linux and its ownership, distribution, and copyright. Torvalds holds the rights to the Linux trademark, but thanks to a combination of his generosity, the Internet, thousands of programmers around the world, GNU software, and the GNU GPL, Linux will remain forever free and unencumbered by licensing or royalty issues.

DISTRIBUTION VERSION AND KERNEL NUMBERING SCHEMA
There is a numbering system for Linux kernels, kernel development, and Ubuntu’s kernel versions. Note that these numbers bear no relation to the version number of your Ubuntu Linux distribution. Ubuntu distribution version numbers are assigned by the Ubuntu developers, whereas most of the Linux kernel version numbers are assigned by Linus Torvalds and his legion of kernel developers.To see the date your Linux kernel was compiled, use the uname command with its -vcommand-line option. To see the version of your Linux kernel, use the -r option. The numbers, such as 4.14.0-22-generic, represent the major version (4), minor version (14), and patch level (0). The final number (22-generic) is the developer patch level and in our context is what is assigned by the Ubuntu developers.Even minor numbers are considered “stable” and fit for use in production environments. You will find only stable versions of the Linux kernel included in this article. You can choose to download and install a beta (test) version of the kernel, but doing so is not recommended for a system destined for everyday use. Developers use beta kernels to test support of new hardware or operating system features.

Linux, pronounced “lih-nucks,” is free software. Combining the Linux kernel with GNU software tools—drivers, utilities, user interfaces, and other software such as the X.Org Foundation’s X Window System—creates a Linux distribution. There are many different Linux distributions from different vendors, but many derive from or closely mimic the Debian Linux distribution, on which Ubuntu is based.

NOTE
Debian lists several dozen other Linux distributions as being based on Debian Linux ( see debian dists).

While it is really the kernel itself that is most appropriately referred to as “Linux,” colloquial language uses the term to refer to more than just the kernel. Most people who say they “use Linux” are referring to, at a minimum, a suite of software that includes several things. We have listed some of the more necessary ones here, in the order in which they are loaded into your computer’s memory during the boot cycle, after your computer’s BIOS or UEFI firmware (which was included by the manufacturer of the motherboard and which runs from where it is stored on the motherboard) has run to get things started:

  • A boot loader, like GRUB2, which is described in Tutorial 1, “Installing Ubuntu and Post-Installation Configuration”
  • The Linux kernel, which is described in Tutorial 22, “Kernel and Module Management”
  • Daemons, which are background processes that the system runs to perform tasks like logging or listening for attempted network connections and so on; daemons may be more easily understood as programs that are not run or invoked directly by a user but that lie dormant until any of a specific set of conditions occurs
  • The shell, which is a command processor that most people know best because it is what they see when they log in to the terminal; the shell is described in Tutorial 14, “Automating Tasks and Shell Scripting”
  • Shell utilities, such as most of the commands in Tutorial 10, “Command-Line Beginner’s Class,” Tutorial 11, “Command-Line Master Class, Part 1,” and Tutorial 12, “Command-Line Master Class, Part 2”
  • A graphical server, such as the X server, which is described in Tutorial 3, “Foundations of the Linux GUI”
  • A desktop environment, such as GNOME, which is also described in Tutorial 3, and others such as those discussed in Tutorial 4, “Ubuntu Desktop Options”
  • Desktop software, such as web browsers, office suites, media players, games, and so on

A Linux distribution, like Ubuntu, collects all of these together, packages them, and makes them available to end users as a convenient set.

Why Use Linux?

Millions of clever computer users have been putting Linux to work for nearly 30 years. In recent years, many individuals, small office/home office (SOHO) users, businesses and corporations, colleges, nonprofits, and government agencies (local, state, and federal) in a number of countries have incorporated Linux with great success. And, today, Linux is being incorporated into many information service/information technology (IS/IT) environments as part of improvements in efficiency, security, and cost savings. Using Linux is a good idea for a number of reasons, including the following:

Linux provides an excellent return on investment (ROI)

There is little or no cost on a per-seat basis. Unlike commercial operating systems, Linux has no royalty or licensing fees, and a single Linux distribution on a CD-ROM or in a network shared folder can form the basis of an enterprise-wide software distribution, replete with applications and productivity software. Custom corporate CD-ROMs can be easily crafted, or network shares can be created to provide specific installs on enterprisewide hardware. This feature alone can save hundreds of thousands, if not millions, of dollars in IS/IT costs—all without the threat of a software audit from the commercial software monopoly or the need for licensing accounting and controls of base operating system installations.

Linux can be put to work on the desktop

Linux, in conjunction with its supporting graphical networking protocol and interface (the X Window System), has worked well as a consumer UNIX-like desktop operating system since the mid-1990s. The fact that UNIX is ready for the consumer desktop is clear as Apple’s macOS is a POSIX-compliant operating system built on top of the Apple-developed XNU kernel. XNU stands for “X is Not Unix,” which is amusing because Apple eventually sought and achieved UNIX 03 certification, making macOS (then Mac OS X) an official version of UNIX.

Linux can be put to work as a server platform

Linux is fast, secure, stable, scalable, and robust. The latest versions of the Linux kernel easily support multipleprocessor computers, large amounts of system memory, individual file sizes in excess of hundreds of gigabytes, a choice of modern journaling file systems, hundreds of process-monitoring and control utilities, and the (theoretical) capability to simultaneously support more than 4 billion users. IBM, Oracle, and other major database vendors all have versions of their enterprise software available for Linux.

Linux has a low entry-and-deployment cost barrier

Maintenance costs can also be reduced because Linux works well on a variety of PCs. Although the best program performance will be realized with newer hardware, base installs can even be performed on lower-end computers or embedded devices. This provides for a much wider user base, extends the life of older working hardware, and can help save money for home, small business, and corporate users.

Linux appeals to a wide audience in the hardware and software industry

Versions of Linux exist for nearly every CPU. Embedded-systems developers now turn to Linux when crafting custom solutions using ARM, MIPS, and other low-power processors on platforms such as Raspberry Pi. Linux is also available for Intel’s Itanium CPU, as well as the AMD64 group of CPUs.

Linux provides a royalty-free development platform for cross-platform development

Because of the open source development model and availability of free, high-quality development tools, Linux provides a low-cost entry point to budding developers and tech industry startups.

Big-player support in the computer hardware industry from such titans as IBM now lends credibility to Linux as a viable platform

IBM has enabled Linux on the company’s entire line of computers, from low-end laptops to “big iron” mainframes. New corporate customers are using Linux as part of enterprise-level computing solutions. It has been used on some of the world’s fastest computers. Companies like HP and Dell also certify Linux across a large portion of their hardware offerings.

Look forward to even more support as Linux usage spreads worldwide throughout all levels of businesses in search of lower costs, better performance, and stable and secure implementations.

What Is Ubuntu?

Ubuntu is an operating system based on the Linux kernel, created, improved, refined, and distributed by the Ubuntu Community at www.ubuntu.com. Sponsored by Canonical Ltd. (www.canonical.com), Ubuntu is an open source project supported by a worldwide community of software developers.

Ubuntu released its first version in October 2004. It quickly gained a reputation for ease of installation and use, combined with the slightly wacky code names given to each release. However, Ubuntu itself is based on Debian, which is a much older distribution, well-respected by the wider Linux community. Debian is the rock on which Ubuntu is founded.

Sponsored by Canonical Software and with the formidable resources of Mark Shuttleworth, Ubuntu got off to a great start with version 4.10, the Warty Warthog. From the start, Ubuntu specified clear goals: to provide a distribution that was easy to install and use, that did not overly confuse the user, and that came on a single CD (now one DVD image). Releasing every six months, Ubuntu made rapid progress into the Linux community and is now one of the most popular Linux distros in the world.

UBUNTU VERSION NUMBERS

As mentioned earlier, Ubuntu has chosen a unique numbering scheme and some peculiar code names for releases since the first launch in October 2004. Doing away with the typical version numbering found elsewhere, Ubuntu decided to take the month and year of release and reverse them. Hence, the first release in October 2004 became 4.10, followed quickly by 5.04 (April 2005), 5.10, 6.06LTS, and so on up to the current 20.04.

The version covered in this article was released in April 2020 and therefore bears the version number 20.04. What’s even more special about some releases is that they also carry the LTS (long-term support): Canonical will support LTS versions for three years on the desktop version and a total of five years for the server version after its release. LTS releases come out every two years, and the most recent LTS version is 20.04.

The code names during development are even better: 4.10 was christened the Warty Warthog, in recognition of the fact that it was a first release, warts and all. The second release, 5.04, was dubbed the Hoary Hedgehog. Things got slightly better with 5.10, codenamed the Breezy Badger. 6.06 was announced as the Dapper Drake and was the first Ubuntu distribution to carry the LTS badge. Beyond Dapper, there was the Edgy Eft (6.10) followed by the Feisty Fawn (7.04), and more. For a full list of development code names, see wiki ubuntu.


Ubuntu for Business

Linux has matured over the years. It includes all the essential features for use in enterpriselevel environments, such as CPU architecture support, file systems, and memory handling. Linux provides the foundation for cloud computing, containers, and even Android.

Small business owners can earn great rewards by stepping off the software licensing and upgrade treadmill and adopting a Linux-based solution. A business using Ubuntu not only avoids the need for licensing accounting and the threat of software audits but also has viable alternatives to many types of commercial productivity software, often for free.

Using Ubuntu in a small business setting makes a lot of sense for other reasons, too, such as not having to invest in cutting-edge hardware to set up a productive shop. Ubuntu easily supports older, or legacy, hardware, and savings are compounded over time by avoiding unnecessary hardware upgrades. Additional savings will be realized because OS software and upgrades are free. New versions of applications can be downloaded and installed at little or no cost, and office suite software is free.

Ubuntu is easy to install on a network and plays well with others, meaning it works well in a mixed-computing situation with other operating systems such as Windows, macOS, and of course, UNIX. A simple Ubuntu server can be put to work as an initial partial solution or made to mimic file, mail, or print servers of other operating systems. Clerical staff should quickly adapt to using familiar Internet and productivity tools, while your business gets the additional benefits of stability, security, and a virus-free computing platform.

By carefully allocating monies spent on server hardware, a productive and efficient multiuser system can be built for much less than the cost of comparable commercial software. Combine these benefits with support for laptops, mobile devices, and remote access, and you will find that Ubuntu supports the creation and use of an inexpensive yet efficient work environment.

Ubuntu in Your Home

Ubuntu installs a special set of preselected software packages onto your hard drive. These packages, which are suitable for small office/home office (SOHO) users, provide a wealth of productivity tools for document management, printing, communication, and personal productivity.

The standard installation requires only a small amount of drive space. Despite the small footprint, the install also contains administrative tools, additional authoring and publishing clients, a variety of editors, a lovely desktop, and much more.

Getting the Most from Linux and Ubuntu Documentation

You can find links to Ubuntu documentation at www.ubuntu.com.

You will find traditional Linux software package documentation, such as manual pages, under the /usr/share/man directory, with documentation for each installed software package under /usr/share/doc.

Linux

Linux manual pages are compressed text files that contain succinct information about how to use a program. Each manual page generally provides a short summary of a command’s use, a synopsis of command-line options, an explanation of the command’s purpose, potential caveats or bugs, the name of the author, and a list of related configuration files and programs.

For example, you can learn how to read manual pages by using the man command to display its own manual page, as follows:

 matthew@seymour:~$ man

After you press Enter, a page of text appears on the screen or in your window on the desktop. You can scroll through the information by using your keyboard’s cursor keys, read, and then press the Q key to quit reading.

Many of the software packages also include separate documents known as HOWTOs that contain information regarding specific subjects or software. With a HOWTO document that is a simple text file in compressed form (with a filename ending in .gz), you can easily read the document by using the zless command, which is a text pager that enables you to scroll back and forth through documents. (Use the less command to read plaintext files.) You can start the command by using less, followed by the complete directory specification and name of the file, or pathname, like this:

 matthew@seymour:~$  less /usr/share/doc/httpd-2.0.50/README

To read a compressed version of this file, use the zless command in the same way:

 matthew@seymour:~$  zless /usr/share/doc/attr-2.4.1/CHANGES.gz

After you press Enter, you can scroll through the document using your cursor keys. Press the Q key to quit.

With a HOWTO document in HTML format, you can simply read the information using a web browser, such as Firefox. If you are reading from a console, you can use the links or Lynx text-only web browsers, like this:

 matthew@seymour:~$  links /usr/share/doc/stunnel-4.0.5/stunnel.html

The links browser offers drop-down menus, accessed by clicking at the top of the screen. You can also press the Q key to quit.

With documentation in PostScript format (with filenames ending in .ps), you can use the gv client to read or view the document, like this:

 matthew@seymour:~$  gv /usr/share/doc/iproute-2.4.7/ip-crefs.ps

Finally, if you want to read a document in Portable Document Format (with a filename ending in .pdf), use the evince client, as follows:

 matthew@seymour:~$  evince /usr/share/doc/xfig/xfig-howto.pdf
NOTE

This article was developed and written using software from Ubuntu. You can download your own copy, available as ISO9660 images (with filenames ending in .iso), and burn it onto a DVD or create a bootable USB stick.

Along with the full distribution, you get access to the complete source code for the Linux kernel and source for all software in the distribution—more than 55 million lines of C and nearly 5 million lines of C++ code. Browse to www.ubuntu.com/download/ to get started.


Ubuntu

The best place to start for Ubuntu-specific information is at Ubuntu-focused websites. Where better to start than the main website for the distribution and the official web forums? Although these are not the only official Ubuntu resources, they are likely to be immediately useful. You can easily find others under the Support tab on the Ubuntu.com website: