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
|
||||
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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue