ubuntu installer package

If you recently got into Linux, a lot of things will be different from your previous platform and you may feel lost. This is normal as Linux has a bit of a learning curve. You’ll get more comfortable as you learn the fundamentals of the new system, one of which is installing and managing packages.

Packages are basically a collection of files bundled together to constitute a program. They’re normally installed from repositories, which are locations for storing packages. The official Ubuntu repositories, or repos, rank among the largest with over 60,000 packages.

You’ll most commonly use the apt package manager to install .deb packages. But there are other packaging formats and install methods like snap, flatpak, appimages, etc. too. We’ll cover all such topics in this article.

Apt

Advanced Packaging Tool (APT) is the main package manager on Ubuntu. Before installing packages with apt, you’ll want to update your package index. This will ensure you download the latest version of the package from the official repos.

sudo apt update

To install packages, all you need to do is specify the package name like so

sudo apt install flameshot

Some packages will have long/complicated names, or there may be multiple packages with similar names. So, how can you confirm that you’re about to install the correct package?

First of all, you’ll want to use keywords to search through the available packages. There are numerous ways to do this, but the easiest is apt search.

apt search flameshot

After listing the relevant packages, you can get more detailed info on a specific one using apt policy or apt show.

apt policy flameshot
apt show flameshot

The update command mentioned earlier only updates the information regarding which versions of packages are available in the repos. To actually download and install available updates, you have to use the upgrade command.

sudo apt upgrade

Finally, if you want to uninstall a package, you can use the remove command.

sudo apt remove flameshot

Note: By default, you can only install packages from the Main repository (Canonical-supported software). But Ubuntu has other repositories with a ton of useful packages too.

In order to install packages from these repos, you’ll need to enable them first or you won’t find the packages.

sudo add-apt-repository universe
sudo add-apt-repository multiverse
sudo add-apt-repository restricted

Snap

While apt is used on pretty much all Debian-based distros, snap is a package management system mostly used on Ubuntu. There are various technical differences between .deb packages and snaps, such as snaps being containerized with all necessary dependencies.

These have both good and bad implications for the end user. Some snaps are larger in size, slower to launch at first, and sometimes unstable. On the other hand, some programs are only available as snaps, and snaps also auto-update which is convenient.

It’s similar to apt in terms of command-line usage. You can search for packages using keywords like so

snap search discord

You can get detailed info on a specific snap with the info command.

snap info discord

You can install a snap by specifying the name.

snap install discord

You can list installed snaps like so

snap list

And finally, you can uninstall a specific snap with the remove command.

snap remove discord

Ubuntu Store

Linux may be a command-line-focused platform, but most distros do support GUI-based methods to get things done. The Software Center is the default graphical method for installing and managing packages on Ubuntu.

The packages here are generally installed from the Snap Store, but you can also change the source and install deb packages instead.

Additionally, you can manage installed packages from the Installed tab, or install available updates from the Updates tab.

Bonus Tip: If the Ubuntu Store feels limited, check out Synaptic. It’s a powerful but intuitive graphical package manager that lets you search, filter, install, and remove packages and much more.

sudo apt install synaptic

Local Install

A lot of popular programs are not included in the official repositories. There are various ways to install the programs in such cases, one of which is to get the .deb package directly from the developer.

These packages are portable and commonly used for installing programs offline. After downloading a package, you can install it by entering the full path like so

sudo apt install /home/anup/Downloads/discord-0.0.25.deb

Or, if the file is in the current directory, you can simply enter the filename like so

sudo apt install ./discord-0.0.25.deb

You can also install the deb file graphically. Simply right-click it and select Open With Another Application > Software Install.

If you have any third-party package installers like GDebi installed, you can use those as well.

Click on Install in the Software Center and enter your password for authentication.

PPA

Personal Package Archives (PPAs) are another way to distribute packages not found in the official repos. As the packages in the Ubuntu repos aren’t frequently updated, users also use PPAs to get the latest version of programs.

You can use the add-apt-repository script to add the PPA to your sources list first. For instance, let’s add the Mozilla Team PPA.

sudo add-apt-repository ppa:mozillateam/ppa

Now, update the package index to make the packages from this archive available via apt.

sudo apt update

Finally, you can install the packages from this PPA.

sudo apt install thunderbird

The official Mozilla PPA is obviously a reliable source, but sometimes you may want to add PPAs from fairly unknown devs. Just exercise a bit of caution when doing this as not all devs can be trusted equally.

AppImages

AppImages are a portable packaging format. Rather than installing programs, appimages come as a single file that can be made executable. You can use chmod to do this.

chmod a+x filename.AppImage

Or, you can right-click the appimage and select Properties. There, you can Allow executing the file as a program from the Permissions tab.

Then, you can double-click the appimage to run it, or launch it from the terminal like so

./filename.AppImage

Flatpak

As Ubuntu already has apt and snap, Flatpak isn’t that popular but it’s still used by a significant amount of users. It uses a central repository called Flathub from where you can install packages.

sudo apt install flatpak

You can search for these packages with the search command.

flatpak search brave

Then, you can install the package using the Name or Application ID.

flatpak install brave
flatpak install com.brave.Browser

You can check out further CLI options with the help command.

flatpak --help

Archived Packages

The most popular archiving format on Ubuntu is tarballs, but zip and rar files are also common. In order to install packages distributed in such formats, you’ll need to unarchive them first.

This is most easily done from the file explorer. Simply double-click or right-click the file and select Open With Archive Manager. Then, press Extract to extract the files.

To do the same from the terminal, you’ll need to use the appropriate command according to the file type.

  • To extract Tarballs, use tar vxf /file/path.
    tar vxf ~/Desktop/Tor/tor-browser.tar.xz
  • To extract Zip files, use unzip /file/path.
    unzip newarchive.zip
  • To extract Rar files, use rar x /file/path.
    rar x ~/Downloads/myarchive.rar

After extracting the files, you may find a .deb package, in which case you can install it as covered above.

Or you may find an AppImage or a .desktop file. In such cases, you can make it executable and run it directly, which we also covered earlier.

Finally, if the package provides an install script, you can go to the directory where it’s located, make it executable, and run it.

chmod a+x install.sh
./install.sh

Building From Source

Compiling a package from source is an advanced way to install packages with the exact build and features that you want.

The exact process is highly variable as some packages will have a ton of dependencies and possible config options while others will have minimal requirements or even an install script that handles everything for you.

You should refer to the package’s documentation on GitHub or the dev’s official site for instructions on building from source. Typically though, the process goes something like this.

You install the required dependencies such as build-essential.

sudo apt install build-essential

Then you clone or download the source code and navigate to the directory.

git clone https://github.com/gitrepo/package.git
cd cloned-directory

Then, you run the ./configure script to verify that the necessary dependencies are present in the system.

./configure

You can also customize your build at this point with the supported options. For instance, when installing PHP, you can enable the FPM module for this install like so.

./configure --enable-fpm

Most devs also include a command like ./configure --help for listing all the possible build options.

Finally, you’ll invoke the make and make install commands to build the program according to the instructions defined in the makefile.

make
sudo make install
Anup Thapa

Senior Writer

Anup Thapa is a Linux enthusiast with an extensive background in computer hardware and networking. His goal is to effectively communicate technical concepts in a simplified form understandable by new Linux users. To this end, he mainly writes beginner-friendly tutorials and troubleshooting guides. Outside of work, he enjoys reading up on a range of topics, traveling, working out, and MOBAs.