Bagaimana cara menginstal sesuatu dari satu komputer ke semua komputer?


9

Di laboratorium kampus saya semua komputer terhubung dengan LAN, jadi saya ingin menginstal perangkat lunak 'spyder' dari satu komputer ke semua komputer.
Apa itu mungkin ?


Apakah Anda administrator? Jika tidak, dapatkan izin terlebih dahulu.
Thorbjørn Ravn Andersen

Saya menginstal Ubuntudi setiap komputer lab perguruan tinggi saya dengan nama pengguna yang sama (CSLAB) dan passwrod yang sama (E201) dan semua komputer terhubung dengan LAN yang sama. Jadi bagaimana saya bisa menjadi administrator untuk setiap pengguna komputer?
Abhishek Kamal

1
@AbhishekKamal, sepatah kata nasihat .. Jangan memposting nama pengguna asli (dan kata sandi ??) di situs web publik. Dan juga, jika "E201" benar-benar kata sandi admin Anda, pertimbangkan untuk menggantinya dengan sesuatu yang jauh lebih aman!
tive

Solusi seperti Ansible dan clusterssh (disebutkan di bawah) menggunakan SSH untuk terhubung ke komputer yang ingin Anda kelola. Anda dapat (dan harus) mengatur akses tanpa kata sandi yang menegaskan kepercayaan di antara komputer (yaitu komputer Anda dipercaya oleh semua komputer yang dikelola) agar otomatisasi berfungsi dengan lancar.
tive

1
"Administrator" di Ubuntu tidak lebih dari seseorang yang bisa menjadi root, misalnya dengan "sudo -s" (dan kemudian jalankan "apt" untuk menginstal perangkat lunak). Mengapa Anda melakukan ini sejak awal?
Thorbjørn Ravn Andersen

Jawaban:


14

Untuk ini, solusi pilihan saya adalah Ansible ( https://www.ansible.com/ ). Ini memungkinkan Anda mengotomatiskan segala jenis konfigurasi atau instalasi di banyak komputer yang mungkin Anda inginkan. Kelebihan lain dari Ansible adalah komunitas yang telah membuat banyak skrip yang kuat, untuk melakukan sebagian besar tugas konfigurasi dan instalasi.

Ini terlihat seperti tutorial yang cukup komprehensif untuk membuat Anda aktif dan berjalan dengan Ansible.

Namun, jika ini hanya perintah sekali saja yang ingin Anda jalankan di banyak komputer, Anda lebih baik hanya menulisnya di Bash .


12

Jika hanya beberapa perintah sederhana yang perlu Anda jalankan dan Anda tidak ingin mengkonfigurasi perangkat lunak otomasi yang kompleks (seperti ansible, garam atau boneka) yang dapat Anda gunakan clusterssh.

Buka jendela baris perintah untuk menginstal

sudo apt-get install clusterssh

sekarang Anda dapat membuka koneksi ke sejumlah host, seperti ini

clusterssh -l username labhost1 labhost2 labhost3

clusterssh kemudian akan memberi Anda jendela untuk memasukkan perintah Anda, tetapi juga satu jendela terminal untuk setiap host yang Anda hubungkan - sehingga Anda dapat melihat apa yang sebenarnya terjadi!

Contoh ClusterSSH Dalam contoh ini, Anda dapat melihat jendela perintah dengan "pembaruan apt-get" di sebelah kanan dan semua terminal cluster di sebelah kiri.

Jika salah satu host memiliki masalah, Anda dapat melihat pesan kesalahan segera dan klik pada terminal yang sesuai untuk memperbaiki situasi.

Anda juga dapat menulis daftar untuk clustersshterhubung ke: Buka editor favorit Anda dan tulis untuk$HOME/.clusterssh/clusters

collegelab labhost1
collegelab labhost2
collegelab labhost3

kemudian terhubung dengan

clusterssh -l username collegelab

Bacaan lebih lanjut


Dalam keadilan, Anda mungkin bisa melakukan hal yang sama dari An Command commandment sesederhana dan semudah yang Anda sarankan untuk clusterssh .. :) Masukkan host Anda dalam file inventaris, dan kemudian jalankan perintah dari terminal, sesuatu sepertiansible inventory -a 'shell command goes here'
tplive

1
@tive yakin, Anda dapat melakukannya dengan perintah ssh sendiri juga, ada juga pssh.... tetapi dengan clusterssh Anda memiliki umpan balik langsung dan cara untuk menghentikan / memperbaiki jika ada masalah. Ini hanyalah cara alternatif untuk melakukan sesuatu. Secara pribadi saya lebih suka otomatisasi perangkat lunak (seperti mungkin).
Robert Riedl

Di lab kampus saya, setiap komputer memiliki nama pengguna dan kata sandi yang sama . jadi bisakah saya menggunakan clustersshatau ansibleuntuk itu?
Abhishek Kamal

@RobertRiedl dan itulah mengapa saya membenarkan jawaban Anda .. :)
tplive

1
@AbhishekKamal Benar-Benar! Untuk pengalaman paling lancar dengan login tanpa kata sandi, masukkan kunci ssh publik Anda ke dalam file berwenang_kunci di setiap komputer menggunakan ssh-copy-idatau serupa.
tiveive

0

Berikut ini adalah solusi sekuensial yang sangat mendasar dengan asumsi Anda tahu semua nama host atau alamat ip komputer di jaringan dan Anda telah mengaktifkan otentikasi kunci publik. Lihat di sini untuk rincian lebih lanjut - https://man.openbsd.org/ssh-keygen.1

  1. Buat file baru misalnya hosts.txt
  2. Isi setiap baris file tersebut dengan alamat ip atau nama host dari kotak-kotak pada LAN Anda
  3. Iterasi setiap baris dalam file dan instal perangkat lunak pada host seperti itu

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


@bunnydrug Nama host untuk semua komputer di LAB saya adalah CSLAB dan kata sandi adalah E201. jadi apa yang harus saya tulis dalam hosts.txtfile
Abhishek Kamal
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.