update-manager/README.md

135 lines
1.8 KiB
Markdown

# Update Manager
Simple tool to check for available updates on multiple Linux servers via SSH.
---
## 🚀 First Time Setup
### 1. Install script
```bash
sudo mkdir -p /opt/update-manager
sudo cp update-manager.sh /opt/update-manager/
sudo chmod +x /opt/update-manager/update-manager.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