Evan Genest's Learning Log

I keep notes here. Most of these are related to travel, work, or books.

Updates, Apt versus Snap versus Flatpak

linux

Question: How can I Tell What Needs Updating Outside of APT (Ubuntu)

Answer

Written 100% by ChatGPT

This guide explains how to identify software on your Ubuntu system that does not get updated by apt, and how to check updates for each category.


1. APT-managed software (baseline)

sudo apt update
apt list --upgradable

Anything listed here is handled by APT and updated with:

sudo apt upgrade

If something is not listed, it is managed elsewhere.


2. Snap-managed software

Snaps are very common on modern Ubuntu and are not updated by APT.

List installed snaps

snap list

Show pending snap updates

snap refresh --list

Force snap updates

sudo snap refresh

Executables under /snap/bin are snap-managed.

Examples:


3. Flatpak-managed software

If Flatpak is installed, it is another parallel update system.

List Flatpak apps

flatpak list

Update Flatpak apps

flatpak update

APT has no visibility into Flatpak apps.


4. AppImage programs

AppImages are completely unmanaged.

How to find them:

find ~ /opt -iname "*.AppImage" 2>/dev/null

Updating usually means:


5. Manually installed software

Check common manual install locations:

ls /opt
ls /usr/local/bin

Anything here is outside APT control.


6. Language-specific package managers

These maintain their own ecosystems.

Python

pip list --outdated
pipx list

Node.js

npm -g outdated

Rust

cargo install --list

Ruby

gem outdated

APT does not manage any of these.


7. Firmware updates (fwupd)

Firmware updates are handled separately:

fwupdmgr get-updates

This may include:


8. Self-updating applications

Some applications update themselves:

Check background update timers:

systemctl list-timers

9. Identify where programs come from

which chromium firefox code slack docker python node

Interpretation:


Mental Model

Think in layers:

Layer Update mechanism
OS libraries APT
Desktop apps APT / Snap / Flatpak
Developer tools Language managers
Portable apps AppImage
Firmware fwupd
Vendor apps Self-updating

apt list --upgradable
snap refresh --list
flatpak update
fwupdmgr get-updates

Stick to one or two ecosystems where possible to reduce update complexity.