Определить ядро операционной системы Ubuntu из скрипта
Есть ли предпочтительный способ обнаружить в скрипте, что хост является Ubuntu Core, а не другой Ubuntu?
У меня Ubuntu Core 16 на Edge Gateway от Dell. /etc/lsb-release говорит, что это 16.04 LTS Xenial.
Я думал о тестировании, если команда snap существует, но думаю, что она может быть установлена на обычную Ubuntu, настроенную для создания моментальных снимков.
1 ответ
Буду признателен, если у кого-то будет лучший ответ.
Похоже, что опция version для команды snap должна работать только для snap на ядре Ubuntu, и, кроме того, она должна возвращать "series 16". Таким образом, используя что-то по линии:
if [ -x snap ] && snap version 2>/dev/null | grep -Eqs 'series +16'; then
Должен сделать трюк (я просто набрал это, так что не забудьте проверить в своем коде).