Bir Ubuntu makinesinin sürümünü uzaktan nasıl bulabilirim?


20

Ubuntu’yu çalıştıran 60’dan 80’e kadar sistemim var. Bazıları 8.04, bazıları ise en son 10.10 sürümlerinde. Şimdi tüm eski Ubuntu sürümlerini daha yeni bir sürüme yükseltme sürecindeyiz. Her Ubuntu sistemini açmak ve eski Ubuntu sürümüne ilişkin notları almak ve daha sonra güncellemek zordur. Bütün bu makinelerin IP adreslerini bir dosyada dosyalarım var. Bu yüzden görevi otomatikleştirecek basit bir bash betiği arıyorum. Çıktının şöyle görünmesini bekliyorum:

172.29.34.40 ubuntu 10.04
172.29.34.41 ubuntu 8,04
172.29.34.42 ubuntu 8,10

ve benzeri .. Biri bana yardım edebilir mi?

Yanıtlar:


31

Kullanarak Ubuntu sürümünü alabilirsiniz

$ lsb_release -s -d
Ubuntu 10.04.1 LTS

Bunu otomatikleştirmek istiyorsanız, ana bilgisayarların listesini stdin'den okuyan ve komutunu SSH üzerinden yürüten bir Bash betiği yazın. Gibi bir şey

#!/bin/bash
while read host; do
   echo -n "$host: "
   ssh "$host" lsb_release -s -d < /dev/null
done

Bağlanmak istediğiniz tüm makinelerde ortak bir kullanıcı hesabınız varsa, aradığınız şey bu olmalıdır.

#!/bin/bash
RUSER="username"
while read host; do
   echo -n "$host: "
   ssh "$RUSER@$host" lsb_release -s -d < /dev/null
done

Çalıştırılabilir ( chmod a+x versions.sh) yapmayı hatırlatarak, version.sh olarak kaydedin ve çalıştırın

$ versions.sh < ips.txt

Tek komut çalıştırarak ubuntu çalıştıran tüm 80 sistemlerin çıktısını ya da basit bir komut dosyasını kullanarak istiyorum.
karthick87

Yorum gönderdiğinde zaten cevabımı güncelliyordum. Umarım yardımcı olur.
Adam Byrtek

btw, $ ipuser@host bilgi içerebilir .
antivirtel

Evet, boşlukla ayrıldığı sürece ssh tarafından kabul edilen herhangi bir şey olabilir.
Adam Byrtek

Bunu bash betiği olarak yapmamı ister misiniz? Ve $ IP tüm makinelerin IP adreslerini içermeli midir?
karthick87

3

SSH sunucularını çalıştırdıklarını varsayarsak, SSH paket sürümüne dayanarak Ubuntu sürümlerini tahmin etmeye çalışabilirsiniz:

$ nc IP.IP.IP.IP 22
SSH-2.0-OpenSSH_5.5p1 Debian-4ubuntu5
Ctrl-C

Openssh'ın güncel sürümleri Launchpad https://launchpad.net/distros/ubuntu/+source/openssh adresinde listelenmiştir :

openssh | 1:4.2p1-7ubuntu3.5 | dapper-updates/main
openssh | 1:4.7p1-8ubuntu3   | hardy-updates/main
openssh | 1:5.1p1-6ubuntu2   | karmic/main
openssh | 1:5.3p1-3ubuntu6   | lucid-updates/main
openssh | 1:5.5p1-4ubuntu5   | maverick-updates/main
openssh | 1:5.8p1-1ubuntu2   | natty/main

Yani benim yukarıdaki örneğimde, 5.5p1Debian sürümüyle -4ubuntu5Ubuntu 10.10 Maverick sistemi olduğu görülüyor.

Bazı sunucular dosyalarında "DebianBanner no" olabilir /etc/ssh/sshd_config, ancak OpenSSH'nin yukarı akış sürümü hala sistemi tanımlamak için yeterlidir (Ubuntu'nun şimdiye kadar her sürümü farklı bir OpenSSH sürümüne sahiptir).


Bunu sevdim - bu potansiyel olarak en az emek yoğun bir çözümdür. 80 ana bilgisayara herhangi bir şey ayarlamanızı gerektirmez.
DrSAR
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.