On 05/11/14 14:55, Marek Marczykowski-Górecki wrote:
> On 11.05.2014 14:41, Joonas Lehtonen wrote:
>>> I did not find any Information about this. Could you point me to
>>> it?
>>
>> To be honest I haven't found documentation about that myself (I'm new
>> to Qubes OS as well).
>>
>> I "know" about that updates procedure just because of using Qubes.
>>
>> You can see in the default templateVM's Firewall rules, that it has no
>> network but the "Allow connnections to Updates Proxy" is checked.
>>
>> In the Qubes Global Settings (in qubes-manager) you can see a config
>> option "UpdateVM" which is 'firewallVM' by default.
>>
>>
http://qubes-os.org/trac/wiki/Dom0SecureUpdates
>
> That update proxy is only for filtering the access - allow the access to
> package repositories, but block any other HTTP traffic. It doesn't cache
> anything currently. But probably it is rather easy to implement such caching.
>
> Regarding stacked templates, it would be rather hard to implement, at least
> because of rpmdb, which need to be somehow merged across all the layers in
> that case. Also storage architecture would need some major rework - currently
> template storage sharing/overlay is based on block device layer, not
> filesystem, so not possible to update lower layer without throwing away upper
> one (otherwise filesystem metadata will be messed up).
>
> Currently we don't have "template stacking" feature on our roadmap, neither
> for R2 nor R3.
>
And I'm not sure we would ever (anytime soon) want to move from a
block-level backend to a filesystem-level backend due to increased
complexity of the latter (read: more prone to exploits). Unless we
migrate to untrusted storage domain, something which has been described
in the original Qubes architecture document, but has never implemented
so far, as it requires lots of non-trivial building blocks in place
(reliable trusted boot, signed-only block device, etc).
We should be careful not to turn Qubes OS into... traditional monolithic
bloated OS! Fat interfaces are enemy of good isolation. Remember that
CPU ring3/0 and MMU isolation has never been subverted for the last few
decades, and yet there are millions of ways to get around the isolation
that today's OSes build on top of those mechanisms. It's because of the
"glue" that has been added on top of them.
joanna.