How To Install Fastfetch on Ubuntu 26.04 LTS

Install Fastfetch on Ubuntu 26.04 LTS

A fresh server lands in your hands at 2 a.m. Someone says it’s “the usual Ubuntu box.” You SSH in, and within ten seconds you need to know the kernel, CPU model, RAM, disk layout, uptime, and whether it’s a VM or bare metal. Running uname -a, lscpu, free -h, df -h, and hostnamectl one after another works, but it’s slow and easy to get wrong when you’re tired.

Fastfetch fixes that. It’s a small, fast system information tool written in C that prints the essentials in one tidy block, usually with a distro logo next to it. It replaced Neofetch for most people after Neofetch was archived. Fastfetch also starts quickly, which matters when you drop it into a login shell on a busy machine.

Ubuntu 26.04 LTS “Resolute Raccoon” was released on 23 April 2026 and gets standard security support until April 2031. That makes it a sensible base for new deployments, and Fastfetch is easy to install on it. The catch is that there are three reasonable install paths, and each gives you a different version and update behavior. Choosing the wrong one is how you end up with a stale binary or an unwanted third-party repository on a production host.

This guide walks through all three methods, the reasoning behind each, and how to configure, secure, and troubleshoot the result. It’s written from a sysadmin’s perspective, so expect notes on servers, automation, and the small details that cause trouble later.

What Fastfetch Does and Why Admins Keep It Around

Fastfetch reads system information directly from the kernel interfaces, /proc, /sys, DBus, and a handful of libraries, then formats it into modules. You get OS, host, kernel, uptime, packages, shell, display, desktop environment, CPU, GPU, memory, swap, disk, local IP, and more. Everything is optional and reorderable.

It looks cosmetic, but it earns its place on real systems for a few reasons:

  • Fast triage. One command gives a snapshot you can paste into a ticket.
  • Consistent bug reports. Support teams ask for OS and kernel details constantly. Fastfetch output is easy to copy.
  • Fleet awareness. Showing the hostname, kernel, and uptime at login helps you notice when you’re on the wrong server.
  • Scriptable output. It can emit JSON, which is handy for inventory scripts.

Fastfetch is also actively developed. Its GitHub releases page showed version 2.70.0 as the latest release on 14 October 2026. Hold that thought, because it explains why the install method matters.

Choosing the Right Install Method

Three options work on Ubuntu 26.04. They differ mainly in how new the version is and how updates arrive.

Method Version freshness Updates via APT Third-party trust Best for
Ubuntu archive (universe) Older, frozen at release Yes None extra Servers, minimal-change environments
Launchpad PPA Newer, tracks upstream closely Yes PPA maintainer Desktops, dev machines
Official .deb from GitHub Newest No (manual) Upstream project Testing a specific release, offline installs

Ubuntu’s own archive carries Fastfetch in the universe component. At the time of checking, the package listing for Resolute showed version 2.57.1+dfsg-1ubuntu1. One published guide measured the PPA at 2.62.1 for Ubuntu 26.04, 24.04, and 22.04. Upstream had moved well past both by mid-October.

So which one should you pick? On a production server, the archive package is usually the right call. It’s signed by Ubuntu’s archive keys, gets handled by your normal patching routine, and doesn’t add another repository to audit. On a workstation where you want new modules and bug fixes, the PPA is more rewarding.

Prerequisites and Pre-Flight Checks

Before touching anything, confirm what you’re running. Assumptions cause most install problems.

lsb_release -a
uname -r
dpkg --print-architecture

You should see Ubuntu 26.04 and an architecture of amd64 or arm64. The architecture matters later if you download the .deb manually.

Next, refresh package metadata and apply pending updates. Skipping this is a common reason a fresh VM throws odd dependency errors.

sudo apt update
sudo apt upgrade -y

You need a user with sudo rights and working network access to archive.ubuntu.com or your mirror. If you manage servers in a region with a slower default mirror, such as Southeast Asia, switch to a closer one first. Package downloads go from sluggish to instant, and it’s a one-time fix.

Check the universe component is enabled, because Fastfetch lives there:

grep -R "universe" /etc/apt/sources.list /etc/apt/sources.list.d/ 2>/dev/null

Ubuntu 24.04 and later images use the deb822 format (/etc/apt/sources.list.d/ubuntu.sources), so the match may show up in that file instead of sources.list. Don’t be surprised by that.

Method 1: Install Fastfetch from the Ubuntu Repository

This is the simplest route and the one most people should start with. Since the package exists in the 26.04 archive, no extra sources are needed.

First, see which version APT will give you:

apt-cache policy fastfetch

The output lists the installed version (none yet), the candidate version, and which repository supplies it. Read it. It tells you whether you’re about to get the archive build.

Then install:

sudo apt install fastfetch

Verify:

fastfetch --version
which fastfetch

You should see a version string and a path like /usr/bin/fastfetch. Run it:

fastfetch

That’s the whole process. The dfsg in the version string means the package was repackaged to meet Debian’s free software guidelines, usually by stripping bundled third-party code. It’s normal, not a warning sign.

Why the Archive Version Can Feel Old

Ubuntu freezes package versions at release time, then only ships security fixes and critical bug fixes. Fastfetch doesn’t usually qualify for ongoing feature updates inside an LTS cycle. So the version you get in April stays the version you have in October, aside from minor patches.

For most admin work that’s fine. If you hit a rendering bug on a newer terminal, or a hardware detection issue on new silicon, you may want something newer. That’s when the PPA or .deb becomes attractive.

Method 2: Install Fastfetch from the Launchpad PPA

The upstream project itself points Ubuntu users to a PPA for the latest version: ppa:zhangsongcui3371/fastfetch, aimed at Ubuntu 22.04 or newer. It’s a convenient way to stay current while still using APT.

Minimal and server images sometimes lack the helper that manages PPAs, so install it first:

sudo apt install -y software-properties-common

Add the PPA and refresh:

sudo add-apt-repository -y ppa:zhangsongcui3371/fastfetch
sudo apt update

Before installing, check what APT now prefers:

apt-cache policy fastfetch

You should see a candidate from ppa.launchpadcontent.net with a ~resolute suffix, listed above the archive version. One tested walkthrough showed this exact layout, with the PPA build outranking the universe build. APT chooses the highest version number by default, so the PPA wins automatically.

Install it:

sudo apt install -y fastfetch
fastfetch --version

The Trade-Offs of a PPA on Servers

A PPA is an individual’s package repository hosted on Launchpad. Launchpad builds the packages, but you’re trusting that maintainer’s judgment and key security. On a laptop, that’s a reasonable bet. On a production server under compliance rules, it’s a conversation with whoever owns your change management.

If you do use it, keep these habits:

  • Document the PPA in your configuration management (Ansible, Puppet, whatever you use).
  • Avoid adding PPAs ad hoc to production hosts.
  • Review /etc/apt/sources.list.d/ periodically for leftovers.
  • Know how to back out. The cleanup section below covers it.

Pinning So the PPA Doesn’t Surprise You

Some admins want the PPA for one tool and nothing else from it. A PPA that only hosts Fastfetch is low-risk in that respect. Still, you can pin it explicitly. Create /etc/apt/preferences.d/fastfetch:

sudo tee /etc/apt/preferences.d/fastfetch >/dev/null <<'EOF'
Package: fastfetch*
Pin: release o=LP-PPA-zhangsongcui3371-fastfetch
Pin-Priority: 600
EOF

Then confirm APT agrees:

apt-cache policy fastfetch

If the origin string doesn’t match on your system, check the real value with apt-cache policy and adjust. The o= field comes from the release file, and guessing it wrong makes the pin silently do nothing.

Method 3: Install the Official .deb from GitHub Releases

Sometimes you want an exact version, or the host can’t reach a PPA. Upstream publishes prebuilt .deb packages per architecture on its releases page. This path gives you the newest build, but APT won’t update it for you.

Find the right asset name for your architecture. For a standard 64-bit x86 machine, the file follows the pattern fastfetch-linux-amd64.deb; ARM machines use an aarch64 variant. Check the releases page for the exact current filename before downloading.

cd /tmp
wget https://github.com/fastfetch-cli/fastfetch/releases/latest/download/fastfetch-linux-amd64.deb

The latest/download URL pattern redirects to the newest release asset, which saves you from hardcoding a version. Install with APT rather than dpkg -i, because APT resolves dependencies for you:

sudo apt install ./fastfetch-linux-amd64.deb

The ./ matters. Without it, APT treats the argument as a package name and fails.

Verify:

fastfetch --version
dpkg -s fastfetch | grep -E 'Version|Status'

Verify What You Downloaded

Downloading a binary package from the internet and installing it as root deserves a sanity check. At minimum, confirm the file is a real Debian package and inspect what it will drop on disk:

dpkg-deb --info fastfetch-linux-amd64.deb
dpkg-deb --contents fastfetch-linux-amd64.deb | head -n 30

If the release publishes checksums, compare them:

sha256sum fastfetch-linux-amd64.deb

A checksum shown on the same page as the download only protects you from corruption, not from a compromised page. Still, it’s a good habit, and it’s free.

First Run: Reading the Output

Run fastfetch with no arguments. You’ll see a logo on the left and a list of modules on the right. A typical block on a 26.04 VM looks something like this in structure:

  • OS: Ubuntu 26.04 LTS x86_64
  • Host: virtualization product string
  • Kernel: Linux 7.0.x
  • Uptime, Packages, Shell
  • CPU, Memory, Swap, Disk
  • Local IP

Ubuntu 26.04 is built on Linux kernel 7.0, so the kernel line you see should start with 7.0.

On virtual machines, the Host field often shows the hypervisor’s product name rather than hardware. That quickly tells you whether you’re inside KVM, VMware, or a cloud instance. On cloud servers, this is a surprisingly useful one-glance check.

Install Fastfetch on Ubuntu 26.04

Customizing Fastfetch Properly

The defaults are fine for a quick look. For anything you’ll use daily, build a config.

Generate the default configuration file:

fastfetch --gen-config

This writes a JSONC file at ~/.config/fastfetch/config.jsonc. JSONC means JSON with comments, so you can annotate your choices. Open it in your editor:

nano ~/.config/fastfetch/config.jsonc

Explore what’s available before editing:

fastfetch --list-modules
fastfetch --list-logos | head -n 20
fastfetch --list-presets

A Lean Server-Oriented Config

A server doesn’t need a GPU line or a display resolution. Here’s a trimmed example focused on what an admin actually wants:

{
  "$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
  "logo": { "type": "none" },
  "display": { "separator": " : " },
  "modules": [
    "title",
    "separator",
    "os",
    "host",
    "kernel",
    "uptime",
    "cpu",
    "memory",
    "swap",
    "disk",
    "localip",
    "shell"
  ]
}

Dropping the logo makes output shorter and friendlier to narrow terminals, tmux panes, and copy-paste into chat tools. Test the config without replacing your default:

fastfetch -c ~/.config/fastfetch/config.jsonc

Why Module Choice Affects Speed

Not all modules cost the same. Anything that touches the network or queries slow hardware interfaces can add noticeable delay. The publicip and weather modules, for example, reach out over the internet. Putting them in a login banner means every SSH login waits on an external request, and failures can hang the prompt.

Measure rather than guess. Fastfetch has a built-in timing option:

fastfetch --stat

It reports how long each module takes. If something shows hundreds of milliseconds, remove it from the login config. On a normal system, the whole run should feel instant.

Showing Fastfetch at Login

A popular use case is displaying system info when you open a terminal or SSH in. Do this carefully, because a bad login script can lock you out of automation.

Per-User Setup

Add this to ~/.bashrc, guarding it so it only runs in interactive shells:

if [[ $- == *i* ]] && command -v fastfetch >/dev/null 2>&1; then
    fastfetch
fi

The interactive check is not optional. Tools like scp, rsync, and ansible open non-interactive shells. If your startup file prints output there, you can corrupt file transfers or break automation in confusing ways. Anyone who has watched scp fail with “protocol error” because of a chatty .bashrc knows the pain.

Systemwide Setup on Shared Servers

For all users on a host, a script in /etc/profile.d/ works for login shells:

sudo tee /etc/profile.d/99-fastfetch.sh >/dev/null <<'EOF'
if [ -n "$PS1" ] && command -v fastfetch >/dev/null 2>&1; then
    fastfetch -c /etc/fastfetch/server.jsonc
fi
EOF
sudo chmod 644 /etc/profile.d/99-fastfetch.sh

Create /etc/fastfetch/server.jsonc with your lean config so every user sees the same thing. Using a dedicated config path keeps behavior consistent and avoids per-user surprises.

Think twice before doing this on multi-tenant systems. Showing detailed hardware and kernel data to every user may not suit a hardened environment. It’s also another thing to maintain.

Practical Use Cases

Incident reports. When filing a bug with a vendor, paste the output of fastfetch --pipe. The --pipe option disables colors and logos for clean text. Check fastfetch --help on your installed version to confirm the exact flag, since options evolve between releases.

Inventory scripts. Fastfetch can output structured data, which you can feed into scripts. Check the supported format options with:

fastfetch --help | grep -i -E 'json|format'

Customer support and training. Teams that support many Ubuntu versions can ask users to run one command instead of five.

Terminal screenshots. The classic use. A neat Fastfetch screenshot in a README or blog post tells readers your environment at a glance.

Quick drift checks. After a kernel upgrade and reboot, running Fastfetch confirms the new kernel and a fresh uptime in one look.

Performance Considerations

Fastfetch itself is lightweight, but a few points matter in production.

CPU. A normal run uses a trivial amount of CPU for a fraction of a second. The concern is frequency, not intensity. If a monitoring script runs it every few seconds on hundreds of hosts, you’ll notice. Use proper monitoring agents for metrics and keep Fastfetch for humans.

RAM. Memory use is minimal and short-lived. There’s no daemon, so nothing stays resident.

Disk I/O. The tool reads from /proc and /sys, which are in-memory filesystems. The disk module queries mounted filesystems, and on hosts with many network mounts, a stale NFS mount can stall it. If a login hangs, suspect that first.

Network. The default modules are local. Network-touching modules add latency and potential failure points, as mentioned. Keep them out of login paths.

Terminal rendering. Image-based logos using terminal graphics protocols look great locally but can behave badly over slow SSH links or inside multiplexers. For remote work, use the ASCII logo or none.

Security Considerations

A tool this small has a small attack surface, yet a few habits are still worth keeping.

Source trust. Prefer the Ubuntu archive on sensitive systems. Every extra repository widens your supply chain exposure. If you must use a PPA, treat it like any third-party dependency and track it.

Updates. Keep the system patched regardless of install method:

sudo apt update && sudo apt upgrade

Ubuntu 26.04 ships APT 3.2, which adds history and rollback commands such as apt history-list and apt history-rollback. If a PPA upgrade misbehaves, those can help you back out cleanly. Check apt history-list on your system to confirm availability.

Information disclosure. Fastfetch output reveals kernel version, hardware, and network details. That’s useful to attackers doing reconnaissance. Don’t expose it in pre-login banners (/etc/issue, SSH Banner), and be careful pasting full output into public forums. The local IP and hostname are the usual leaks.

Permissions. Config files in /etc/fastfetch/ should be root-owned and not world-writable:

sudo chown -R root:root /etc/fastfetch
sudo chmod 755 /etc/fastfetch
sudo chmod 644 /etc/fastfetch/*.jsonc

A writable system-wide config combined with a login script that runs it is a small but real privilege escalation path if someone can alter what that script loads.

Firewall. Fastfetch opens no listening ports, so UFW or nftables rules don’t need to change. The only outbound traffic is from network-based modules, which you should keep disabled anyway.

Troubleshooting Common Problems

E: Unable to locate package fastfetch

This usually means the universe component isn’t enabled or the package lists are stale. Fix:

sudo add-apt-repository universe
sudo apt update
sudo apt install fastfetch

If you’re on an older Ubuntu release, the package may not exist in the archive at all. In that case, use the PPA or the .deb. The upstream project notes the package is in Ubuntu’s own repositories only from 25.04 onward.

add-apt-repository: command not found

Minimal images omit it. Install the helper:

sudo apt install -y software-properties-common

The PPA Doesn’t Show a Newer Version

If apt-cache policy fastfetch still shows only the archive version after adding the PPA, you likely skipped apt update. Run it again and recheck. Also confirm the PPA supports your release codename by inspecting the files in /etc/apt/sources.list.d/. A very new release sometimes lags before the PPA publishes builds for it.

dpkg: dependency problems when installing the .deb

Using dpkg -i directly leaves broken dependencies. Repair:

sudo apt --fix-broken install

Next time, install with sudo apt install ./file.deb so APT handles dependencies up front.

Wrong Architecture

An error like “package architecture (amd64) does not match system (arm64)” means you grabbed the wrong file. Check with dpkg --print-architecture, then download the matching build.

Broken or Missing Logo, Strange Characters

Usually a terminal or font issue, not a Fastfetch bug. Try:

fastfetch --logo none

Then check that your locale is UTF-8:

locale

Icons and special glyphs in some configs need a Nerd Font in your terminal emulator. On a plain SSH session from a minimal client, stick to the defaults.

Slow Startup or a Hang

Run fastfetch --stat to find the slow module, then remove it. Common offenders include network modules and a disk module stalled on a dead network mount. Test the mount issue with:

timeout 5 df -h

If df hangs, that’s your culprit, and it’s an infrastructure problem rather than a Fastfetch problem.

Config File Errors

If Fastfetch complains about JSON parsing after a manual edit, look for a trailing comma, a missing quote, or a bracket mismatch. Regenerate a clean file to compare:

fastfetch --gen-config-force

Be careful: that overwrites your existing config. Back it up first with cp ~/.config/fastfetch/config.jsonc ~/config.jsonc.bak.

Fastfetch Shows Old or Wrong Information After Changes

There’s no cache to clear in normal operation, so output reflects the current state. If a value looks wrong, such as memory or disk, cross-check with free -h or lsblk to see if the underlying system really changed.

r00t is an experienced Linux enthusiast and technical writer with a passion for open-source software. With years of hands-on experience in various Linux distributions, r00t has developed a deep understanding of the Linux ecosystem and its powerful tools. He holds certifications in SCE and has contributed to several open-source projects. r00t is dedicated to sharing her knowledge and expertise through well-researched and informative articles, helping others navigate the world of Linux with confidence.

Related Posts