Как найти версию машины с Ubuntu удаленно?

У меня более 60–80 систем, работающих под управлением Ubuntu. Некоторые из них с версией 8.04, а некоторые с последней версией 10.10. Сейчас мы находимся в процессе обновления всех старых версий Ubuntu до более новой версии. Трудно включить каждую систему Ubuntu и делать заметки о более старой версии Ubuntu, а затем выполнить обновление. У меня есть IP-адреса всех этих машин в текстовом файле. Поэтому я ищу простой сценарий bash, который автоматизирует задачу. Я ожидаю, что результат будет выглядеть так:

172.29.34.40 ubuntu 10.04
172.29.34.41 ubuntu 8.04
172.29.34.42 ubuntu 8.10

и и так далее. Кто-нибудь может мне помочь?

20
задан 1 April 2011 в 03:58

2 ответа

Вы можете получить версию Ubuntu, используя

$ lsb_release -s -d
Ubuntu 10.04.1 LTS

. Если вы хотите автоматизировать это, напишите сценарий Bash, который читает список хостов из stdin и выполняет команду через SSH. Что-то вроде

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

Если у вас есть одна общая учетная запись пользователя на всех машинах, к которым вы хотите подключиться, то это должно быть то, что вы ищете

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

Сохраните его как версии. sh, не забывая сделать его исполняемым (chmod a+x versions.sh) и выполнить

$ versions.sh < ips.txt
0
ответ дан 1 April 2011 в 03:58

Предполагая, что они работают на SSH-серверах, вы можете попытаться угадать версии Ubuntu на основе версии пакета SSH:

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

Текущие версии openssh перечислены в Launchpad https: // launchpad .net / distros / ubuntu / + source / openssh :

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

Итак, в моем приведенном выше примере 5.5p1 с версией Debian -4ubuntu5 выглядит как система Ubuntu 10.10 Maverick.

Некоторые серверы могут иметь «DebianBanner no» в своем файле /etc/ssh/sshd_config, но все еще видна исходная версия OpenSSH, что достаточно для идентификации системы по-прежнему (каждый выпуск Ubuntu до сих пор имеет различную исходную версию OpenSSH) .

0
ответ дан 1 April 2011 в 03:58

Другие вопросы по тегам:

Похожие вопросы: