Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/zirconium-dev/zirconium/llms.txt

Use this file to discover all available pages before exploring further.

Regular maintenance helps keep your Zirconium system healthy and ensures optimal performance. Most maintenance tasks are automated, but understanding them helps you manage your system effectively.

System maintenance overview

Zirconium handles most maintenance automatically:
  • Flatpak updates: Managed by uupd (Universal Update) service
  • Container storage: Automatically cleaned up by systemd timers
  • Deployment cleanup: Old bootc deployments are removed to save space
  • System logs: Rotated automatically by journald

Container storage management

If you use Podman or Docker for containers, storage can accumulate over time.

Checking container storage usage

View storage used by containers:
podman system df
This shows:
  • Images: Container images you’ve pulled or built
  • Containers: Stopped and running containers
  • Volumes: Persistent data volumes
  • Build cache: Cached layers from image builds

Cleaning up container storage

1

Remove unused containers

Remove all stopped containers:
podman container prune
Confirm when prompted to free up space.
2

Remove unused images

Remove dangling images (untagged images no longer used):
podman image prune
To remove all unused images (not just dangling ones):
podman image prune -a
3

Clean up volumes and cache

Remove unused volumes:
podman volume prune
For a complete cleanup including build cache:
podman system prune -a --volumes
podman system prune -a removes all unused images, not just dangling ones. Make sure you don’t need to restart any containers that use these images.

Flatpak management

Zirconium includes automatic Flatpak management services.

Understanding Flatpak services

Zirconium includes these systemd services for Flatpak:
  • flatpak-add-flathub-repos.service: Adds Flathub repository on first boot
  • flatpak-preinstall.service: Installs pre-configured Flatpaks on first boot
  • uupd.timer: Regularly updates Flatpaks and system packages

Manual Flatpak updates

While updates are automatic, you can manually update Flatpaks:
flatpak update
To update without prompts:
flatpak update -y

Cleaning up Flatpak storage

Remove unused Flatpak runtimes and extensions:
flatpak uninstall --unused
This safely removes runtimes that are no longer needed by any installed applications.

Checking Flatpak storage usage

View storage used by Flatpaks:
du -sh ~/.local/share/flatpak /var/lib/flatpak
Run flatpak list --app to see only installed applications, or flatpak list to see applications and runtimes.

Cleaning up old deployments

bootc keeps previous deployments for rollback, but you may want to clean up old ones to save space.

Checking deployment usage

View all deployments and their storage:
bootc status
Deployments are stored in /sysroot/ostree/deploy/default/deploy/.

Manual deployment cleanup

bootc automatically keeps a limited number of deployments. To manually clean up:
sudo ostree admin cleanup
This removes old deployments while keeping:
  • Current deployment (the one you’re running)
  • Previous deployment (for rollback)
  • Staged deployment (pending update)
You cannot remove the currently booted deployment or the staged deployment.

Managing system logs

Checking log storage usage

View space used by system logs:
journalctl --disk-usage

Cleaning up old logs

Limit logs to the last 7 days:
sudo journalctl --vacuum-time=7d
Limit logs to 500MB:
sudo journalctl --vacuum-size=500M

Persistent log configuration

To permanently limit log storage, edit /etc/systemd/journald.conf:
[Journal]
SystemMaxUse=500M
SystemKeepFree=1G
MaxRetentionSec=7day
Then restart the journal service:
sudo systemctl restart systemd-journald

Disk space overview

Get a complete overview of disk usage:
df -h
For a detailed breakdown of what’s using space:
sudo du -h --max-depth=1 / 2>/dev/null | sort -h
Most space issues on bootc systems come from:
  • Multiple bootc deployments
  • Container images and volumes
  • User home directories
  • Flatpak applications and runtimes

Automated maintenance tasks

Zirconium runs these maintenance tasks automatically:
Runs regularly via uupd.timer to update Flatpaks and check for system updates. Check status:
systemctl status uupd.timer
systemctl list-timers uupd.timer
Note: uupd is configured with --disable-module-distrobox as set in /usr/lib/systemd/system/uupd.service.
Checks for system updates weekly via bootc-fetch-apply-updates.timer. Updates are staged but not applied until you reboot. Check status:
systemctl status bootc-fetch-apply-updates.timer
systemctl list-timers bootc-fetch-apply-updates.timer
Automatically cleans up temporary files in /tmp and /var/tmp. Check configuration:
systemctl status systemd-tmpfiles-clean.timer

Build docs developers (and LLMs) love