
checkupdates: Check Arch Linux Pending Updates
What is checkupdates
checkupdates is a lightweight utility for Arch Linux that lists pending updates by querying the package databases. It helps you decide when to update and what will be updated before you actually upgrade.
Quick start: see updates now
- Synchronize the database and list pending updates (the standard workflow):
checkupdates
- See what would be listed without syncing the database:
checkupdates --nosync
Note: The default behavior is to sync, which may take a moment if you haven’t updated recently.
Common options
- Change-detection: display updates only if there are changes since the last check
checkupdates --change
- Download updates to the pacman cache (useful if you plan to install offline or in batch):
checkupdates --download
- Use a specific pacman database path (useful for multi-database setups):
CHECKUPDATES_DB=/path/to/pacman/db checkupdates
- Show help and usage information:
checkupdates --help
Practical examples
- Example 1: Quick check with sync (typical daily habit):
checkupdates
- Example 2: Preview changes without touching the cache (safe in scripting scenarios):
checkupdates --nosync
- Example 3: Prepare for offline installation by caching updates:
checkupdates --download
How to interpret the output
- Each line represents a package and its version to be installed.
- If you see updates listed, you can upgrade with pacman after verifying details:
sudo pacman -Syu
- If the list is empty, your system database is up to date.
Common pitfalls
- Forgetting to sync: Running checkupdates without syncing might show outdated data if the database hasn’t refreshed recently.
- Running as root unnecessarily: checkupdates does not always require sudo; many users run pacman with sudo during the actual upgrade, not during the check.
- Misreading —download: This only downloads packages to the cache; you still need to run the actual upgrade separately (sudo pacman -U or sudo pacman -Syu).`
TL;DR recap
- Run checkupdates to see pending Arch updates.
- Use —nosync to simulate or check without updating the database.
- Use —download to preload packages into the cache for later upgrades.