Add terminal UI and update README

This commit is contained in:
Ed Nielsen 2026-03-18 15:30:48 +01:00
parent 8022860793
commit 580d2fdf83

157
README.md
View file

@ -1,146 +1,25 @@
# Update Manager # ⚙️ update-manager
Simple tool to check for available updates on multiple Linux servers via SSH. Simple CLI tool for checking and managing updates across multiple Linux hosts over SSH.
Built for speed, clarity, and control — no fluff.
--- ---
## 🚀 First Time Setup ## 🚀 Features
### 1. Install script - Check for available updates on all hosts
- Run updates remotely via SSH
- Simple host configuration file
- Interactive terminal UI (whiptail)
- Lightweight and dependency-minimal
---
## 📦 Installation
```bash ```bash
sudo mkdir -p /opt/update-manager git clone https://github.com/your-repo/update-manager.git
sudo cp update-manager.sh /opt/update-manager/ cd update-manager
sudo chmod +x /opt/update-manager/update-manager.sh chmod +x setup.sh
sudo ./setup.sh
sudo ln -s /opt/update-manager/update-manager.sh /usr/local/bin/update-manager
```
---
### 2. Run for the first time
```bash
update-manager check
```
This will automatically create:
```
/opt/update-manager/hosts.conf
```
---
### 3. Edit hosts file
```bash
nano /opt/update-manager/hosts.conf
```
Example:
```bash
# name ip user
server1 192.168.1.10 user
server2 192.168.1.20 user
```
---
### 4. Setup SSH access (required)
From your main machine:
```bash
ssh-copy-id user@192.168.1.10
ssh-copy-id user@192.168.1.20
```
Passwordless SSH is required for the tool to work.
---
### 5. Run again
```bash
update-manager check
```
---
## ✅ Example output
```bash
===== server1 (192.168.1.10) =====
Up-to-date
===== server2 (192.168.1.20) =====
vim-common ...
```
---
## ⚠️ Requirements
* SSH access to all servers
* SSH keys configured (`ssh-copy-id`)
* Debian/Ubuntu-based systems
---
## 📁 Hosts file format
```
name ip user
```
Example:
```
web 192.168.1.10 ubuntu
db 192.168.1.20 root
```
---
## 🧠 Notes
* The hosts file is created automatically on first run
* Lines starting with `#` are ignored
* Empty lines are ignored
* Requires passwordless SSH access
🖥️ Terminal UI
You can also use the interactive terminal menu:
update-manager-ui
Features
Check all hosts
View hosts file
Edit hosts file
Add host
Remove host
Requirements
The UI uses whiptail. Install it if needed:
sudo apt update && sudo apt install whiptail -y
▶️ Run the UI
Start the interactive terminal interface:
update-manager-ui
If command is not found
You may need to create a symlink:
sudo ln -s /opt/update-manager/update-manager-ui.sh /usr/local/bin/update-manager-ui