Есть ли способ отличить Ubuntu Server от Ubuntu Desktop?
У меня есть скрипт Bash ( бесстыдный плагин ), который я использую для настройки облегченных веб-серверов, и я заметил, что когда я запускаю этот скрипт на моем собственном компьютере, моя установка 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?
server
bash
package-management
Аликс Аксель
источник
источник
DISTRIB_ID=Ubuntu DISTRIB_RELEASE=12.10 DISTRIB_CODENAME=quantal DISTRIB_DESCRIPTION="Ubuntu 12.10"
. Ничего, что я могу использовать, чтобы определить, сервер это или рабочий стол.lsb_release
просто недостаточно надежно.( apt-get -qq -y remove --purge "^$halBox_package*" )
совместимость с версиями Server и Desktop.Ответы:
команда
Результат:
Это не будет работать, если кто-то установит рабочий стол без использования ubuntu-desktop. Но кто это делает?
источник
$?
будет,1
еслиdpkg -l
не в состоянии ничего перечислить, в0
противном случае. Что касаетсяgrep desktop
его всегда будет совпадать, либо пакет, либо сообщение о том, что он не был найден.dpkg
справочную страницу, но, похоже, это работает. Если кто-то устанавливает рабочий стол без ubuntu-desktop, он должен быть достаточно опытным, чтобы решить проблемы, которые вызовет мой скрипт, так что все хорошо! : P( dpkg -s "ubuntu-desktop" && Ubuntu_Flavor="desktop" ) > /dev/null 2>&1
отлично работает, спасибо!