Answers:
这个答案不像有些人说得那么干。您可以ubuntu-standard
安装软件包并将其用作服务器。您可以ubuntu-minimal
用作服务器。您可以ubuntu-desktop
折断它,使其不使用X ...,甚至可以将X留在那里进行管理(eww)。您可以将内核程序包从-server更改为-generic到-rt等。您可以更改motd或什至只从motd不需要新版本的版本进行升级(我的服务器都没有问世)所有这些问题-可能是因为它们是从较早的LTS升级而来的。
我猜我们所有人都应该问的问题是:为什么重要?你想学什么?它对您有什么影响?
如果您要运行图形化的内容,请检查您实际需要的内容(X,x11vnc等)。如果您要检查是否没有图形界面,请执行相同操作!
dpkg -l ubuntu-desktop
会告诉您是否已安装建议的桌面组件。
uname -a
会告诉您是使用服务器还是通用内核。
“台式机或服务器”不是二进制文件,可以在最初作为服务器安装的计算机上安装一些台式机组件,等等。
您必须决定要使用哪个程序包作为“服务器”或“桌面”之间的关键区别。也许xserver-xorg
是一个不错的选择,尽管即使某些服务器也具有依赖包或支持远程桌面的功能。
dpkg -i ubuntu-desktop
不按照你对我的描述去做
dpkg -l
。(已更新。)
ubuntu-desktop
是对您是否具有Ubuntu桌面的合理测试。如果从桌面CD / ISO安装,则将拥有此软件包。
可以通过输入来检查 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
已安装。在服务器上可能确实如此,但实际上与是否使用服务器操作系统并没有真正的联系。
这可能不是最快或最纯粹的告诉方式,但可以运行:
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
,也是服务器版本的默认软件包。
这个问题没有明确定义的措辞简单的答案。
可以将桌面功能加载到服务器,并将其从桌面删除。根本问题是哪些软件包是服务器功能的一部分,并将获得额外的支持和更新时间。
的最佳答案(恕我直言)在(2008年),一个快速启动的问题上找到:
服务器版和台式机版有什么区别?
您必须记住,桌面版和服务器版之间没有根本区别。
但是,您的托管服务提供商很可能没有将所有图形化内容(例如GNOME)放在堆栈的顶部,因为不需要它们。已安装的软件包使它成为服务器。
您可能对ubuntu-maintenance-check
脚本(link)感兴趣,该脚本告诉您已安装的每个软件包的维护周期-期限较长的是服务器软件包。
我正在大型网络上运行发现,并且试图与作为工作站而不是服务器安装的LINUX区别开来(因为我们将以不同的方式对待它们)。
我希望具有Ubuntu-Server而不是Ubuntu的属性或文件。
我确实在/ var / log / installer中找到了一些有趣的文件:
media-info对服务器说“ Ubuntu-Server”,对台式机说“ Ubuntu”。syslog显示与“ cdrom”相同的信息
这两个都是有用的,我可以将它们与硬件信息结合使用。这至少应该告诉您最初安装的版本。
在这里“几乎”提出了同样的问题: 了解Ubuntu分发服务器或桌面
我也想在这里发布我的答案,因为它提供了一些新的提示,提示您如何检查您的桌面版或服务器版。
如前几篇文章所述,要确定是否使用台式机或服务器版本并不容易,因为可以安装或删除所有软件包。
如果您处于一个一致且可预测的环境中,那么确定是台式机还是服务器就不难了。
我仅使用ubuntu-desktop(香草)或ubuntu服务器。对我来说,dpkg -l ubuntu-desktop
这是确定它是台式机还是服务器的非常可靠的方法。
如链接文章中所述,要确定是使用台式机版本还是服务器版本并不容易,因为可以安装或删除所有软件包。
这是我用于脚本的函数。基本上,它检查是否已安装xserver-common或xwayland。如果安装了其中之一,则表示其为台式机系统。
#!/usr/bin/env bash
check_if_desktop (){
IS_DESKTOP="false"
displayManager=(
'xserver-common' # X Window System (X.Org) infrastructure
'xwayland' # Xwayland X server
)
for i in "${displayManager[@]}"; do
dpkg-query --show --showformat='${Status}\n' $i 2> /dev/null | grep "install ok installed" &> /dev/null
if [[ $? -eq 0 ]]; then
IS_DESKTOP="true"
fi
done
}
以下是其他几项要检查的内容:
默认情况下,服务器版本使用classic /etc/network/interfaces
,而台式机版本与Network Manager一起运行,因此请检查是否已安装Network Manager。
dpkg -l network-manager
或者,如果收到以下消息,请运行命令nmcli(NM的命令行工具):
The program 'nmcli' is currently not installed. You can install it by typing:
sudo apt-get install network-manager
您使用服务器版本的可能性很高。但是请记住,您可以修改服务器以与NM一起运行。
使用以下命令确定是否安装了桌面组件
dpkg -l ubuntu-desktop
在服务器上,您将收到以下消息:
dpkg-query: no packages found matching ubuntu-desktop
在台式机上,您会收到一条消息,告诉您安装了哪个版本
检查其他通常在台式机上找到的软件包:
dpkg -l unity (gnome, mate and so one) # Desktop environments
dpkg -l compiz (E17, fluxbox and so one) # Window manager
dpkg -l xorg # X window server
或使用:
dpkg-query --show --showformat='${Status}\n' *packagename* 2> /dev/null | grep "install ok installed"
检查X服务器是否正在运行:
ps -e | grep X
sudo netstat -lp | grep -i Xorg
检查仅在台式机上可用的服务:
取决于您的Ubuntu版本如何检查服务:
sudo service *servicename* status # on SysVinit
sudo status *servicename* # on Upstart
systemctl status *servicename*.service # on systemd
典型的服务有:
以及与某些衍生产品相关的其他一些
我的应用程序取决于服务器分布
即使在台式机版本上运行服务器应用程序没有任何意义,在台式机版本上安装应用程序的所有依赖项并使其正常运行也不会有任何问题。
您能否详细说明为什么它取决于服务器发行版?
上述解决方案都不适合我。有时系统没有杂音,或者管理员更改了杂音,等等。我什至不确定为什么上面给出的答案是“正确”的答案。这就是我最终使用的内容。
#!/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