diff --git a/README.md b/README.md index f53cfd1..ad51fc6 100644 --- a/README.md +++ b/README.md @@ -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 -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 - -▶️ 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 +git clone https://github.com/your-repo/update-manager.git +cd update-manager +chmod +x setup.sh +sudo ./setup.sh