Ubuntu Server and Desktop Essentials
Linux Training Architect II in Content
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: https://interactive.linuxacademy.com/diagrams/UbuntuServerandDesktopEssentials.html
Ubuntu Server and Desktop Essentials
Introduction to this Course
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
Just a short video about your trainer for this course.
A Short History of Ubuntu
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
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
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.
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.
Downloading Install Media
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
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
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
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
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.
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.
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.
Introduction to the Ubuntu Server
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.
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
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.
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
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
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)
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.
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!