Add terminal UI and update README
This commit is contained in:
parent
8022860793
commit
580d2fdf83
1 changed files with 18 additions and 139 deletions
157
README.md
157
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
|
```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
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue