A simple wrapper for apt that tracks only applications explicitly installed by the user.
It avoids dependency noise and keeps a clean, readable list of installed tools.
This utility replaces the default apt command (via /usr/local/bin/apt) and records only the package names provided by the user during installation. Automatically installed dependencies are ignored.
The result is a clear and minimal list of user-installed applications.
-
Tracks only user-installed applications
-
Ignores dependencies installed by APT
-
Removes entries when applications are uninstalled
-
Displays a clean table with:
- Package name
- Version
- Installation time
- User
-
Uses the original
/usr/bin/aptfor all operations -
Lightweight and predictable behavior
apt-wrapper.sh Main wrapper script
install.sh Installation script
uninstall.sh Removal scriptRun the provided installation script:
sudo bash install.shThis will:
- Place the wrapper in
/usr/local/bin/apt - Ensure it overrides the default
aptcommand safely
Run the uninstall script:
sudo bash uninstall.shAfter uninstalling, refresh the shell:
hash -rsudo apt install nmap curlsudo apt remove curlapt historyapt history helpPACKAGE VERSION INSTALLED ON USER
---------------------------------------------------------------------------
nmap 7.94-1 2026-03-26 16:10:12 kali
---------------------------------------------------------------------------
Total apps: 1
-
Intercepts
install,remove, andpurgecommands -
Extracts only user-provided package names
-
Stores records in:
/var/lib/apt-tracker/apps.csv -
Updates the list only when commands complete successfully
-
Tracks only CLI usage of
apt install -
Does not track:
- Dependencies
- GUI-based installations
- Manual
.debinstalls
-
Meta-packages are stored as a single entry
/usr/local/bin/apt Wrapper script
/usr/bin/apt Original apt binary
/var/lib/apt-tracker/apps.csv Stored application data
- Does not modify the original APT binary
- Falls back to system APT for unsupported commands
- Uses file locking to prevent concurrent write issues
MIT License