Есть ли преимущество блокировать обновления программного обеспечения по сравнению с файловыми

217
stflow

Я вижу, что есть два способа обновления программного обеспечения. Обычный Linux делает обновления на основе файлов, но Android перешел на блокировку обновлений. Есть ли в этом преимущество?

Как обновление на уровне блоков выполняет дифференциальные обновления, которые по определению находятся на уровне файлов?

1

1 ответ на вопрос

1
davidgo

Обновления на уровне блоков легче контролировать и (с точки зрения поставщиков) более безопасны, хотя значительная часть этой безопасности обеспечивается ограничением контроля владельцев устройств над своей системой. Отчасти это происходит из-за подписи изображений и ограничения числа подписчиков изображений и предотвращения запуска неподписанных изображений.

С другой стороны, это сильно ограничивает область применения программного обеспечения - между изображением и точным оборудованием будет тесная связь.

В некотором смысле GNU Linux на самом деле очень похож на обновления на уровне блоков, обычно полагаясь на «initrd», представляющий собой сжатую файловую систему, которая затем становится выходным для дистрибутива - разница в том, что этот блок воссоздается / переупаковывается по мере необходимости, и он разработан быть легким и передавать контроль в начале процесса. Конечно, обеспечить безопасность процесса загрузки в GNU Linux очень сложно - и distris, похоже, этого не делает (хотя для Android это норма)

Обновления на уровне блоков требуют, чтобы rootfs были доступны только для чтения, верно? Если это изменится, то расположение файлов больше не будет гарантировано, и дифференциальные обновления не будут выполнены, и, надеюсь, проверка хеша также не удастся выполнить. stflow 6 лет назад 0