tbskit

Linux

Ubuntu: A Popular Linux Distribution for Beginners and Professionals

Ubuntu is a Debian-based Linux distribution for beginners and professionals alike. What LTS means, how Ubuntu Server works, and the commands worth knowing.

An open laptop on a wooden desk showing the Ubuntu desktop with an abstract purple wallpaper, next to a potted plant, a mug, a notebook, and a mouse.

Ubuntu is one of the most widely used Linux distributions in the world, and for many people it is the first real door into Linux — whether they are setting up a personal laptop or running a fleet of servers. It is built on Debian, maintained by Canonical together with its community, and it turns up everywhere from desktops to containers and cloud infrastructure.

This guide covers what Ubuntu actually is, how its release cadence works, which variants exist, and which commands are worth learning first. If the basics of Linux still feel unfamiliar, start with our Linux guide, which covers the kernel, distributions, and the terminal.

Ubuntu at a glance

  • What it is: a Debian-based Linux distribution developed by Canonical and its community.
  • Since when: first release in 2004; today one of the most common distributions on cloud servers.
  • Support: LTS releases ship every two years and are supported for five years, extendable further through Ubuntu Pro on certain versions.
  • Best for: beginners who want a working desktop, developers, and server administrators.
  • Fastest payoff: apt for packages, systemctl for services, and SSH for servers.

What is Ubuntu?

Ubuntu is a Linux-based operating system that uses Debian as its foundation and is developed by Canonical together with the open-source community. The name comes from a concept in Southern African culture related to humanity and community.

Like any other Linux distribution, Ubuntu is the Linux kernel plus a stack of software around it: system utilities, an init system, a package manager, a shell, and the applications on top. What makes Ubuntu distinct is not the kernel but its defaults, its release rhythm, and the support available around it.

Ubuntu is free to use, and most of its components are open source. Beyond the desktop, it is widely used for:

  • web, application, and database servers
  • cloud infrastructure and virtual machines
  • containers and Kubernetes clusters
  • IoT and embedded devices
  • software development environments
  • DevOps infrastructure

Compared with other distributions, Ubuntu sits in a distinctive spot: its packages are newer than Debian’s, but it remains far more predictable than a rolling release.

A short history

Ubuntu was first released in October 2004 by Canonical, the company founded by Mark Shuttleworth. The goal was explicit from the start: make Linux usable by ordinary people, with a graphical installer, sensible defaults, and a release schedule you can plan around.

From its first release, Ubuntu followed a six-month cadence, with new versions in April and October and version numbers built from year and month — 24.04 means April 2024. Each release also gets a codename combining an adjective and an animal, such as Noble Numbat for 24.04.

Two things made Ubuntu spread quickly: a desktop experience that was easier than most distributions of its time, and a close relationship with Debian as its source of packages.

Why Ubuntu is Debian-based

Debian is one of the oldest and most respected Linux distributions, known for stability and a strict release policy. Ubuntu builds on it: the .deb package format, the APT package manager, and most of its system conventions all come from Debian.

The layers Ubuntu adds on top are its own — a six-month release cadence, newer desktop packages, its own build infrastructure, commercial support from Canonical, and extras such as Snap and Ubuntu Pro.

The practical consequence is that almost all Debian documentation, including forum answers written for Debian, applies to Ubuntu as well. Commands like apt update, apt install, and systemctl restart behave the same way on both.

Release cadence: LTS vs regular releases

Ubuntu has two release tracks, and telling them apart matters before you pick a version for a work machine or a server:

Track When it ships Standard support Best for
LTS (Long Term Support) Every two years, in April of even-numbered years 5 years of security updates production servers, work machines, hardware you rarely upgrade
Regular (interim) releases Every six months (April and October) Roughly 9 months trying new features, kernels, and hardware

LTS is the default choice for almost anything serious. Ubuntu 24.04 LTS (April 2024), for example, receives standard security updates until 2029, and Ubuntu 26.04 LTS (April 2026) until 2031. With an Ubuntu Pro subscription, security maintenance can be extended much further — Expanded Security Maintenance adds years of coverage, and certain LTS versions can reach up to 15 years — including for packages outside the main repository.

Regular releases are the opposite by design. Their short support window is what lets them move fast: the newest kernel, a newer GNOME, and support for the latest hardware. After roughly nine months they stop receiving security updates and should be replaced.

Exact dates per version are published on Canonical’s Ubuntu release cycle page.

The desktop and GNOME

Ubuntu’s desktop edition uses GNOME as its desktop environment, with Ubuntu’s own theme, icons, and extensions. Compared with plain GNOME, the most visible differences are the dock on the left, the status indicators on the right, and a settings hub that combines system settings with app updates.

What you get for day-to-day use:

  • a desktop and file manager (Files)
  • an app dock and application launcher
  • system, network, and Bluetooth settings
  • notifications and calendar
  • virtual desktops
  • app installation through the App Center

If you are coming from Windows or macOS, what usually feels unfamiliar is not the interface but the concepts behind it: file permissions, package management, and directories such as /etc or /home.

Ubuntu flavours

Ubuntu flavours are community-maintained variants that ship different desktop environments while staying on the same Ubuntu foundation. They are a good fit for machines with limited resources, or for users with a particular interface preference:

Flavour Desktop environment Notes
Kubuntu KDE Plasma the most configurable of the set
Xubuntu Xfce lightweight, good for older hardware
Lubuntu LXQt the lightest on resources
Ubuntu MATE MATE keeps a traditional desktop layout
Ubuntu Studio KDE Plasma packaged for audio, video, and graphics work

There are also Ubuntu Budgie, Ubuntu Cinnamon, Edubuntu, and Ubuntu Kylin. Keep in mind that a flavour’s release cycle and support window can differ from mainline Ubuntu, so check its own documentation before relying on it for important work.

Package management: APT, Snap, and Flatpak

Ubuntu supports several ways to install software, and most day-to-day work is handled by APT — the same package manager Debian uses.

sudo apt update                      # refresh the package lists from the repositories
sudo apt upgrade                     # install updates for installed packages
sudo apt install nginx               # install a new package
sudo apt search "web server"         # search the repositories
sudo apt remove nginx                # remove a package

Besides .deb packages through APT, Ubuntu also supports Snap: packages that bundle their dependencies, run sandboxed, and update themselves automatically.

sudo snap install code --classic     # install an app from a verified publisher
snap list                            # list installed snaps

Some applications are also available as Flatpak if you enable support for it. In practice, pick one primary path — APT for system packages — and use Snap or Flatpak only for apps that genuinely need a newer version than the Ubuntu repositories provide.

Commands prefixed with sudo run with administrator rights. For everyday work, Ubuntu expects you to use a normal account with sudo access rather than logging in as root directly.

Ubuntu commands worth knowing

The terminal is not mandatory for everyday use, but it becomes the main interface the moment you work on a server. These commands cover most of what you need early on:

Command What it does
pwd print the current directory
ls -la list directory contents, including hidden files and permissions
cd /var/log change directory
mkdir -p app/config create directories, including parents
cp, mv, rm copy, move or rename, delete
cat, less read file contents
grep -R "pattern" . search inside files
chmod, chown change file permissions and ownership
df -h, du -sh * check disk usage
top or htop inspect processes and resource usage
systemctl status nginx check a service’s status
ip a, ss -tulpn inspect networking and open ports
ssh user@server connect to another server
man ls open a command’s manual page

The habit that makes these stick is using them for small things every day — creating folders, reading logs, copying files — before you are ever responsible for a production server.

Directory structure worth knowing

Ubuntu follows the standard Linux directory layout. A few directories come up constantly when you administer a server:

/
├── bin     → core system commands
├── boot    → kernel and boot files
├── dev     → device representations
├── etc     → system configuration (nginx, ssh, fstab, …)
├── home    → user data, e.g. /home/username
├── opt     → third-party applications
├── root    → home directory for the root user
├── tmp     → temporary files
├── usr     → installed programs and libraries
└── var     → changing data, including logs in /var/log

The two directories you open most often when troubleshooting are /etc for configuration and /var/log for logs. The rest are worth recognising until you actually need them; the concepts behind them are explained in the Linux guide.

Ubuntu for developers

Ubuntu is a common primary operating system for developers because development tooling is tested on Linux first. The following languages and tools are available from the official repositories, Snap, or the vendors’ own installers:

  • Python, Node.js, PHP, Ruby, Java, Go, Rust, and C/C++
  • Git and database clients
  • Docker and Podman
  • Kubernetes tooling (kubectl, helm), Terraform, and Ansible
  • editors and IDEs (VS Code, JetBrains, Neovim)

A few habits that save time:

  • Install toolchains from the package manager for stable versions, and through a version manager (nvm, pyenv, rbenv) when a project pins a specific language version.
  • Run projects in containers so runtime versions do not collide between projects.
  • Keep environment setup in scripts rather than personal notes, so it can be repeated.

Matching environments between laptop and server is the main reason Ubuntu is popular with developers: command behaviour, paths, and file permissions are largely the same in both places, so the gap between “works locally” and “works in production” gets much smaller.

Ubuntu Server

Ubuntu Server is the variant without a graphical desktop by default. Administration happens on the command line or over a remote SSH connection, and that is precisely why it has a small resource footprint and a narrower attack surface than a desktop system.

A typical web server setup:

sudo apt update
sudo apt install nginx
sudo systemctl enable --now nginx
systemctl status nginx

Ubuntu servers are used for:

  • web servers and reverse proxies
  • databases (PostgreSQL, MySQL, and others)
  • file, DNS, and mail services
  • application servers
  • container and virtual machine hosts
  • cloud infrastructure

On a freshly installed server, this is usually the first sequence of work:

  1. Create a non-root account with sudo and log in with an SSH key instead of a password.
  2. Enable a simple firewall, for example sudo ufw allow OpenSSH followed by sudo ufw enable.
  3. Turn on unattended security updates for security packages and the kernel.
  4. Add basic monitoring and make sure the server clock stays in sync.
  5. Set up backups you have actually restored from at least once.

For a broader view of how sites are hosted and served, see the Server topic; for day-to-day operational habits, see Ops.

Ubuntu in the cloud and in containers

Ubuntu is one of the most widely available operating systems on cloud providers. AWS, Google Cloud, Microsoft Azure, and others publish official Ubuntu images, often as the default first choice when you create a virtual machine. Server images are available for both amd64 and arm64, so they work on x86 instances as well as Arm-based ones.

Beyond being the operating system of the instance, Ubuntu is the substrate for much of the tooling around it:

Docker · Kubernetes · Ansible · Terraform · OpenStack · MAAS · cloud-init

cloud-init, for example, is the mechanism Ubuntu cloud images use to run first-boot configuration — users, SSH keys, and packages — automatically the first time an instance starts.

Because the images are available nearly everywhere and the documentation is deep, Ubuntu is often the example system in cloud and DevOps tutorials, including the ones you land on while troubleshooting something at short notice.

Basic security on Ubuntu

Ubuntu follows the Linux permission model: every file has an owner and an access mode, and privileged commands run through sudo instead of a direct root login. That means the security of a server depends heavily on simple habits performed consistently.

The steps with the biggest payoff early on:

  • Keep the system updated with sudo apt update && sudo apt upgrade.
  • Enable unattended security updates so security fixes do not wait for a manual schedule.
  • Use SSH keys, and disable password logins and direct root logins on the server.
  • Limit open ports: SSH, HTTP/HTTPS, and only what you genuinely expose.
  • Check what is running with systemctl list-units --type=service --state=running.
  • Install packages only from official repositories or verified Snap publishers.

For stricter requirements there is Ubuntu Pro, Canonical’s subscription that adds Expanded Security Maintenance for many packages outside the main repository, kernel livepatching to reduce reboots, and hardening plus compliance tooling. It matters when a server has to keep receiving security updates for longer than the five-year standard LTS window.

Where Ubuntu is strong

  • Free and open source, with no licence cost on the desktop or the server.
  • Straightforward to install, with a graphical installer and sensible defaults.
  • Huge community and documentation, so most problems have already been asked and answered.
  • Large repositories, plus support for two major package formats (APT and Snap).
  • A clear commercial support path through Ubuntu Pro for security and compliance.
  • Desktop and server parity, so habits learned on a laptop carry over to servers.
  • Broad cloud presence, with official images on almost every provider.
  • Predictable release schedule, which makes upgrade planning easier.

Where Ubuntu asks more from you

  • Some hardware — certain printers, GPUs, and capture cards — still needs extra configuration or drivers.
  • Some commercial applications that are standard on Windows or macOS have no native Linux version, so you need an alternative or a virtual machine.
  • The Linux learning curve around permissions, repositories, services, and filesystem mounting is still there, especially once servers are involved.
  • Canonical’s product decisions, such as making Snap the delivery path for default apps, are not universally popular.
  • Variety can overwhelm newcomers — many flavours and package formats to choose from.

Most of these depend on your hardware and what you need to do, not on Ubuntu being inherently lacking.

Who Ubuntu suits

  • Beginners: Ubuntu is one of the easiest distributions to start with, thanks to a graphical installer, an app store, and abundant guides.
  • Developers: a complete tooling ecosystem and an environment close to production.
  • Sysadmins and DevOps: long-lived LTS releases, official cloud images, and commercial support when required.
  • Small businesses: a stable production server without licensing costs.

On the other hand, if your work depends on Windows-only commercial software, hardware with limited Linux support, or you want to control every package by hand, another distribution or platform may fit better.

Frequently asked questions

Is Ubuntu free?

Yes. Ubuntu Desktop and Ubuntu Server can both be downloaded and used at no cost. What you pay for is commercial support: an Ubuntu Pro subscription and optional support tiers from Canonical.

What is the difference between Ubuntu LTS and a regular release?

LTS releases ship every two years in April and receive five years of security updates. Regular releases appear every six months with roughly nine months of support, and are meant for trying the newest features and hardware. For servers and work machines, choose LTS.

Is Ubuntu good for production servers?

Yes — that is one of its main uses. Run an LTS release, install only the services you need, enable a firewall and unattended security updates, and administer the server over SSH.

Do I need the terminal to use Ubuntu?

Not for everyday use — the desktop and basic settings all work through the graphical interface. But once you manage a server or deploy an application, the terminal becomes the primary interface and is worth learning.

How long is a version of Ubuntu supported?

LTS releases are supported for five years by default, while regular releases get roughly nine months. With Ubuntu Pro, security maintenance for an LTS version can be extended well beyond that.

Where to go next

Ubuntu is the distribution that most often introduces people to Linux — and it has stayed relevant for two decades thanks to the Debian ecosystem, a clear release schedule, community support, and Canonical’s commercial track.

If your goal is to use Linux for real work, start with an LTS release: get comfortable with apt, systemctl, and SSH, then learn the concepts in layers. To understand the Linux fundamentals Ubuntu is built on, the Linux guide in this topic is the right place to start, and the storage and delivery side is covered in the Server topic.

Running Ubuntu in production and want the setup reviewed? Send us a short description of your environment and we will help you prioritise updates and hardening.

Work With Us

Let’s create a website that moves your business forward.

Have a project in mind? Tell us what you are building and we will show you how we would approach it.

Start a Project