diff options
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/README.md b/README.md new file mode 100644 index 0000000..ae16766 --- /dev/null +++ b/README.md @@ -0,0 +1,36 @@ +# ud + +A clean, minimalist, robust C utility designed to automate Debian-based Linux system maintenance tasks. It manages `apt` package list updates, performs conditional upgrades, purges orphaned dependencies, clears package caches, and cleans local user thumbnail and screenshot caches. + +## Features + +- **Automated APT Maintenance:** Updates repository indices, checks for upgradeable packages, and runs `apt full-upgrade` only when updates exist. +- **Dependency & Cache Cleanup:** Automatically purges unused dependencies and lingering configuration files (`apt autoremove --purge`) and empties cached installer packages (`apt clean`). +- **User Cache Housekeeping:** Safely cleans desktop thumbnail caches and user screenshot directories without failing if the directories are empty. +- **Robust POSIX C Implementation:** Built using strict standard C (`-std=c11`, POSIX 2008) with explicit bounds checking on formatted buffers and process status checking (`WIFEXITED`, `WEXITSTATUS`). +- **Clean Terminal Output:** Indents subprocess output using `sed` for a clear, readable terminal log. + +--- + +## Prerequisites & Dependencies + +This utility requires a **Debian-based distribution** (Debian, Ubuntu, Linux Mint, Pop!_OS, etc.) with the following installed: + +- `gcc` or `clang` +- `make` +- `apt` +- `sed` +- `sudo` privileges for package management operations + +--- + +## Build Instructions + +To compile the executable using `make`: + +```bash +# Build the utility (uses gcc with -Wall -Wextra -Wpedantic -O2 -std=c11) +make + +# Clean build artifacts +make clean |
