Czy jest jakiś sposób na rozróżnienie między Ubuntu Server a Ubuntu Desktop?
Mam skrypt Bash ( bezwstydna wtyczka ), którego używam do konfigurowania lekkich serwerów sieciowych, i zauważyłem, że kiedy uruchamiam ten skrypt na własnym komputerze, moja instalacja Ubuntu (Desktop) jest w błędzie - jestem całkiem upewnij się, że przyczyną są następujące wiersze kodu:
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
Chciałbym wykryć, czy skrypt jest uruchamiany w wersji serwerowej, czy nie, więc mogę zdecydować, czy wyczyścić te pakiety, czy nie. Jeśli nie można rozróżnić smaków, czy możesz mi powiedzieć, który pakiet jest niezbędny do prawidłowego działania Ubuntu Desktop?
server
bash
package-management
Alix Axel
źródło
źródło
DISTRIB_ID=Ubuntu DISTRIB_RELEASE=12.10 DISTRIB_CODENAME=quantal DISTRIB_DESCRIPTION="Ubuntu 12.10"
. Nic, czego nie mogę powiedzieć, czy to serwer, czy komputer stacjonarny.lsb_release
nie jest wystarczająco wiarygodne.( apt-get -qq -y remove --purge "^$halBox_package*" )
działające zarówno w wersjach serwerowych, jak i komputerowych.Odpowiedzi:
Komenda
Wynik:
Nie zadziała, jeśli ktoś zainstaluje pulpit bez użycia ubuntu-desktop. Ale kto to robi?
źródło
$?
będzie,1
jeślidpkg -l
nic nie wymienia, w0
przeciwnym razie. Jeśli chodzi ogrep desktop
to, zawsze będzie pasować, albo pakiet, albo komunikat informujący, że nie został znaleziony.dpkg
stronę podręcznika , ale najwyraźniej to działa. Jeśli ktoś zainstaluje pulpit bez ubuntu-desktop, powinien być wystarczająco bystry, aby naprawić problemy, które spowoduje mój skrypt, więc wszystko jest w porządku! : P( dpkg -s "ubuntu-desktop" && Ubuntu_Flavor="desktop" ) > /dev/null 2>&1
działa świetnie, dzięki!