Sobes.tech
Middle+

Ako by ste nainštalovali softvér na veľké množstvo strojov, ak nemáte prístup k Ansible a Python?

sobes.tech AI

Odpoveď od AI

Použil by som kombináciu skriptov príkazového riadku (Bash pre Linux/Unix, Batch/PowerShell pre Windows) a SSH/WinRM.

#!/bin/bash
# Príklad skriptu na inštaláciu softvéru na Linux cez SSH

SOFTWARE_NAME="nginx"
REMOTE_HOSTS=("user@host1" "user@host2" "user@host3") # Zoznam vzdialených hostiteľov

for host in "${REMOTE_HOSTS[@]}"; do
  echo "Inštalácia $SOFTWARE_NAME na $host..."
  ssh "$host" "sudo apt-get update && sudo apt-get install -y $SOFTWARE_NAME"
  if [ $? -eq 0 ]; then
    echo "$SOFTWARE_NAME úspešne nainštalovaný na $host"
  else
    echo "Chyba pri inštalácii $SOFTWARE_NAME na $host"
  fi
done

Pre Windows:

# Príklad skriptu na inštaláciu softvéru na Windows cez WinRM

$softwareName = "notepadplusplus" # Príklad názvu balíka z Chocolatey
$remoteHosts = @("host1", "host2", "host3") # Zoznam vzdialených hostiteľov

foreach ($host in $remoteHosts) {
  Write-Host "Inštalácia $softwareName na $host..."
  # Príklad použitia Chocolatey (vyžaduje predchádzajúcu inštaláciu na cieľových strojoch)
  Invoke-Command -ComputerName $host -ScriptBlock { choco install $using:softwareName -y }
  if ($?) {
    Write-Host "$softwareName úspešne nainštalovaný na $host"
  } else {
    Write-Host "Chyba pri inštalácii $softwareName na $host"
  }
}

Okrem toho je možné použiť:

  1. Autentifikácia pomocou SSH kľúčov: Pre automatizáciu bez požiadavky na heslo.
  2. Centralizované rozdeľovanie súborov: Prenos inštalačných balíkov alebo skriptov na stroje.
  3. Cron/Task Scheduler: Plánovanie spustenia v určenom čase alebo podľa rozvrhu.
  4. PXE Boot: Pre nasadenie operačných systémov a základného softvéru od nuly.
  5. Vlastné Bash/Batch/PowerShell skripty: Pre zložitejšie konfigurácie po inštalácii.

Porovnávacia tabuľka:

Metóda Výhody Nevýhody Použitie
Bash/SSH Široko dostupné, jednoduché pre základné scenáre. Obmedzené možnosti riadenia stavu, zložitosť pri spracovaní chýb. Linux/Unix systémy.
Batch/PowerShell/WinRM Vstavané nástroje Windows. Menej štandardizované v porovnaní s SSH/Bash, vyžaduje konfiguráciu WinRM. Windows systémy.
Centralizované súbory Pohodlné pre distribúciu veľkých súborov. Vyžaduje ďalší mechanizmus na vykonanie na cieľových strojoch. Akýkoľvek systémy.
Cron/Task Scheduler Automatizácia podľa času. Nie je vhodné pre interaktívnu inštaláciu alebo manuálne spustenie. Akýkoľvek systémy.
PXE Boot Ideálne pre nasadenie od nuly. Zložitá konfigurácia, obmedzené opakovanie použitia na bežiacich systémoch. Nové/preinštalované systémy.

Použitie týchto metód vyžaduje dôkladné plánovanie, testovanie skriptov a spoľahlivý mechanizmus na spracovanie chýb a logovanie. Riadenie verzií skriptov je tiež kľúčové.