update-manager/README.md

2 KiB

Update Manager

Simple tool to check for available updates on multiple Linux servers via SSH.


🚀 First Time Setup

1. Install script

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

update-manager check

This will automatically create:

/opt/update-manager/hosts.conf

3. Edit hosts file

nano /opt/update-manager/hosts.conf

Example:

# name          ip              user
server1         192.168.1.10    user
server2         192.168.1.20    user

4. Setup SSH access (required)

From your main machine:

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

update-manager check

Example output

===== 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