| .gitignore | ||
| hosts.conf.example | ||
| README.md | ||
| update-manager.conf.example | ||
⚙️ update-manager
Simple CLI tool for checking and managing updates across multiple Linux hosts over SSH.
Built for speed, clarity, and control — no fluff.
🚀 Features
- 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 (Full Setup)
1. Clone repo
git clone https://github.com/your-repo/update-manager.git
cd update-manager
2. Create install directory
sudo mkdir -p /opt/update-manager
3. Copy files
sudo cp update-manager.sh /opt/update-manager/
sudo cp update-manager-ui.sh /opt/update-manager/ 2>/dev/null
4. Make executable
sudo chmod +x /opt/update-manager/update-manager.sh
sudo chmod +x /opt/update-manager/update-manager-ui.sh 2>/dev/null
5. Create symlinks
sudo ln -sf /opt/update-manager/update-manager.sh /usr/local/bin/update-manager
sudo ln -sf /opt/update-manager/update-manager-ui.sh /usr/local/bin/update-manager-ui 2>/dev/null
6. Install dependencies
sudo apt update && sudo apt install -y whiptail openssh-client
7. First run (creates config)
update-manager check
⚡ Quick Start (1 minute)
Edit hosts file
nano /opt/update-manager/hosts.conf
Example:
# name ip user
lanx-ai 172.16.5.135 ed
lanx-www 172.16.5.140 ed
lanx-modoboa 172.16.5.130 ed
Run check
update-manager check
🧠 Notes
- Hosts file is created automatically on first run
- Lines starting with
#are ignored - Empty lines are ignored
- Requires passwordless SSH access
🔐 SSH Setup (Required)
Generate SSH key (if needed):
ssh-keygen
Copy key to hosts:
ssh-copy-id user@host
Test access:
ssh user@host
✔ No password prompt = ready
🖥️ Terminal UI
Interactive menu for managing hosts.
Start UI
update-manager-ui
UI Features
- Check all hosts
- View hosts file
- Edit hosts file
- Add host
- Remove host
📁 File Structure
/opt/update-manager/
├── update-manager.sh
├── update-manager-ui.sh
├── hosts.conf
└── update-manager.conf
⚙️ Configuration
Default config:
/etc/update-manager.conf
Example:
HOSTS_FILE="/opt/update-manager/hosts.conf"
SSH_OPTIONS="-o BatchMode=yes -o ConnectTimeout=5"
🔧 Commands
update-manager check # Check all hosts
update-manager update # Run updates on all hosts
💡 Philosophy
- Keep it simple
- Keep it transparent
- No hidden magic
- Pure SSH control
🧱 Future Ideas
- Email reports (cron)
- Optional web UI
- Integration with Lanx monitoring
❤️ Built for Lanx
Designed for clean infrastructure, not enterprise chaos.
Developed by Ed & NodeFox
⚙️ update-manager
Simple CLI tool for checking and managing updates across multiple Linux hosts over SSH.
Built for speed, clarity, and control — no fluff.
🚀 Features
- 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 (Full Setup)
1. Clone repo
git clone https://github.com/your-repo/update-manager.git
cd update-manager
2. Create install directory
sudo mkdir -p /opt/update-manager
3. Copy files
sudo cp update-manager.sh /opt/update-manager/
sudo cp update-manager-ui.sh /opt/update-manager/ 2>/dev/null
4. Make executable
sudo chmod +x /opt/update-manager/update-manager.sh
sudo chmod +x /opt/update-manager/update-manager-ui.sh 2>/dev/null
5. Create symlinks
sudo ln -sf /opt/update-manager/update-manager.sh /usr/local/bin/update-manager
sudo ln -sf /opt/update-manager/update-manager-ui.sh /usr/local/bin/update-manager-ui 2>/dev/null
6. Install dependencies
sudo apt update && sudo apt install -y whiptail openssh-client
7. First run (creates config)
update-manager check
⚡ Quick Start (1 minute)
Edit hosts file
nano /opt/update-manager/hosts.conf
Example:
# name ip user
lanx-ai 172.16.5.135 ed
lanx-www 172.16.5.140 ed
lanx-modoboa 172.16.5.130 ed
Run check
update-manager check
🧠 Notes
- Hosts file is created automatically on first run
- Lines starting with
#are ignored - Empty lines are ignored
- Requires passwordless SSH access
🔐 SSH Setup (Required)
Generate SSH key (if needed):
ssh-keygen
Copy key to hosts:
ssh-copy-id user@host
Test access:
ssh user@host
✔ No password prompt = ready
🖥️ Terminal UI
Interactive menu for managing hosts.
Start UI
update-manager-ui
UI Features
- Check all hosts
- View hosts file
- Edit hosts file
- Add host
- Remove host
📁 File Structure
/opt/update-manager/
├── update-manager.sh
├── update-manager-ui.sh
├── hosts.conf
└── update-manager.conf
⚙️ Configuration
Default config:
/etc/update-manager.conf
Example:
HOSTS_FILE="/opt/update-manager/hosts.conf"
SSH_OPTIONS="-o BatchMode=yes -o ConnectTimeout=5"
🔧 Commands
update-manager check # Check all hosts
update-manager update # Run updates on all hosts
💡 Philosophy
- Keep it simple
- Keep it transparent
- No hidden magic
- Pure SSH control
🧱 Future Ideas
- Email reports (cron)
- Optional web UI
- Integration with Lanx monitoring
❤️ Built for Lanx
Designed for clean infrastructure, not enterprise chaos.
Developed by Ed & # ⚙️ update-manager
Simple CLI tool for checking and managing updates across multiple Linux hosts over SSH.
Built for speed, clarity, and control — no fluff.
🚀 Features
- 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 (Full Setup)
1. Clone repo
git clone https://github.com/your-repo/update-manager.git
cd update-manager
2. Create install directory
sudo mkdir -p /opt/update-manager
3. Copy files
sudo cp update-manager.sh /opt/update-manager/
sudo cp update-manager-ui.sh /opt/update-manager/ 2>/dev/null
4. Make executable
sudo chmod +x /opt/update-manager/update-manager.sh
sudo chmod +x /opt/update-manager/update-manager-ui.sh 2>/dev/null
5. Create symlinks
sudo ln -sf /opt/update-manager/update-manager.sh /usr/local/bin/update-manager
sudo ln -sf /opt/update-manager/update-manager-ui.sh /usr/local/bin/update-manager-ui 2>/dev/null
6. Install dependencies
sudo apt update && sudo apt install -y whiptail openssh-client
7. First run (creates config)
update-manager check
⚡ Quick Start (1 minute)
Edit hosts file
nano /opt/update-manager/hosts.conf
Example:
# name ip user
lanx-ai 172.16.5.135 ed
lanx-www 172.16.5.140 ed
lanx-modoboa 172.16.5.130 ed
Run check
update-manager check
🧠 Notes
- Hosts file is created automatically on first run
- Lines starting with
#are ignored - Empty lines are ignored
- Requires passwordless SSH access
🔐 SSH Setup (Required)
Generate SSH key (if needed):
ssh-keygen
Copy key to hosts:
ssh-copy-id user@host
Test access:
ssh user@host
✔ No password prompt = ready
🖥️ Terminal UI
Interactive menu for managing hosts.
Start UI
update-manager-ui
UI Features
- Check all hosts
- View hosts file
- Edit hosts file
- Add host
- Remove host
📁 File Structure
/opt/update-manager/
├── update-manager.sh
├── update-manager-ui.sh
├── hosts.conf
└── update-manager.conf
⚙️ Configuration
Default config:
/etc/update-manager.conf
Example:
HOSTS_FILE="/opt/update-manager/hosts.conf"
SSH_OPTIONS="-o BatchMode=yes -o ConnectTimeout=5"
🔧 Commands
update-manager check # Check all hosts
update-manager update # Run updates on all hosts
💡 Philosophy
- Keep it simple
- Keep it transparent
- No hidden magic
- Pure SSH control
🧱 Future Ideas
- Email reports (cron)
- Optional web UI
- Integration with Lanx monitoring
❤️ Built for Lanx
Designed for clean infrastructure, not enterprise chaos.
Developed by Ed & NodeFox