3 ms·
> The machine _itself_ can check for updates, and issue _only_ those commands that are _necessary_. The problem with this statement is that the machine doesn't
by rhn_mk1 6y ago
> The machine _itself_ can check for updates, and issue _only_ those commands that are _necessary_.
The problem with this statement is that the machine doesn't know what sequence of actions is necessary to put the system into the "updated" state. If it knew, it wouldn't have to contact anything in order to update itself. It would already have known.
- blumomo 6y agoWhere in „client pulls a signed image with a secure and trusted process from the update server, flashes it, then swaps it with its previous image“ does the update server command any control over the client?
- rhn_mk1 6y agoThat depends on the contents of the supplied image. But I agree, it's more about the need for the ability to take over control rather than exercising the ability.
- shakna 6y ago> If it knew, it wouldn't have to contact anything in order to update itself. It would already have known. Eh? That's how most package managers work. They only issue a very small number of commands to put them into an "updated" state. They don't generally do arbitrary things. For example, if we take a look into aptitude, the deb packages it eventually fetches after running various authentications, contains: + A directory listing. (Contents-<arch>.gz) + Paths and checksums. (Release) + Signing information. It doesn't have an arbitrary listing of commands to put it into the "updated" set - that's already decided by the format. The machine _does_ know the sequence of actions that is necessary. You don't need some kind of Turing complete monstrosity that can do absolutely anything to update it. In the case of a _firmware update_ that's even simpler! Most of the time you're either replacing a kernel, or flashing the firmware to a pre-decided memory address. Both of those actions are decided long before you even begin issuing updates.