Come installare qualcosa da un computer a tutti i computer?


9

Nel mio laboratorio universitario tutti i computer sono collegati alla LAN, quindi voglio installare il software "spyder" da un computer a tutti i computer.
È possibile ?


Sei l'amministratore? In caso contrario, ottenere prima l'autorizzazione.
Thorbjørn Ravn Andersen,

Ho installato Ubuntuin ogni computer del mio laboratorio universitario con lo stesso nome utente (CSLAB) e lo stesso passwrod (E201) e tutti i computer sono collegati con la stessa LAN. Quindi, come posso diventare un amministratore per ogni utente di computer?
Abhishek Kamal,

1
@AbhishekKamal, un consiglio .. Non pubblicare nomi utente reali (e password ??) su siti Web pubblici. Inoltre, se "E201" è davvero la tua password amministratore, considera di sostituirla con qualcosa di molto più sicuro!
Il

Soluzioni come Ansible e clusterssh (menzionate di seguito) utilizzano SSH per connettersi ai computer che si desidera gestire. Puoi (e dovresti) impostare un accesso senza password che conferma la fiducia tra i computer (ovvero il tuo computer è considerato affidabile da tutti i computer gestiti) affinché l'automazione funzioni senza problemi.
Il

1
Un "amministratore" su Ubuntu non è altro che qualcuno che può diventare root, ad esempio con "sudo -s" (e quindi eseguire "apt" per installare il software). Perché lo stai facendo in primo luogo?
Thorbjørn Ravn Andersen,

Risposte:


14

Per questo, la mia soluzione preferita è Ansible ( https://www.ansible.com/ ). Ti consente di automatizzare qualsiasi tipo di configurazione o installazione su tutti i computer che potresti desiderare. Un altro vantaggio di Ansible è la comunità che ha già reso disponibili molti script robusti, per eseguire la maggior parte delle attività di configurazione e installazione.

Sembra un tutorial abbastanza comprensibile per farti funzionare con Ansible.

Tuttavia, se questo è solo un comando una tantum che si desidera eseguire su più computer, è meglio semplicemente copiarlo in Bash .


12

Se sono solo un paio di semplici comandi che devi eseguire e non vuoi configurare complessi software di automazione (come ansible, salt o puppet) che potresti usare clusterssh.

Aprire una finestra della riga di comando da installare

sudo apt-get install clusterssh

ora puoi aprire una connessione a un numero di host, come questo

clusterssh -l username labhost1 labhost2 labhost3

clusterssh ti darà quindi una finestra per inserire i tuoi comandi, ma anche una finestra terminale per ogni host a cui ti connetti - così puoi vedere cosa succede realmente!

Esempio di ClusterSSH In questo esempio, puoi vedere la finestra di comando con "apt-get update" a destra e tutti i terminali del cluster a sinistra.

Se uno degli host presenta un problema, è possibile visualizzare immediatamente il messaggio di errore e fare clic sul terminale corrispondente per porre rimedio alla situazione.

Puoi anche scrivere un elenco per clustersshconnetterti a: Apri il tuo editor preferito e scrivi$HOME/.clusterssh/clusters

collegelab labhost1
collegelab labhost2
collegelab labhost3

quindi connettersi con

clusterssh -l username collegelab

Ulteriori letture


In tutta onestà, potresti probabilmente fare lo stesso dalla riga di comando di Ansible in modo semplice e facile come suggerisci per i cluster .. :) Metti i tuoi host in un file di inventario, quindi esegui il comando dal terminale, qualcosa del genereansible inventory -a 'shell command goes here'
tplive

1
@tplive certo, puoi farlo anche solo con i comandi ssh, c'è anche pssh.... ma con i cluster hai un feedback immediato e un modo per fermare / rimediare se c'è un problema. Questo è solo un modo alternativo di affrontare le cose. Personalmente preferirei un'automazione del software (come ansible).
Robert Riedl,

Nel mio laboratorio universitario, ogni computer ha lo stesso nome utente e la stessa password . quindi posso usare clusterssho ansibleper quello?
Abhishek Kamal,

@RobertRiedl ed è per questo che ho votato a favore della tua risposta .. :)
fino al

1
@AbhishekKamal Absolutely! Per un'esperienza più fluida con l'accesso senza password, inserisci la tua chiave ssh pubblica nel file authorized_keys su ciascun computer usando ssh-copy-ido simili.
Il

0

Ecco una soluzione sequenziale di base che presuppone che tu conosca tutti i nomi host o gli indirizzi IP dei computer in rete e che tu abbia abilitato l'autenticazione con chiave pubblica. Vedi qui per maggiori dettagli - https://man.openbsd.org/ssh-keygen.1

  1. Crea un nuovo file ad es hosts.txt
  2. Popolare ogni riga di tale file con gli indirizzi IP o i nomi host delle caselle sulla LAN
  3. Scorrere su ciascuna riga del file e installare il software sull'host in questo modo

for i in `cat hosts.txt`; do ssh $i apt-get --assume-yes install spyder; echo ; done


@bunnydrug Il nome host per tutti i computer nel mio LAB è CSLAB e la password è E201. quindi cosa dovrei scrivere nel hosts.txtfile
Abhishek Kamal
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.