Project

General

Profile

Feature #15290

Reduce IUK size

Added by anonym over 1 year ago. Updated 19 days ago.

Status:
Confirmed
Priority:
Low
Assignee:
Category:
-
Target version:
-
Start date:
04/13/2016
Due date:
% Done:

10%

Feature Branch:
Type of work:
Research
Blueprint:
Starter:
Affected tool:
Upgrader

Description

This is about researching low-hanging fruits to reduce the size of our IUKs in order to be nicer to users with not very fast Internet connection. Regarding increased memory consumption caused by the "single SquashFS diff" idea, another approach (#6876) will solve the problem.

Current best ideas (collected initially on #11211 and #11345; see also #6425) are:

  • apply the 99-set_mtimes trick to:
    • /usr/share/mime/application/*
    • /var/cache/debconf/*
    • /var/lib/dpkg/info
  • delete /var/lib/dkms/ during the build, then remove the dkms bits from config/chroot_local-hooks/99-zzzzzz_reproducible-builds-post-processing

To evaluate the impact of these ideas:

  1. Fork the tag for Tails version N, apply the aforementioned tricks. Build an ISO.
  2. Do the same for Tails version N+1.
  3. Build the IUK from N to N+1 using these ISOs.
  4. Compare the size of the IUK you've built with the size of the IUK we've published from N to N+1.

Related issues

Related to Tails - Feature #15281: Stack one single SquashFS diff when upgrading In Progress 03/07/2014
Related to Tails - Feature #15289: Make Tails Upgrader suggest a manual upgrade to decrease future IUK sizes Confirmed 02/05/2018
Related to Tails - Feature #6425: Do not save some large files whose only modification is mtime, for smaller IUK Resolved 11/16/2013
Duplicated by Tails - Bug #11211: Don't include files from /usr/share/mime in IUKs if their only modification is mtime Duplicate 03/09/2016
Duplicated by Tails - Feature #11345: Ship less unneeded cache/generated files in the ISO and IUK Duplicate 04/13/2016

History

#1 Updated by anonym over 1 year ago

  • Target version set to 2018

#2 Updated by anonym over 1 year ago

  • Related to Feature #15281: Stack one single SquashFS diff when upgrading added

#3 Updated by anonym over 1 year ago

This is related to #15281 (1BigIUK) because of the larger IUKs. Once we have it it really seems worth at least picking the low-hanging fruit among size optimizations.

#4 Updated by intrigeri over 1 year ago

  • Description updated (diff)

#5 Updated by u about 1 year ago

  • Related to Feature #15289: Make Tails Upgrader suggest a manual upgrade to decrease future IUK sizes added

#6 Updated by anonym 8 months ago

  • Target version changed from 2018 to 2019

#7 Updated by intrigeri 7 months ago

  • Blocked by Feature #15277: Update our survey of non-NIH system upgrade solutions added

#8 Updated by intrigeri 7 months ago

  • Blocked by deleted (Feature #15277: Update our survey of non-NIH system upgrade solutions)

#9 Updated by intrigeri 7 months ago

anonym wrote:

This is related to #15281 (1BigIUK) because of the larger IUKs. Once we have it it really seems worth at least picking the low-hanging fruit among size optimizations.

Yes, maybe… but the marginal benefit (relative to the total upgrade download time) brought by such optimizations will actually be lower once IUKs get bigger. So I guess it could be worth giving a quick try to the low-hanging fruits I've identified on the subtasks and check how much space (and thus download time) we would save, before even evaluating whether these tricks break anything we care about. Now, no big deal if we don't do it IMO.

#10 Updated by intrigeri 19 days ago

  • Description updated (diff)

(Import current best ideas from #11211 and #11345 so I can close them and simply this set of tickets.)

#11 Updated by intrigeri 19 days ago

  • Related to Feature #6425: Do not save some large files whose only modification is mtime, for smaller IUK added

#12 Updated by intrigeri 19 days ago

  • Duplicated by Bug #11211: Don't include files from /usr/share/mime in IUKs if their only modification is mtime added

#13 Updated by intrigeri 19 days ago

  • Duplicated by Feature #11345: Ship less unneeded cache/generated files in the ISO and IUK added

#14 Updated by intrigeri 19 days ago

  • Target version deleted (2019)

This would be nice, but technically it's not on our roadmap.

In a build of current devel branch (Buster):

  • Compressed with tar+bz2 together, /usr/share/mime/application/ + /var/cache/debconf/ + /var/lib/dpkg/info are 4.2M large, so best case, we'll be saving a few MB on each IUK.
  • /var/lib/dkms is 862KB

So implementing our current best ideas would definitely be nice, but that won't improve UX much.

Now, if there are other low-hanging fruits we did not spot, that would impact the IUK size substantially, then it would be a completely different story!

Also available in: Atom PDF