Beberapa waktu yang lalu, kami telah menulis panduan yang menjelaskan cara menjalankan satu perintah pada beberapa sistem jarak jauh sekaligus menggunakan PSSH dalam sistem mirip Unix. Hari ini, kita akan membahas tentang alat serupa yang disebut DSH . Itu singkatan dari D terdistribusi sh ell (atau cangkang penari). Dengan menggunakan DSH, kita dapat menjalankan perintah linux di beberapa host sekaligus. Ini adalah utilitas sumber terbuka dan gratis yang ditulis menggunakan C bahasa pemrograman.
Instal DSH
Di Arch Linux dan turunannya:
DSH tersedia dalam AUR , sehingga Anda dapat menginstalnya menggunakan pembantu AUR, misalnya Yay , seperti yang ditunjukkan di bawah ini.
$ yay -S dsh
Di Debian, Ubuntu:
DSH tersedia di repositori resmi Debian, Ubuntu dan sistem berbasis DEB lainnya seperti Linux Mint, Elementary OS. Untuk menginstalnya DSH di sistem berbasis DEB, jalankan:
$ sudo apt-get install dsh
Untuk distribusi Linux lainnya, DSH dapat dikompilasi dan diinstal secara manual seperti yang dijelaskan di bawah ini.
DSH memerlukan libdshconfig untuk bekerja. Anda dapat mengunduh libdshconfig dan dsh versi terbaru dari tautan ini .
Setelah diunduh, buka direktori tempat Anda mengunduh kedua paket.
Pertama-tama kompilasi dan instal libdshconfig menggunakan perintah:
$ tar xfz libdshconfig*.tar.gz
$ cd libdshconfig-*
$ ./configure ; make
$ sudo make install
Kemudian, kompilasi dan instal dsh juga.
$ tar xfz dsh*.tar.gz
$ cd dsh-*
$ ./configure ; make
$ sudo make install
Konfigurasi DSH
Kami telah menginstal dsh. Sekarang mari kita konfigurasikan DSH untuk menjalankan perintah melalui banyak host. Untuk melakukannya, edit file konfigurasi DSH terlebih dahulu dan setel nilai shell jarak jauh dari rsh ke ssh.
Di Arch Linux dan turunannya, file konfigurasi default adalah /etc/kgname/dsh.conf .
Edit file ini:
$ sudo vi /etc/kgname/dsh.conf
Ubah remoteshell nilai dari rsh ke ssh .
#default configuration file for dsh. # suppled as part of dancer's shell verbose = 0 remoteshell =ssh showmachinenames = 0 waitshell=1 # whether to wait for execution #remoteshellopt=... # default config file end.
Pada sistem berbasis DEB:
$ sudo vi /etc/dsh/dsh.conf remoteshell =ssh
Pada sistem berbasis RPM:
$ sudo vi /usr/local/etc/dsh.conf remoteshell =ssh
Selanjutnya, kita perlu menambahkan host jarak jauh tempat kita ingin menjalankan perintah.
Untuk melakukannya, buat/edit daftar mesin. file dan tambahkan host jarak jauh.
Di Arch Linux dan turunannya:
$ sudo vi /etc/kgname/machines.list
Tambahkan IP atau Hostname remote host satu per satu seperti yang ditunjukkan di bawah ini.
192.168.43.100 192.168.43.101
Pada sistem berbasis DEB:
$ sudo vi /etc/dsh/machines.list 192.168.43.100 192.168.43.101
Pada sistem berbasis RPM:
$ sudo vi /usr/local/etc/machines.list 192.168.43.100 192.168.43.101
Anda dapat menambahkan sejumlah host jarak jauh di machines.list berkas.
Jalankan Perintah Linux Pada Beberapa Host Sekaligus Menggunakan DSH
Setelah Anda menambahkan semua host jarak jauh dan membuat pengguna umum di semua sistem jarak jauh Anda, Anda dapat menjalankan perintah Linux di semua host jarak jauh sekaligus. Katakan misalnya, perintah berikut akan mengeksekusi uname -r perintah pada semua host jarak jauh sekaligus.
$ dsh -a -c uname -r
Ini akan meminta Anda untuk memasukkan nama pengguna dan kata sandi dari masing-masing host jarak jauh. Jika Anda tidak ingin memasukkan kredensial pengguna setiap kali menjalankan perintah ini, cukup konfigurasi login SSH tanpa sandi .
Contoh keluaran:
3.10.0-514.16.1.el7.x86_64 4.4.0-34-generic
Seperti yang Anda lihat pada output di atas, utilitas dsh menampilkan versi Kernel dari dua host jarak jauh saya.
Untuk detail lebih lanjut, lihat halaman manual.
$ man dsh
Bacaan yang disarankan:
- Jalankan Perintah Pada Sistem Linux Jarak Jauh Melalui SSH