Skip to content

Workaround 2Gib file size limit by using compression and split#36

Open
SohamG wants to merge 7 commits into
SystemCrafters:masterfrom
SohamG:SohamG-patch-1
Open

Workaround 2Gib file size limit by using compression and split#36
SohamG wants to merge 7 commits into
SystemCrafters:masterfrom
SohamG:SohamG-patch-1

Conversation

@SohamG

@SohamG SohamG commented Jan 8, 2025

Copy link
Copy Markdown

Work around 2Gib release file limit as follows:

  1. Tar gz the image
  2. if the tar.gz is larger than 2GiB, use the linux split command, make multiple files. Add all files to release.
  3. Otherwise, add tar.gz to release.

In case of 2, user would have to cat all the files in order to a single targz before extracting. We can provide a shell script for this.

A longer term solution is to host the ISO on some cloud object storage.
Resolve #35

@SohamG

SohamG commented Jan 8, 2025

Copy link
Copy Markdown
Author

@SohamG

SohamG commented Jan 8, 2025

Copy link
Copy Markdown
Author

I'll go ahead and add a check to only split if its bigger than 2GiB

@SohamG SohamG marked this pull request as draft January 8, 2025 22:20
@SohamG SohamG marked this pull request as ready for review January 8, 2025 23:32
@SohamG

SohamG commented Jan 8, 2025

Copy link
Copy Markdown
Author

Please squash when(if) merging.

@stormwatch

Copy link
Copy Markdown

Example here: https://github.com/SohamG/guix-installer/releases/

Is

Example here: https://github.com/SohamG/guix-installer/releases/

It seems to be doing the split but I don't see the second part of the iso in your example, only the first part with the “aa” suffix.

@chaseleinart

chaseleinart commented Mar 29, 2025

Copy link
Copy Markdown

It seems to be doing the split but I don't see the second part of the iso in your example, only the first part with the “aa” suffix.

That's presumably because the approach here executes split with a 2GiB argument against the tarbar (under 2) rather than the initial iso (over 2), right?

Assuming this approach works fine, could it be done in tandem with either:
a) a script like this provided
b) generate a script like this as part of the build process to be included in a folder structure with the iso parts for easier execution by users?

cat guix-installer-$RELEASE_TAG.tar.gz-part* > guix-installer-$RELEASE_TAG.tar.gz-part.iso

@mauro3

mauro3 commented Oct 28, 2025

Copy link
Copy Markdown

There is https://github.com/ading2210/gh-large-releases, maybe useful? (I haven't looked into it, just stumbled across it)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

ISO missing in release page

4 participants