Skip to main content

Managing Packages on Debian and Ubuntu Systems

Hands-On Lab

 

Photo of

Training Architect

Length

00:15:00

Difficulty

Intermediate

Managing packages means managing what version of software is available on a Linux distribution. For Ubuntu/Debian Linux distributions, the high-level, apt, manages installation, upgrading, and removal automatically. Ubuntu/Debian-based distributions also utilize the low-level tool dpkg, which requires resolving dependencies manually. But it provides powerful overrides, queries, and the ability to reconfigure installed packages.

During this activity, we will work with apt to update, install, and remove packages, since it automatically manages packages required for dependencies. Then we will use the dpkg command to query information about installed packages and reconfigure one that is already installed. After completing this activity, we'll have a basic understanding of how manage software packages on Ubuntu/Debian systems.

What are Hands-On Labs?

Hands-On Labs are scenario-based learning environments where learners can practice without consequences. Don't compromise a system or waste money on expensive downloads. Practice real-world skills without the real-world risk, no assembly required.

Managing Packages on Debian and Ubuntu Systems

Introduction

Managing packages means managing what version of software is available on a Linux distribution. For Ubuntu/Debian Linux distributions, the high-level, apt, manages installation, upgrading, and removal automatically. Ubuntu/Debian-based distributions also utilize the low-level tool dpkg, which requires resolving dependencies manually. But it provides powerful overrides, queries, and the ability to reconfigure installed packages.

During this activity, we will work with apt to update, install, and remove packages, since it automatically manages packages required for dependencies. Then we will use the dpkg command to query information about installed packages and reconfigure one that is already installed. After completing this activity, we'll have a basic understanding of how manage software packages on Ubuntu/Debian systems.

The Scenario

We have been provided with the credentials and connection information for a new Ubuntu 18.04 LTS system. Our development team will be using it to do some basic web server testing, as an alternative to the CentOS 7 systems they are developing their API on. They will be doing most of the configuration, however, they have asked us to provision it to serve out basic web pages. We want to make sure that all software is updated on the system before we install new software.

Fortunately, we know that Ubuntu starts services (when appropriate) when we install packages. We have been asked to install the Apache web server on the system, using the default package management system. Before we turn the system over, we need to make sure the elinks package is installed. Once it is installed, use it to download the default web page from the Apache server we just installed, and use the elinks command to create a file called index.html in the root user's home directory.

Then we'll use the dpkg command to list the files in the apache2 package, and redirect that output to a file named apache2.files in our home directory. The system also requires an adjustment for the timezone. We have to set it to US Pacific using the dpkg-reconfigure.

Logging In

Once we're logged into the server, we might as well become root right away, since we'll need elevated privileges. Run sudo -i, and we can continue.

Clean the apt Cached Information, Retrieve Latest Information About Available Packages, and Upgrade the System Software

Use the apt command to clean, update and upgrade the system software:

apt clean
apt update
apt list --upgradeable
apt upgrade

Search for the apache http Package, Install It along with the elinks Package, and Use elinks to Dump the Home Page to /root/index.html

Use the apt command to find the apache http package. Install it, and then install elinks to verify operation of the server. Use elinks to output the http://localhost home page to /root/index.html

apt search 'apache http'
apt install apache2 elinks

To just see if the server is up, run this command:

elinks http://localhost

We should see a It works! page. Hit the q key to get back to a command line. Now lets dump that page's output to a text file:

elinks -dump http://localhost > index.html

Show Information about the tzdata Package and Reconfigure That Package

Use the dpkg command to show the information about the tzdata. Use dpkg-reconfigure to adjust the timezone to US/Pacific.

dpkg -s tzdata
dpkg-reconfigure tzdata

Once we run the reconfigure command, we'll be prompted with the tzdata package's configuration window, and we can set the correct time zone.

Conclusion

We're done. We managed to get Apache and Elinks installed on what will be a web server, then reconfigured a package so that the server is now showing as being in the proper time zone. We can hand this back over to the Dev team. Congratulations!