У меня есть общий хостинг. У меня есть доступ к оболочке. Операционная система - Ubuntu, и я хочу проверить, является ли это версией сервера или версией для ПК.
Когда я вхожу через shell, он показывает следующую информацию:
Linux [server-name] 2.6.32-24-generic #39-Ubuntu SMP Wed Jul 28 06:07:29 UTC 2010 i686 GNU/Linux
Ubuntu 10.04.1 LTS
Нет четкого, просто сформулированного ответа на этот вопрос.
Можно загрузить функции рабочего стола на сервер и удалить их с рабочего стола. Основная проблема заключается в том , какие пакеты являются частью функциональности сервера , и получит дополнительный период поддержки и обновлений.
Лучший ответ (ИМХО) можно найти в вопросе Launchpad (с 2008 года):
В чем разница между серверной и настольной версией? [1110 ]
это можно проверить, набрав cat /etc/motd
. Вывод будет отличаться на сервере и будет отличаться на настольном издании.
Рабочий стол:
Ubuntu 10.10
Welcome to Ubuntu!
* Documentation: https://help.ubuntu.com/
Сервер:
Ubuntu 10.10
Welcome to Ubuntu!
* Documentation: https://help.ubuntu.com/
System information as of Wed Nov 10 20:54:11 UTC 2010
System load: 0.07 Processes: 78
Usage of /: 30.4% of 14.76GB Users logged in: 1
Memory usage: 38% IP address for eth0: XXXXXXXX
Swap usage: 0%
Graph this data and manage this system at https://landscape.canonical.com/
---------------------------------------------------------------------
At the moment, only the core of the system is installed. To tune the
system to your needs, you can choose to install one or more
predefined collections of software by running the following
command:
sudo tasksel --section server
Также стоит отметить, что этот файл легко редактируется с помощью sudo, что делается очень часто, потому что это сообщение, которое пользователь видит, когда он входит через ssh.
landscape-client
. Это может произойти на серверах, но на самом деле это не связано с тем, используете ли вы серверную ОС или нет.
– Tania R
11.11.2010, 13:04
Это может быть не самым быстрым или чистым способом определения, но запустите:
dpkg --get-selections | grep linux-image | grep -v deinstall
Если установленный в данный момент пакет linux-image содержит слово «server», значит, вы работаете в Ubuntu сервер.
Например, текущий последний пакет ядра для рабочего стола Ubuntu 10.10:
linux-image-2.6.35-22-generic
И сервер:
linux-image-2.6.35-22-server
Для более общий пакет, который должен быть одинаковым в разных версиях Ubuntu, linux-image-generic
является пакетом по умолчанию для рабочего стола Ubuntu и linux-image-server
по умолчанию для серверной версии.
dpkg -l ubuntu-desktop
сообщит вам, установлены ли предлагаемые компоненты рабочего стола.
uname -a
сообщит вам, используется ли сервер или общее ядро.
«Рабочий стол или сервер» не является бинарным - можно установить некоторые компоненты рабочего стола на машину, изначально установленную в качестве сервера, и т. Д.
Вы должны решить, какой пакет вы хотите использовать в качестве ключевое различие между «сервером» или «настольным компьютером». Может быть, xserver-xorg
- хороший выбор, хотя даже некоторые серверы будут иметь это для зависимостей пакетов или для поддержки удаленных рабочих столов.
ubuntu-desktop
- это разумный тест на наличие рабочего стола Ubuntu. Если вы устанавливаете с настольного CD / ISO, у вас будет этот пакет.
– arunagw
05.08.2013, 16:42
Ни одно из вышеперечисленных решений не помогло мне. Иногда в системе нет motd, или, возможно, администратор изменил его и т. Д. Я даже не уверен , почему ответ, приведенный выше, был «правильным». Вот что я в итоге использовал.
#!/bin/bash
__check_desktop() {
if [ `(dpkg-query -W -f='${Status}' ubuntu-desktop 2>/dev/null | grep -c "ok installed")` -eq 1 ]; then
err "Ubuntu Server is required, but it appears that you are running Ubuntu Desktop"
exit 1
fi
}
# Now just call the function:
__check_desktop
Вы должны помнить, что между выпусками Desktop и Server нет принципиальной разницы.
Вполне вероятно, однако, что у вашего хостинг-провайдера нет всех графических элементов, таких как GNOME, на вершине стека, потому что они не нужны. Установленные пакеты делают его сервером.
Возможно, вас заинтересует скрипт ubuntu-maintenance-check
( ссылка ), который сообщает вам цикл обслуживания каждого установленного пакета - те, которые имеют более длительный период, являются серверными пакетами.
Я запускаю обнаружение в большой сети и пытаюсь отличить его от LINUX, установленного как рабочая станция, по сравнению с сервером (потому что мы будем относиться к ним по-разному).
Я надеялся на атрибут или файл, в котором вместо Ubuntu был Ubuntu-Server.
Я нахожу некоторые интересные файлы в / var / log / installer:
media-info говорит «Ubuntu-Server» для сервера и просто «Ubuntu» для рабочего стола. syslog показывает ту же информацию для «cdrom»
Оба они полезны, и я могу использовать их вместе с информацией об оборудовании. Это должно сказать вам, по крайней мере, какая версия была установлена первоначально.
Этот ответ не такой резкий, как делают некоторые люди. Вы можете выполнить установку пакета ubuntu-standard
и использовать его в качестве сервера. Вы можете использовать ubuntu-minimal
в качестве сервера. Вы можете взять ubuntu-desktop
и сломать его, чтобы он не использовал X ... Или даже оставить X там для администрирования (eww). Вы можете изменить пакеты ядра с -server на -generic на -rt и т. Д. Вы можете изменить motd или даже просто обновить версию, в которой motd не так длинен, как новая (ни один из моих серверов никогда не выходил) со всей этой болтовней - вероятно, потому что они обновлены с более старых LTS).
Я думаю, что все мы должны задавать вопросы: Почему это важно? Чему ты пытаешься научиться? Какая разница для вас?
Если вы пытаетесь запустить что-то графическое, проверьте, что вам действительно нужно (X, x11vnc и т. Д.). Если вы пытаетесь проверить, что нет графического интерфейса, сделайте то же самое!