2015-07-29 3 views
0

Как определить дату установки (когда система была загружена) для Linux, Дарвина, FreeBSD и NetBSD? Кроме того, есть ли способ получить виртуальный статус этих машин (независимо от того, является ли система виртуальной или физической). Мне нужен вывод с использованием команд терминала.Дата установки и виртуальный статус машины (для Darwin, FreeBSD и NetBSD)

Например,

Windows, дата машина Установка может быть найдена с помощью следующей команды:

>Command: 
> 
>  ssh host systeminfo | grep -i original 
> 
>Output: 
> 
>  Original Install Date:  1/24/2014, 12:30:41 PM 

машина Windows Virtual состояние машины можно найти с помощью следующей команды:

>Command: 
> 
> ssh host systeminfo | grep -i manufacturer 
> 
>Output: 
> 
> OS Manufacturer:   Microsoft Corporation 
> System Manufacturer:  VMware, Inc. 

ответ

0

Кажется, вы используете vmware.

Чтобы проверить, являются ли вы внутри VM использовать vmware-checkvm из открытых-VM-инструментов

0

Гадать, если ваша машина виртуальной машины, используйте следующую команду:

  • Под Linux: использовать lspci | grep -ic vmware или dmesg | grep -ic vmware или dmidecode | grep -ic vmware
  • Под OpenBSD: использовать pcidump -v | grep -ic vmware или dmesg | grep -ic vmware
  • Под Darwin/Mac OS X: использовать system_profiler | grep -ic vmware

Я думаю, что FreeBSD и NetBSD также имеют эквивалент команды pcidump, но я использую в основном OpenBSD в эти дни, поэтому я не уверен на 100%.

Вы также можете попытаться найти строку VMWare в /var/log/messages, например, и dmesg | grep -ic vmware должен работать практически на всех платформах (с той оговоркой, что ваш dmesg может быть перезаписаны, если машина работает уже в течение длительного времени) ,

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

В качестве дополнительного бонуса, если вы используете Virtual Box, просто замените vmware на virtualbox, и команды должны работать точно так же.

Вот результаты на Linux виртуальной машины:

# dmidecode | grep -ic vmware 
4 
# lspci | grep -ic vmware 
35 

А вот результаты на Linux физической машина:

# dmidecode | grep -ic vmware 
0 
lspci | grep -ic vmware 
0 

Насколько угадывая дату установки машины, это не очень просто. Попробуйте использовать команду find, чтобы искать самый старый файл на жестком диске, но даже это приблизительное значение, так как сервер, возможно, несколько раз обновлялся между сегодняшним днем ​​и в первый раз, когда он был установлен.

+0

Это работает только для Linux. –

+0

Нет, он работает для Linux, OpenBSD и Darwin. Я тестировал их на всех трех ОС, поэтому я знаю, что они работают. Фактически для FreeBSD вы должны взглянуть на 'pciconf' и' devinfo': они должны работать практически так же, как и в приведенных мною примерах. –

0

На FreeBSD дата начала загрузки системы не записано.

Если вы посмотрите даты подкаталогов в корневом каталоге, вы найдете множество из них, которые указывают на ту же дату (но не на то же время). Это дата, когда система была либо установлена, либо обновлена.

Вы можете видеть, когда машина была последний загрузился с

> sysctl kern.boottime 
kern.boottime: { sec = 1438374739, usec = 930216 } Fri Jul 31 22:32:19 2015