Ubuntu Masaüstü veya Sunucunun kurulup kurulmadığı nasıl kontrol edilir?


34

Paylaşılan bir barındırma var. Kabuğa erişimim var. İşletim sistemi Ubuntu'dur ve bunun sunucu sürümü mü yoksa masaüstü versiyonu mu olduğunu kontrol etmek istiyorum.

Kabuk aracılığıyla giriş yaptığımda aşağıdaki bilgileri gösteriyor:

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

Yanıtlar:


20

Bu cevap, bazılarının çıkardığı kadar kesin ve kuru değildir. Bir ubuntu-standardpaket kurulumu yapabilir ve bunu bir sunucu olarak kullanabilirsiniz. ubuntu-minimalSunucu olarak kullanabilirsiniz . ubuntu-desktopX'i kullanmaması için alıp bozabilirsiniz ... hatta X idaresi için orada bırakabilirsiniz (eww). Çekirdek paketlerini -server'den -generic to -rt'e değiştirebilirsin. Motd'yi değiştirebilir, hatta sadece motd'in yenisi olmadığı sürece (sunucularımın hiç çıkmadığı bir sürümden yükseltme yapabilirsin) tüm bu guff ile - muhtemelen eski LTS'lerden yükseltildiklerinden dolayı).

Sanırım hepimizin sorması gereken sorular şunlar: Neden önemli? Ne öğrenmeye çalışıyorsun? Bu senin için ne fark eder?

Grafik bir şey çalıştırmaya çalışıyorsanız, gerçekte neye ihtiyacınız olduğunu kontrol edin (X, x11vnc, etc). Grafik bir arayüz olmadığını kontrol etmeye çalışıyorsanız, aynısını yapın!


+1. Neden önemli? Ksplice'yi düşünün. Masaüstü ücretsiz, sunucu değil ...;)
0xC0000022L

1
Bu daha özel bir soru: ksplice, ücretsiz masaüstü sürümünü kullanıp kullanamayacağınıza karar vermek için neyi kontrol ediyor. Masaüstü vs sunucu çekirdeği oluşturmak için denetlediklerini tahmin ediyorum.
poolie

1
Neden fark eder? Sistemin yerini değiştirme yetkim yok, bu yüzden başlangıçta ne olduğunu bilmekle başlayarak, kapatmaya ihtiyacım yok. Ne öğrenmeye çalışıyorsun? Sadece bunun için ne istendi: sunucu mu yoksa masaüstü kurulum mu? Size ne fark eder? Eğer bir sunucu kurulumuysa ve X doluysa, IT çalışanlarımızı vb.
Kovmalıyız

@JanKyuPeblik Eğer bozuk bir sisteme sahipseniz ve açıkçası bir masaüstü değilse , hatayı bildiren kişiye sormalısınız . Ciddi anlamda. Bilgisayarlar araba değil. Çalışma değerleri ve toleransların spesifik bir listesi değildir. Hepsi konfigüre edilebilir. Buradaki nokta - düşüncelerinize uygun olarak - sistemi teslim eden kişinin bir sunucuyu kolayca alıp bir masaüstü olarak yapılandırması olabilir. Bir sunucuya geri döndürürseniz, zarar verdiniz. Yükleme sırasındaki ikisi arasındaki teknik fark, bir sorunla ilgili değildir. Ve 2010'da ne fark vardı şimdi önemli bir slighter.
Oli

Tek çıkardığım "tarih aptalca" idi.
Jan Kyu Peblik

34
dpkg -l ubuntu-desktop 

Önerilen masaüstü bileşenlerinin yüklü olup olmadığını size söyleyecektir.

uname -a

Sunucu veya genel çekirdeğin kullanılıp kullanılmadığını size söyleyecektir.

"Masaüstü veya sunucu" ikili bir şey değildir - başlangıçta sunucu olarak kurulmuş bir makineye yüklenmiş bazı masaüstü bileşenlerinin bulunması mümkündür.

Hangi paketi kullanmak istediğinize "sunucu" veya "masaüstü" arasındaki anahtar ayrım olarak karar vermelisiniz. xserver-xorgBazı sunucular bile paket bağımlılıkları için veya uzak masaüstlerini desteklemek için buna sahip olsa da, belki de iyi bir seçimdir.


2
dpkg -i ubuntu-desktop benim için tarif ettiğin şeyi yapmaz.
8128

2
Üzgünüm, demek istedim dpkg -l. (Güncelleme.)
poolie

2
Ubuntu-masaüstü paketi olmadan mükemmel çalışan bir masaüstüne sahip olmak mümkündür. Bu, yalnızca kontrol panelleri, Debian'a özgü şeyler vb. Gibi standart bir dizi destekleyici uygulamanın masaüstünüzle birlikte kurulmasını sağlamak için bir meta pakettir. Bunlardan herhangi birini kaldırırsanız, ubuntu-desktop da etkin bir şekilde "kaldırılır" ancak yine de bir masaüstünüz olacak. Bunun yerine xserver-xorg-core paketini kontrol etmek daha iyi olurdu. Bu paketin varlığı, kullanıldığını garanti etmese de, masaüstü olmayan bir makineye kurulması için iyi bir neden yoktur.
thomasrutter

Evet, masaüstü ve sunucu arasında keskin bir çizginin olmadığı gerçeği, benimki de dahil olmak üzere çoğu cevap tarafından yoğun şekilde tartışıldı. Ancak ubuntu-desktopUbuntu masaüstünüzün olup olmadığına dair makul bir testtir. Masaüstü CD / ISO'dan kurulum yaparsanız, bu pakete sahip olacaksınız.
poolie

15

yazarak kontrol edilebilir cat /etc/motd. Çıktı sunucuda farklılık gösterecek ve masaüstü baskısında farklı olacaktır.

Masaüstü:

Ubuntu 10.10

Welcome to Ubuntu!
 * Documentation:  https://help.ubuntu.com/

Sunucu:

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  

Ayrıca, bu dosyanın sudo ile kolayca düzenlenebildiğinden bahsetmekte fayda vardır, çünkü bu kullanıcı ssh ile giriş yaptığında gördüğü mesajdır.


2
Bu çoğunlukla landscape-clientyüklü olup olmadığını size söyler . Bu sunucularda doğru olabilir, ancak aslında sunucu işletim sistemini kullanıp kullanmamanıza bağlı değil.
poolie

5

Bu anlatmanın en hızlı veya en saf yolu olmayabilir, fakat koşun:

dpkg --get-selections | grep linux-image | grep -v deinstall

Şu anda yüklü olan linux resim paketi içinde "server" kelimesini içeriyorsa, Ubuntu sunucusunu çalıştırıyorsunuzdur.

Örneğin, Ubuntu 10.10 masaüstünün mevcut son çekirdek paketi:

linux-image-2.6.35-22-generic

Ve sunucu:

linux-image-2.6.35-22-server

Ubuntu'nun farklı sürümlerinde aynı olması gereken daha genel bir linux-image-genericpaket için, Ubuntu masaüstü için varsayılan paket linux-image-serverve sunucu sürümü için varsayılandır.


4
Sunucu çekirdeğini, masaüstü çekirdeğini bir sunucuda çalıştırabileceğiniz gibi, bir masaüstü kurulumunda da çalıştırabilirsiniz. Bu herhangi bir uzatma ile kesin bir cevap değildir.
Oli

@Oli: Daha önce de belirtildiği gibi, kesin bir cevap yok gibi görünüyor;)
0xC0000022L

4

Bu soru için açıkça tanımlanmış, basit ifadeli bir cevap yoktur.

Masaüstü özelliklerini sunucuya yüklemek ve bunları masaüstünden kaldırmak mümkündür. Kök sorun, hangi paketlerin sunucu işlevinin bir parçası olduğu ve ek destek ve güncelleme dönemlerini alacağıdır.

En iyi cevabı (IMHO) bir Launchpad sorusunda bulabilirsiniz (2008'den itibaren):

sunucu ve masaüstü sürümü arasındaki fark nedir?

https://answers.launchpad.net/ubuntu/+question/40114


Launchpad sorusunun sonucunu burada özetleyebilir misiniz?
Peter Mortensen

2

Masaüstü ve Sunucu sürümleri arasında temel bir fark olmadığını unutmayın.

Ancak, barındırma sağlayıcınızın yığında GNOME gibi tüm grafik parçalarının bulunmaması büyük olasılıkla muhtemeldir, çünkü bunlara gerek yoktur. Yüklenen paketler onu sunucu yapan şeydir.

Size kurulu olan her bir paketin bakım döngüsünü gösteren ubuntu-maintenance-checkscript ( link ) ile ilgilenebilirsiniz - daha uzun süreli olanlar sunucu paketleridir.


Görünüşe göre, 12.04'ten itibaren, desteklenen tüm paketler, sunucudan masaüstüne ayrım yapılmaksızın aynı destek ömrünü elde eder .
poolie

2

Büyük bir ağ üzerinde keşif yapıyorum ve sunucuya karşı bir iş istasyonu olarak kurulan LINUX'tan ayrılmaya çalışıyorum (çünkü onlara farklı davranacağız).

Ubuntu yerine Ubuntu-Sunucusu olan bir öznitelik veya dosya umuyordum.

/ Var / log / installer'da ilginç dosyalar buluyorum:

media-info sunucu için "Ubuntu-Server" ve masaüstü için sadece "Ubuntu" diyor. syslog "cdrom" için aynı bilgiyi gösterir.

Her ikisi de faydalıdır ve bunları donanım bilgileriyle birlikte kullanabilirim. Bu size en azından hangi versiyonun orijinal olarak yüklendiğini söylemelidir.


1

"Neredeyse" aynı soru burada soruldu: Ubuntu Dağıtım sunucusunu veya masaüstünü bilin

Cevabımı buraya da göndermek istiyorum çünkü bir masaüstü veya sunucu sürümünde olup olmadığınızı kontrol etmeniz için birkaç yeni ipucu var.

Önceki yayınlarda belirtildiği gibi, tüm paketler yüklenip kaldırılabildiğinden bir masaüstü veya sunucu sürümü kullanıp kullanmadığınızı belirlemek kolay değildir.

Tutarlı ve tahmin edilebilir bir ortamdaysanız, masaüstü veya sunucu olup olmadığını belirlemek çok zor olmamalıdır.

Sadece ubuntu-desktop (vanilya) veya ubuntu server kullanıyorum. Benim için dpkg -l ubuntu-desktopbir masaüstü veya sunucu olup olmadığını belirlemek için çok güvenilir bir yöntemdir.

Bağlantılı gönderide belirtildiği gibi, tüm paketler yüklenip kaldırılabildiğinden bir masaüstü veya sunucu sürümü kullanıp kullanmadığınızı belirlemek kolay değildir.

İşte benim senaryom için kullandığım fonksiyonum. Temel olarak, xserver-common veya xwayland kurulu olup olmadığını kontrol eder. Bunlardan biri kurulu ise, onun bir masaüstü sistemi anlamına gelir.

#!/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
}

İşte kontrol etmeniz gereken birkaç şey:

Varsayılan olarak sunucu baskısı klasik /etc/network/interfaces, masaüstü baskısı Network Manager ile çalışırken, bu yüzden Network Manager'in kurulu olup olmadığını kontrol edin.

dpkg -l network-manager

Veya şöyle bir mesaj alırsanız komut nmcli'yi (NM için komut satırı aracı) çalıştırın:

The program 'nmcli' is currently not installed. You can install it by typing:
sudo apt-get install network-manager

olasılık, bir sunucu baskısında olmanızın yüksek olması. Ancak unutmayın, NM ile çalışacak bir sunucuyu değiştirebilirsiniz.


Masaüstü bileşenlerinin yüklü olup olmadığını belirlemek için aşağıdaki komutu kullanın

dpkg -l ubuntu-desktop

Bir sunucuda şöyle bir mesaj alacaksınız:

dpkg-query: no packages found matching ubuntu-desktop

Masaüstünde, hangi sürümün yüklü olduğunu bildiren bir mesaj alacaksınız


Genellikle masaüstünde bulunan diğer paketleri kontrol edin:

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

veya kullan:

 dpkg-query --show --showformat='${Status}\n' *packagename* 2> /dev/null | grep "install ok installed"

X sunucusunun çalışıp çalışmadığını kontrol edin:

ps -e | grep X
sudo netstat -lp | grep -i Xorg

Yalnızca masaüstünde kullanılabilen hizmetleri kontrol edin:

Hizmetleri nasıl kontrol edeceğiniz Ubuntu sürümünüze bağlıdır:

sudo service *servicename* status # on SysVinit 
sudo status *servicename* # on Upstart
systemctl status *servicename*.service # on systemd

tipik hizmetler:

  • lightdm
  • x11-ortak
  • gnome-kabuk

ve bazı türevlerle ilişkili bazı


Uygulamam sunucu dağıtımına bağlı

Bir sunucu uygulamasını bir masaüstü sürümünde çalıştırmak hiç mantıklı gelmese bile, uygulamanızın tüm bağımlılıklarını masaüstü sürümüne yüklemek ve onu çalıştırmak için herhangi bir sorun olmamalıdır.

Bunun neden sunucu dağıtımına bağlı olduğunu açıklayabilir misiniz?


0

Yukarıdaki çözümlerin hiçbiri benim için çok iyi çalıştı. Bazen bir sistemin bir hareketi olmaz ya da belki yönetici onu değiştirdi, vb. Yukarıda verilen cevabın neden "doğru" bir cevap olduğunu bile bilmiyorum . İşte kullanmaya başladım.

#!/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

-F $ $ ile kullanmak} Durum iyi ve kullanacağım. Ancak sh sözdiziminde ve 'err' gibi varolmayan işlevlerle bash kullanmayın.
Tomáš Nesrovnal
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.