Назад | Перейти на главную страницу

Как развернуть на пользовательском устройстве и на устройстве, подключенном к первому, но не к Интернету

Мы отправляем робот и гибридный ноутбук клиенту, который будет использовать его на своем сайте. Ноутбук служит пультом для робота или нескольких роботов. Мы хотим иметь возможность развертывать обновления программного обеспечения и системы на ноутбуке и роботе. Оба работают под управлением Ubuntu (по крайней мере, пока). Однако есть некоторые проблемы:

Я хочу, чтобы ноутбук загружал последнюю версию программного обеспечения, когда он подключен к Интернету, устанавливал обновление программного обеспечения и, возможно, обновления системы, а также передавал обновления программного обеспечения и системы роботу при подключении к нему.

Я могу подумать о некоторых решениях, которые кажутся немного взломанными:

Но я хотел бы знать: есть ли какие-то решения для этого случая с цифрой?

Итак, у меня все еще нет идеального решения, но вот что мы пробовали:

  • Guix имеет возможность легко загружать и копировать пакеты, как я хотел. Если я правильно понимаю, можно спроектировать систему как файл схемы, загрузить / собрать все необходимые пакеты и применить их к удаленной системе. Это было бы решением, если бы Guix упаковал ROS, одну из наших зависимостей, которую сложно упаковать самостоятельно. Однажды я мог бы найти время, чтобы написать сценарий, чтобы упаковать его в Guix.
  • Щелчок + Ядро Ubuntu предназначены для работы во встроенных системах и IoT. Мы не особо вникали в это, потому что упустили время, чтобы исследовать, как сделать систему планшета на основе Ubuntu Core, но это похоже на решение.
  • Докер: я знаю докер намного больше, и он удобен, но мы не можем обновить ядро ​​с его помощью. Мы действительно нужна возможность обновить ядро? Хороший вопрос.
  • APT + apt-offline: это было легко настроить, но у apt-offline есть недостаток: для обновления автономной системы вам нужно сделать два цикла туда и обратно: один для обновления apt, один для обновления apt. Мне удалось сократить его до одного кругового обхода, сделав локальное зеркало APT-состояния робота на планшете, чтобы имитировать подходящее обновление, и сразу после этого получить файлы обновления.