Wrapper around xdeb and xbps-* featuring a package updater
- Shell 100%
| completions | ||
| install.sh | ||
| LICENSE | ||
| README.md | ||
| xdeb-update | ||
xdeb-update
Fetch .deb packages from APT repositories and install them on Void Linux via xdeb.
Rather than relying on manually downloading .deb files, xdeb-update reimplements APT repository metadata fetching to automatically track, download, verify, convert, and install packages — keeping everything up to date with a single command.
Features
- APT repositories — parse
Packages.gzindices from standard APT repos (e.g. VS Code, Spotify, Mullvad) - Flat repositories — support OBS-style repos with
Packages.gzat the root (e.g. LibreWolf) - GitHub Releases — download
.debassets from the latest release, with automatic architecture detection - Direct downloads — handle direct URLs with version detection from redirects (e.g. Discord)
- SHA256 verification for packages from APT indices
- Architecture detection — automatically selects the right
.debfor your system (amd64,arm64,armhf,i386) - Desktop integration fixes — patches invalid
.desktopfiles, refreshes icon/menu caches, and symlinks binaries intoPATH - Version tracking — only downloads when a new version is available
Dependencies
curl,awk,xbps-create,xbps-rindex- xdeb — the
.debto.xbpsconverter sudoordoasfor installation
Installation
sudo ./install.sh
This installs xdeb-update to /usr/local/bin/, creates the system directories, and sets up bash completion.
Usage
xdeb-update [options] [command] [package]
Commands
| Command | Description |
|---|---|
update [pkg] |
Check for updates and install (default) |
check [pkg] |
Check for updates without installing |
uninstall <pkg> |
Uninstall a package, its symlinks, and version state |
list |
List configured packages and stored versions |
seed |
Seed version state from existing binpkgs |
clean |
Clear cached index files |
Options
| Option | Description |
|---|---|
-f, --force |
Force re-download and reinstall even if up to date |
-h, --help |
Show help |
Examples
xdeb-update # Update all packages
xdeb-update check # Check for available updates
xdeb-update update discord # Update only Discord
xdeb-update -f update code # Force reinstall VS Code
xdeb-update seed # Seed state from existing binpkgs
Configuration
On first run, a default config is created at /etc/xdeb-update/sources.conf. Edit it to add or remove packages.
Source types
# Standard APT repository
apt <name> <repo-url> <suite> <component> [deb-pkg-name] [xdeb-flags]
# Flat repository (e.g. OBS)
flat <name> <repo-url> [deb-pkg-name] [xdeb-flags]
# GitHub Releases
github <name> <owner/repo> [asset-pattern] [xdeb-flags]
# Direct download URL
direct <name> <url> [xdeb-flags]
Example sources.conf
# VS Code
apt code https://packages.microsoft.com/repos/code stable main
# LibreWolf (OBS flat repo)
flat librewolf https://download.opensuse.org/repositories/home:/bgstack15:/aftermozilla/Debian_12
# LocalSend from GitHub
github localsend localsend/localsend
# Discord (direct download)
direct discord https://discord.com/api/download?platform=linux&format=deb
Environment Variables
| Variable | Default | Description |
|---|---|---|
XDEB_BIN |
/usr/local/bin/xdeb |
Path to xdeb binary |
XDEB_PKGROOT |
/var/cache/xdeb |
xdeb working directory |
DEB_DIR |
/var/cache/xdeb-update/debs |
Where .deb files are saved |
File Locations
| Path | Purpose |
|---|---|
/etc/xdeb-update/sources.conf |
Package source configuration |
/var/lib/xdeb-update/versions |
Tracked version state |
/var/cache/xdeb-update/ |
Cached index files and downloaded .deb files |
License
See LICENSE.