113 lines
1.4 KiB
Markdown
113 lines
1.4 KiB
Markdown
# Update Manager
|
|
|
|
Lightweight SSH-based update manager for Linux systems.
|
|
|
|
---
|
|
|
|
## Features
|
|
|
|
- Check for updates across multiple hosts
|
|
- SSH-based (no agents)
|
|
- Simple host inventory
|
|
- No external dependencies
|
|
|
|
---
|
|
|
|
## Installation
|
|
|
|
git clone <repo-url>
|
|
cd update-manager
|
|
chmod +x update-manager.sh
|
|
./update-manager.sh install
|
|
|
|
This will:
|
|
|
|
- Install the tool in /opt/update-manager
|
|
- Create global command: update-manager
|
|
- Create config files if missing
|
|
|
|
---
|
|
|
|
## Configuration
|
|
|
|
Edit hosts:
|
|
|
|
nano /opt/update-manager/hosts.conf
|
|
|
|
Format:
|
|
|
|
name ip ssh_user
|
|
|
|
Example:
|
|
|
|
server1 192.168.1.10 user
|
|
server2 192.168.1.20 user
|
|
|
|
---
|
|
|
|
## SSH (required)
|
|
|
|
Passwordless SSH must be configured.
|
|
|
|
ssh-keygen -t ed25519
|
|
ssh-copy-id user@192.168.1.10
|
|
|
|
Repeat for all hosts.
|
|
|
|
Test:
|
|
|
|
ssh user@192.168.1.10
|
|
|
|
Should work without password.
|
|
|
|
---
|
|
|
|
## Usage
|
|
|
|
update-manager check
|
|
|
|
---
|
|
|
|
## Output
|
|
|
|
server1 🔴 2 updates
|
|
server2 🟢 up-to-date
|
|
server3 ❌ connection failed
|
|
|
|
---
|
|
|
|
## Config
|
|
|
|
/etc/update-manager.conf
|
|
|
|
Default:
|
|
|
|
HOSTS_FILE="/opt/update-manager/hosts.conf"
|
|
SSH_OPTIONS="-o BatchMode=yes -o ConnectTimeout=5"
|
|
|
|
---
|
|
|
|
## Notes
|
|
|
|
- hosts.conf and update-manager.conf are local files (not in Git)
|
|
- .example files are templates
|
|
- Existing config is not overwritten on reinstall
|
|
|
|
---
|
|
|
|
## Roadmap
|
|
|
|
- update command
|
|
- parallel execution
|
|
- scheduled checks
|
|
- logging integration
|
|
|
|
---
|
|
|
|
## Philosophy
|
|
|
|
Keep it simple.
|
|
|
|
- No agents
|
|
- No dependencies
|
|
- Just SSH
|