Quick Links

Installing software works differently on Linux. Instead of visiting a website, you'll usually need to grab the software from your Linux distribution's software repositories with its package manager. This sounds complicated, but is actually simpler than installing software on Windows.

A typical Linux distribution's software installation system has a lot in common with an app store. There's one place you go to to install most of your software and software updates arrive in one consistent way.

Install Software From Your Distribution's Repositories

Related: How Software Installation & Package Managers Work On Linux

Most of the software you'll want to install on your Linux distribution is available in its software repositories. Your Linux distribution likely provides a nice graphical frontend for this system. Select your desired package and your package manager will automatically download the package, grab any other software packages it requires, and install them all.

On Ubuntu, the included package manager is the Ubuntu Software Center -- look for the orange shopping bag icon on your dock. Use this interface to search for packages and install them. You can search for a type of application like "video player" or a specific application name like "VLC." Click the download button, enter your password, and the package manager will do the rest.

ubuntu-software-repositories

Each Linux distribution has its own software repositories and package manager, but practically all Linux distributions use a software repository system that works this way. For example, on Linux Mint, you'd use the Software Manager application instead.

linux-mint-software-manager

The pretty graphical interface is just a front-end to the real package manager, which you can access in other ways. For example, you can install packages from the terminal with the apt-get command on Ubuntu. The graphical interface and terminal command accomplish the same thing.

Install Proprietary Software

Related: How to Install Software From Outside Ubuntu's Software Repositories

Some programs aren't located in your Linux distribution's software repositories. This includes popular proprietary programs like Google Chrome, Skype, Steam, and Opera. Your Linux distribution generally doesn't have the license to redistribute this software, so you have to get it from the source.

To download software like this ,visit the project's official website and click the Download button. You'll generally see a page pointing you to various Linux download links. For example, here's the Skype for Linux download page.

You'll be prompted to choose the appropriate package for your Linux distribution. You should choose the package that matches your Linux distribution as closely as possible. For example, Skype offers an "Ubuntu 12.04 (multiarch)" package. It's the most recent version number in the list, so it's the ideal package to use on Ubuntu 14.04.

skype-for-linux-package-types

Different distributions use different types of packages with different file extensions. Ubuntu, Linux Mint, Debian, and similar distributions use Deb packages with the .deb file extension. Fedora, Red Hat, openSUSE, and some other distributions use .rpm packages.

Just double-click the downloaded package and it should open in a package installer that will handle all the dirty work for you. For example, you'd double-click a downloaded .deb file, click Install, and enter your password to install a downloaded package on Ubuntu.

install-deb-file-on-ubuntu

Downloaded packages can also be installed in other ways. For example, you could use the dpkg -I command to install packages from the terminal in Ubuntu. The graphical tool is the easiest.

More Ways to Install Software

The two methods above are the basics every Linux user needs to know. With these tips, you can install most -- if not all -- the software you'll need. But here are some other ways to install software on Linux:

Use Third-Party Repositories: Anyone can create their own software repositories, package software, and distribute it from there. You may sometimes want to use a third-party repository to install software you just can't get in your Linux distribution's repositories. For example, Ubuntu makes it fairly easy to set up "personal package archives" (PPAs). You can add these PPAs to your package manager and the packages in the PPA will appear in the Ubuntu Software Center and other package management interfaces. It's a common way to get packages that aren't yet in your Linux distribution's official repositories.

ubuntu-add-ppa

Unpack a Binary Archive: Some Linux software is distributed in precompiled form designed to run on any Linux distribution without installation. For example, the "Dynamic" download Skype offers is a .tar.bz2 file. This is just an archive, like a ZIP file -- you'd extract it to a folder on your computer and double-click the executable inside it to run it. Mozilla also offers downloads of the latest version of Firefox in .tar.bz2 form, so you can download and run it without any installation -- just unpack the archive to a folder anywhere you like and double-click the firefox file inside it. You should prefer software in packaged form for better compatibility with your system and easier updating.

linux-run-program-from-.tar.bz2

Related: How To Compile and Install from Source on Ubuntu

Compile From Source: Typical Linux users shouldn't need to compile and install software from source anymore. All the software you want should be available in packaged form. That said, most Linux software projects distribute their software in source-code form and leave Linux distributions in charge of packaging and distributing it to you. If your Linux distribution doesn't have a package you want or doesn't have the latest version of a package you need, you can compile it from source. Compiling from source isn't something average Linux desktop users should do, but it's also not as hard as it may sound.

Related: 4+ Ways to Run Windows Software on Linux

Install Windows Software: Windows software doesn't run natively on Linux. There are several ways to install and run Windows software on Linux, including the Wine compatibility layer (which isn't perfect) and by installing Windows itself in a virtual machine (which adds a lot of overhead.) Use Linux software if possible. These solutions are designed for running that app you just can't live with out -- for example, to watch Netflix on Linux or run Microsoft Office on Linux -- but you'll have a much better, more stable experience with native Linux software.

office-on-linux-file-dialog[4]

Your package manager regularly checks its software repositories for new versions of packages and its updater appears when new versions are available. (This is the Update Manager application on Ubuntu.) This is how all the software on your system can update from one place.

When you install a third-party package, it may also install its own software repository for easier updating. For example, Google Chrome installs files pointing to the official Google Chrome repository when you install it on Ubuntu. When new versions of Chrome are released, they'll appear in the Update Manger application along with all the other updates. Every application doesn't need its own integrated updater, as they do on Windows.

Linux Commands

Files

tar · pv · cat · tac · chmod · grep ·  diff · sed · ar · man · pushd · popd · fsck · testdisk · seq · fd · pandoc · cd · $PATH · awk · join · jq · fold · uniq · journalctl · tail · stat · ls · fstab · echo · less · chgrp · chown · rev · look · strings · type · rename · zip · unzip · mount · umount · install · fdisk · mkfs · rm · rmdir · rsync · df · gpg · vi · nano · mkdir · du · ln · patch · convert · rclone · shred · srm · scp · gzip · chattr · cut · find · umask · wc · tr

Processes

alias · screen · top · nice · renice · progress · strace · systemd · tmux · chsh · history · at · batch · free · which · dmesg · chfn · usermod · ps · chroot · xargs · tty · pinky · lsof · vmstat · timeout · wall · yes · kill · sleep · sudo · su · time · groupadd · usermod · groups · lshw · shutdown · reboot · halt · poweroff · passwd · lscpu · crontab · date · bg · fg · pidof · nohup · pmap

Networking

netstat · ping · traceroute · ip · ss · whois · fail2ban · bmon · dig · finger · nmap · ftp · curl · wget · who · whoami · w · iptables · ssh-keygen · ufw · arping · firewalld

RELATED: Best Linux Laptops for Developers and Enthusiasts