deb-split(5)
π deb-split(5) β the group chat intro
okay so first things first, bestie: this is the manual page for deb-split, and it lives in the dpkg suite (that's the whole Debian packaging friend group, iykyk). It's a section 5 page, so it's all about file formats, not commands β we're describing what a thing looks like on the inside, not telling you what to type. π
β¨ NAME β¨
deb-split β the Debian multi-part binary package format. yes, "multi-part", like when a package is so big it has to be split into little pieces. she's giving main character with a suitcase full of outfits. π§³
π¦ SYNOPSIS π¦
filename.deb
that's it. that's the whole vibe. a filename ending in .deb. slay. β¨
πΈ DESCRIPTION πΈ
so the multi-part .deb format exists for one iconic reason: it splits big packages into smaller pieces so they're easier to move around on small media. think of it like packing your giant wardrobe into multiple cute little bags instead of one impossible suitcase. π
π₯ FORMAT π₯
the file is an ar archive, and its magic value is:
!<arch>\n
and yeah β the file names inside might contain a trailing slash (this has been a thing since dpkg 1.15.6, so it's not new, bestie, it's established). π«Ά
the ar archive is made of multiple members, and they go in a specific order. not a vibe-based order. a specific one. π
π debian-split π
this is the first required member, and it contains a series of lines separated by newlines. currently there are eight lines present:
- the format version number β
2.1at the time this manual page was written. - the package name.
- the package version.
- the
md5sumof the package. - the total size of the package.
- the maximum part size.
- the current part number, followed by a slash and the total amount of parts (as in
1/10). it's giving "part 1 of 10, bestie". π - the package architecture. (supported since dpkg 1.16.1 β¨)
so here's the respectful-reader behaviour, and it matters: programs that read multi-part archives should be prepared for the minor format version number to be increased and for additional lines to be present β and they should ignore those extra bits if that happens. don't panic, don't crash, just vibe past them. π¦
now for the serious part, no cap:
if the major format version number has changed, an incompatible change has been made and the program should stop. periodt. π if it has not changed, then the program should be able to safely continue β unless it encounters an unexpected member in the archive (except at the end), as described below.
π data.N π
the second and last required member, where N denotes the part number. it contains the raw part data. that's the actual payload, the realness, the contents of the cute little bag. π
β the ordering rules β
these members must occur in this exact order. current implementations should ignore any additional members after data.N. further members may be defined in the future, and (if possible) will be placed after these two. so like... leave room at the end of the party for future guests. π
π SEE ALSO π
and that's the whole page, bestie β you ate that π
this iconic little writeup came from dpkg suite version 1.23.11-dirty, dated 2026-09-09. go forth and split responsibly. πΈβ¨π«Ά
π¦ where this page comes from
- arch rolling: dpkg 1.23.11-1 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms