Skip to main content

Ubuntu Server and Desktop Essentials


Intro Video

Photo of Kenny Armstrong

Kenny Armstrong

Linux Training Architect II in Content

Kenny first encountered Solaris UNIX while I was in the military, and found out about Linux through the grapevine. He has worked with Linux in local government, fortune 500 companies, educational institutions, and by providing training. I have received Linux certifications from LPI, CompTIA, and Red Hat. Kenny has been working with Linux for nearly two decades and is passionate about sharing his knowledge with others about the system, and strives to learn more about the operating system every day.







Hands-on Labs


Course Details

This course offers an introduction to the Ubuntu Linux distribution. We will brieflly describe the history of this popular software collection, and an overview of the different offerings of Ubuntu. We will also look at some basic administrative tasks, as well as some of the popular desktop software that comes with a standard Ubuntu installation. If you have heard of Ubuntu, but were unsure of where to start, try this course out to find out what this operating system is all about.

Interactive Diagram:


Ubuntu Server and Desktop Essentials

Course Introduction

Introduction to this Course


Lesson Description:

This is our introduciton to this course. We will briefly lay out what the course is about, and look at some prerequisites that might be handy to have under your belt (like the LPI Linux Essentials course, or an equivalent) ahead of time. Remember that, just like many of the other Linux Academy courses, there are hands-on labs and flashcards available, to help cement what you learn.

About the Trainer


Lesson Description:

Just a short video about your trainer for this course.

Ubuntu Background

A Short History of Ubuntu


Lesson Description:

This lesson will introduce Ubuntu by first looking at its history and its creator, Mark Shuttleworth. We will also breifly highlight the project's Debian origins as well.

Various "Flavours" of Ubuntu


Lesson Description:

This lesson will introduce you to the official "flavors" of Ubuntu. These are distributions (called "spins") that offer different desktop environments and default software installations for particular needs. We will briefly discuss each one, and show you how you can find out more about them.

Ubuntu Release Cycles


Lesson Description:

In this lesson, we will look at the history of the Ubuntu release cycle, and how it has changed (ever so slightly) today. We will explore where the release names come from, and once more illustrate how Ubuntu relies on the Debian Linux distribution.

Canonical Support


Lesson Description:

This lesson will highlight some of what Canonical offers in the way of support. We will look at their professional support services for Ubuntu, Kubernetes, OpenStack, and a plethora of other services. The aim of this lesson is to show that Canonical provides expertise in not just Ubuntu, but in many cloud and data center technologies as well.

Ubuntu Desktop

Downloading Install Media


Lesson Description:

In this lesson, we will show you the various download options that are available for Ubuntu, and discuss some of their differences. We will also download the latest LTS release, and prepare for our first installation.

Graphical Installation with Ubiquity


Lesson Description:

In this lesson, we are going to first verify the checksum for the Ubuntu installation media that we downloaded in our previous lesson. Next, we will walk through a basic installatino of Ubuntu using the Ubiquity graphical installation tool for an Ubuntu desktop. We will see some of the features that can be configured at install time, and why you would want to use them.

Introduction to the Ubuntu Desktop


Lesson Description:

In this lesson, we are going to take a tour of our newly installed Ubuntu desktop. We will learn how to navigate within it, and look at some of the default applications that come with a standard Ubuntu installation. We will also look at the tools that we can use to modify our user account, and make some changes to our desktop experience.

Software Management - GUI Tools


Lesson Description:

In this lesson, we will look at the primary graphical tools used to manage software on an Ubuntu desktop. We will take a tour through the Ubuntu Software Center and learn how to manage applications from within it. We will also look at how we can configure other sources for us to get software from, and how to configure secure repositories for third-party vendors. We will also look at the classic Synaptic package manager, and find out how we can manage software from that utility.

Software Management - CLI Tools


Lesson Description:

Now that we know how to manage software installations using the graphical tools within Ubuntu, we're going to switch our focus to what's available as far as command line tools. The primary one that we will focus on is apt, the modern version of the Advanced Package Tool. We will see how we can add and remove software, update our systems, prevent newer versions of some packages from installing, add new repositories, and review the software that we have on our systems.

Ubuntu Snaps


Lesson Description:

Now we'll wrap up our lessons on software management by looking at Snap packages. Snaps are self-contained, portable applications that can be written and packaged up once, then used on multiple distributions of Linux. It is rapidly gaining ground as a method to run sandboxed applications with ease of management and maintenance. We will look at how to install snaps from the Snap Store, and manage our snaps from the command line. We will also discuss the security issues that you should be aware of when dealing with different types of snap packages.

Ubuntu Documentation


Lesson Description:

In this lecture, we take a look at some of the ways that we can access documentation for our Ubuntu installation, and for the software that it contains. We have documentation available to us online, and can install it locally if we want.

Ubuntu Server

Introduction to the Ubuntu Server


Lesson Description:

In this lesson, we will use the new Subiquity installer to set up a new, basic, Ubuntu server installation. We will walk through the process, and note the similarities between the server installation and the desktop installation with Ubiquity.

Network Configuration


Lesson Description:

In this lesson, we will look at how we can configure our network interfaces on Ubuntu server using netplan YAML files. With these, all we need to do is create our network configuration settings, specify a renderer for the backend network service, and off we go. We will look at setting up a brand new interface using both DHCP and static IP settings, and then change it from the default systemd-networkd backend to the NetworkManager backend.

The Uncomplicated Firewall


Lesson Description:

This lesson will show how we can use the Uncomplicated Firewall (ufw) to set up a basic, host-based firewall. ufw is a very easy to use front-end for the iptables command and netfilter system. We will walk through the process of setting up the firewall, viewing its basic policies, and adding and removing firewall rules based on ports, protocols, and application names. We will also demonstrate how to set a firewall back to its default state, and explore logging through ufw.



Lesson Description:

In this lesson, we are going to take a look at the basic features of AppArmor, a mandatory access control system that keeps an application from touching files and services that it should not have access to. We will look at how we can view the AppArmor status of our system, read some information from the profile configuration files for applications, and also see how to enable and disable protection for an application.

Installing a Basic Web Server


Lesson Description:

In this lesson, we will learn how to install the Apache web server in a basic configuration. We will use a console browser to test our site, and look at how we can further secure the web server using AppArmor. Once more, we will use ufw on the server to allow remote access to the web site.

Single Kubernetes node with MicroK8s


Lesson Description:

In this lesson, we will learn how to install the MicroK8s snap package from Canonical's Snap store. This process simplifies the effort needed to set up a simple, single-node Kubernetes cluster for a workstation or server. This environment is designed for developers and testers of Kuberntes containers. We will show you how to install this snap package, start it up, and enable the add-ons necessary to deploy a local Kubernetes dashboard.

ZFS on Linux (ZoL)


Lesson Description:

Note: You should already have a good grasp on creating partitions and filesystems within Linux before tackling this topic. ZFS is steadily growing in popularity and use within the Linux community. Canonical has taken the upstream Debian packages for ZFS on Linux (ZoL) and applied some extra tooling so that future versions of Ubuntu will be able to better leverage this robust filesystem. In this lesson, we will discuss the ZFS filesystem and volume manager, looking at how we can install it on our Ubuntu 18.04 LTS system, and set up a basic mirror configuration. We will also apply compression and duplication to the file system, to allow for data resiliency.

Course Conclusion

What's Next?


Lesson Description:

Congratulations! You made it to the end of the course! We will briefly discuss some of the other training opportunities here at Linux Academy, as well as reminding you how you can reach out to us via our online community and support desk. Thank you for your time!

Take this course and learn a new skill today.

Transform your learning with our all access plan.

Start 7-Day Free Trial