0Pricing
Linux Command Line Mastery · Lesson

Package Management (Debian/Ubuntu): `apt`, `dpkg`

Learn to manage software packages on Debian-based systems using `apt` and `dpkg`.

Package Management (Debian/Ubuntu): `apt`, `dpkg` is a free Linux Command Line Mastery lesson on CoddyKit — lesson 2 of 4. You can read the complete lesson below for free — then practise it hands-on in the browser with a built-in code editor and a 24/7 AI tutor. It is part of the Linux Command Line Mastery learning path, one of 4 lessons in the course, and your progress syncs across the web and the CoddyKit app.

Intro to Package Management

Welcome to package management! On Linux, software comes in packages. These are archives containing program files, documentation, and metadata.

A package manager is a tool that automates the installation, upgrade, configuration, and removal of software. It handles dependencies, ensuring all necessary components are installed.

`dpkg`: The Core Tool

On Debian-based systems (like Ubuntu), the fundamental tool for managing packages is dpkg. It's a low-level tool that directly interacts with .deb files (Debian package files).

  • dpkg installs, removes, and manages individual .deb packages.
  • It does NOT automatically handle dependencies. If a package needs others, you must install them yourself.

Installing with `dpkg`

To install a .deb file you've downloaded, you use the -i (or --install) option with dpkg.

Remember, if the package has dependencies, dpkg will warn you and the installation might fail or be incomplete until those dependencies are met.

sudo dpkg -i /path/to/your-package.deb

Listing `dpkg` Packages

You can query dpkg to see information about installed packages. The -l (or --list) option shows all installed packages.

You can pipe its output to grep to search for specific packages.

dpkg -l | grep firefox

`apt`: The Smarter Manager

While dpkg handles individual .deb files, apt (Advanced Package Tool) is the user-friendly, high-level front-end. It works with repositories (servers holding many packages).

apt automatically handles dependencies, fetches packages from repositories, and simplifies system-wide updates.

Syncing with `apt update`

Before installing or upgrading, you should always run apt update. This command downloads the latest package information from the configured repositories.

It does NOT install new software or update existing ones, it only updates the list of what's available.

sudo apt update

Installing Apps with `apt install`

To install new software from the repositories, use apt install followed by the package name. apt will resolve and install all necessary dependencies.

You'll be prompted to confirm the installation before it proceeds.

sudo apt install htop

Upgrading Your System

To upgrade all installed packages to their latest available versions (based on your updated package lists), use apt upgrade.

This is crucial for security updates and new features. It's a good practice to run apt update before apt upgrade.

sudo apt upgrade

Removing Packages

When you no longer need a package, you can remove it using apt remove or apt purge.

  • apt remove package_name: Deletes the package but keeps its configuration files.
  • apt purge package_name: Deletes the package AND its configuration files, for a cleaner uninstall.
sudo apt remove libreoffice-writer

Package Management Quiz

You've learned about the two main package management tools on Debian-based systems. Let's test your understanding!

Summary: `apt` & `dpkg`

Great job! You've learned about Debian's powerful package management system:

  • dpkg: The low-level tool for individual .deb files, without dependency resolution.
  • apt: The high-level, user-friendly tool for managing packages from repositories, handling dependencies automatically.

Key apt commands include update, install, upgrade, remove, and purge.

Frequently asked questions

Is the “Package Management (Debian/Ubuntu): `apt`, `dpkg`” lesson free?

Yes — the full text of “Package Management (Debian/Ubuntu): `apt`, `dpkg`” is free to read here on the web, and the Linux Command Line Mastery course includes 4 lessons in total. To practise it interactively (a built-in code editor and a 24/7 AI tutor) and unlock the rest of the Linux Command Line Mastery course, upgrade to CoddyKit PRO.

What will I learn in “Package Management (Debian/Ubuntu): `apt`, `dpkg`”?

Learn to manage software packages on Debian-based systems using `apt` and `dpkg`. You practise Linux Command Line Mastery with hands-on code you run directly in the browser, and a 24/7 AI tutor answers your questions as you work through the lesson.

Do I need any experience to start Linux Command Line Mastery?

No prior experience is required. Linux Command Line Mastery on CoddyKit is structured for beginners through advanced learners; this is — lesson 2 of 4, so you can start here or from the beginning and move at your own pace.

How long does the “Package Management (Debian/Ubuntu): `apt`, `dpkg`” lesson take?

Most CoddyKit lessons take about 5–10 minutes. Each one is bite-sized and interactive, so you make steady progress and pick up exactly where you left off across the web and the app.

Can I write and run code in this Linux Command Line Mastery lesson?

Yes. Every Linux Command Line Mastery lesson includes a built-in code editor, so you write and run real code right in your browser and get instant AI feedback — no local setup required.

All lessons in this course

  1. Archiving and Compression: `tar`, `gzip`, `bzip2`
  2. Package Management (Debian/Ubuntu): `apt`, `dpkg`
  3. Package Management (CentOS/Fedora): `yum`, `dnf`, `rpm`
  4. Building from Source: configure, make, and make install
← Back to Linux Command Line Mastery