시스템이 데스크탑인지 서버인지 프로그래밍 방식으로 어떻게 확인할 수 있습니까?


12

Ubuntu Server와 Ubuntu Desktop을 구별 할 수있는 방법이 있습니까?

경량 웹 서버를 설정하는 데 사용 하는 Bash 스크립트 ( shameless plug )가 있는데,이 스크립트를 내 컴퓨터에서 실행할 때 Ubuntu (Desktop) 설치가 모두 엉망이되는 것을 알았습니다. 범인이 다음 코드 줄인지 확인하십시오.

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

내가하고 싶은 것은 스크립트가 서버 특징으로 실행되는지 여부를 감지하여 해당 패키지를 제거할지 여부를 결정할 수 있습니다. 맛을 구분할 수 없다면 Ubuntu Desktop이 제대로 작동하는 데 필요한 패키지를 알려주십시오.


@Rinzwind : DISTRIB_ID=Ubuntu DISTRIB_RELEASE=12.10 DISTRIB_CODENAME=quantal DISTRIB_DESCRIPTION="Ubuntu 12.10". 서버인지 데스크탑인지 알 수있는 것은 없습니다.
Alix Axel

기본적으로 Ubuntu Server와 Ubuntu는 거의 차이가 없습니다. 차이점은 주로 데스크탑 버전이 GUI와 함께 제공되지만 CLI 우분투 서버에 GUI를 설치할 수 있다는 것입니다. 또한 Ubuntu Desktop의 GUI 버전에 서버 패키지를 설치할 수 있습니다. 데스크톱과 서버 설치 미디어를 결정하는 확실한 방법이 확실하지 않습니다.
토마스 워드

@Rinzwind : 이것은 서버 설치입니다. 또한 서버 에디션이있는 2 개의 서로 다른 공급자에 3 개의 다른 VPS가 있으며 그 중 어느 것도 "서버"문자열을 표시하지 않습니다. 나는 독서 lsb_release가 충분하지 않다고 생각 합니다.
Alix Axel

@ TheLordofTime : 예, 나는 그들이 거의 동일하다는 것을 알고 있습니다. 그러나 두 가지를 구별 할 수있는 중요한 패키지가있을 수 있다고 생각했습니다.
Alix Axel

후속 참고 사항으로, 문제는 패키지 정규식으로, ( apt-get -qq -y remove --purge "^$halBox_package*" )서버 및 데스크톱 버전 모두 에서 작동 하도록 변경되었습니다 .
Alix Axel

답변:


9

명령

dpkg -l ubuntu-desktop 

결과:

원하는 = 알 수 없음 / 설치 / 제거 / 지우기 / 보류
| 상태 = Not / Inst / Conf-files / Unpacked / halF-conf / Half-inst / trig-aWait / Trig-pend
| / 오류? = (없음) / 이력서 필요 (상태, 오류 : 대문자 = 나쁜)
|| / 이름 버전 아키텍처 설명
+++-========================================-======= =============================
ii 우분투 데스크탑 1.287 i386 우분투 데스크탑 시스템

 -목록 항목

경고

누군가 ubuntu-desktop을 사용하지 않고 데스크탑을 설치하면 작동하지 않습니다. 그러나 누가 그렇게합니까?

선적 서류 비치

  • 12.04 이전에 Ubuntu 서버는 기본적으로 서버 최적화 커널을 설치합니다. 12.04 이후 linux-image-server가 linux-image-generic에 병합 되었기 때문에 Ubuntu Desktop과 Ubuntu Server간에 커널에는 차이가 없습니다.

BTW, $?될 것입니다 1경우 dpkg -l목록 아무것도하지, 0그렇지 않으면. 관련하여 grep desktop, 항상 일치 패키지 또는 그것을 말하는 메시지 중 하나를하는 것은 발견되지 않았습니다.
Alix Axel

1
좋아, 이것이 나의 마지막 편집이다! 댓글도 정리할 수 있습니까? > : D
Rinzwind

나는 dpkg맨 페이지를 읽고 있지만 분명히 이것은 효과가있는 것 같습니다. 누군가 ubuntu-desktop없이 데스크탑을 설치하는 경우 스크립트로 인해 발생할 수있는 문제를 해결할만큼 정통해야합니다. : P
Alix Axel

( dpkg -s "ubuntu-desktop" && Ubuntu_Flavor="desktop" ) > /dev/null 2>&1잘 작동합니다, 감사합니다!
Alix Axel
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.