Bir sistemin masaüstü veya sunucu olup olmadığını program aracılığıyla nasıl belirleyebilirim?


12

Ubuntu Sunucusu ile Ubuntu Masaüstü Bilgisayarı birbirinden ayırmanın bir yolu var mı?

Hafif web sunucularını ayarlamak için kullandığım bir Bash komut dosyası ( utanmaz fiş ) var ve bu komut dosyasını kendi bilgisayarımda çalıştırdığımda, Ubuntu (Masaüstü) yüklememin tamamen berbat olduğunu fark ettim - güzelim suçlu aşağıdaki kod satırları olduğundan emin olun:

echo -e "\e[1;32mDave, I'm removing the bloatware.\e[0m"

for halBox_package in apache2 bind9 nscd php portmap rsyslog samba sendmail; do
    if [[ -f /etc/init.d/$halBox_package ]]; then
        ( service $halBox_package stop ) > /dev/null
    fi

    ( apt-get -qq -y remove --purge "$halBox_package*" ) > /dev/null 2>&1
done

Ne yapmak istiyorum, komut dosyası bir Sunucu lezzet koşmak olup olmadığını tespit etmektir, bu yüzden bu paketleri temizlemek ya da değil karar verebilirim. Lezzetleri birbirinden ayırmak mümkün değilse, Ubuntu Desktop'ın düzgün çalışması için hangi paketin gerekli olduğunu söyleyebilir misiniz?


@Rinzwind: DISTRIB_ID=Ubuntu DISTRIB_RELEASE=12.10 DISTRIB_CODENAME=quantal DISTRIB_DESCRIPTION="Ubuntu 12.10". Sunucu veya Masaüstü olup olmadığını söylemek için kullanabileceğim bir şey yok.
Alix Axel

Temel olarak, Ubuntu Sunucusu ile Ubuntu arasında çok az fark vardır. Fark, öncelikle Masaüstü sürümünün bir GUI ile gelmesidir, ancak CLI ubuntu sunucusuna bir GUI yükleyebilirsiniz. Ayrıca, sunucu paketlerini Ubuntu Masaüstünün GUI sürümüne yükleyebilirsiniz. Masaüstü ve Sunucu kurulum ortamlarını belirlemek için kesin, temiz bir yol olduğundan emin değilim.
Thomas Ward

@Rinzwind: Bu bir sunucu kurulumudur. Ayrıca sunucu sürümleri ile 2 farklı sağlayıcılarda 3 VPS var ve hiçbiri "sunucu" dizesini gösterir. Sanırım okumak lsb_releaseyeterince güvenilir değil.
Alix Axel

@TheLordofTime: Evet, neredeyse aynı olduklarını biliyorum. Ama belki de ikisi arasında ayrım yapacak en azından önemli bir paket olduğunu düşündüm.
Alix Axel

Bir takip notu olarak, sorun paket düzenli ifadesiydi ( apt-get -qq -y remove --purge "^$halBox_package*" )ve hem Sunucu hem de Masaüstü lezzetleri üzerinde çalışacak şekilde değiştirildi.
Alix Axel

Yanıtlar:


9

komuta

dpkg -l ubuntu-desktop 

Sonuç:

İstenilen = Bilinmeyen / Yükle / Kaldır / Tahliye / Tut
| Durum = / Kurumlar / Konf-files / Ambalajsız / yarım-conf / Half-inst / trigonometri-beklemektedir / Trig-pend
| / Err? = (Yok) / Yeniden düzenleme gerekli (Durum, Hata: büyük harf = kötü)
|| / Adı Sürüm Mimarisi Açıklama
+++ - ============== - ============ - ============ - ===== ============================
ii ubuntu-desktop 1.287 i386 Ubuntu masaüstü sistemi

 - Liste öğesi

Uyarı

Birisi ubuntu-desktop kullanmadan masaüstünü yüklerse çalışmaz. Ama bunu kim yapıyor?

belgeleme

  • 12.04'ten önce, Ubuntu sunucusu varsayılan olarak sunucu için optimize edilmiş bir çekirdek yükler. 12.04'ten beri, linux-image-server linux-image-generic ile birleştirildiği için Ubuntu Desktop ile Ubuntu Server arasında çekirdekte bir fark yoktur.

BTW, $?olacak 1eğer dpkg -lliste şey başarısız, 0aksi. grep desktopBununla ilgili olarak , paket veya bulunamadığını belirten mesaj her zaman eşleşecektir.
Alix Axel

1
Tamam bu benim son düzenleme umarım! Yorumları da temizleyebilir misin? D
Rinzwind

Sadece dpkgman sayfasını okuyorum , ama görünüşe göre bu işe yarıyor gibi görünüyor. Birisi ubuntu-desktop olmadan masaüstünü kurarsa, komut dosyamın neden olacağı sorunları çözmek için yeterince bilgili olmalı, bu yüzden hepsi iyi! : P
Alix Axel

( dpkg -s "ubuntu-desktop" && Ubuntu_Flavor="desktop" ) > /dev/null 2>&1harika çalışıyor, teşekkürler!
Alix Axel
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.