{
    "content": [
        {
            "type": "text",
            "text": "# dpkg-split (man)\n\n## NAME\n\ndpkg-split - Debian package archive split/join tool\n\n## SYNOPSIS\n\ndpkg-split [option...] command\n\n## DESCRIPTION\n\ndpkg-split splits Debian binary package files into smaller parts and reassembles them again,\nto support the storage of large package files on small media such as floppy disks.\n\n## Sections\n\n- **NAME**\n- **SYNOPSIS**\n- **DESCRIPTION**\n- **COMMANDS** (7 subsections)\n- **OPTIONS** (4 subsections)\n- **EXIT STATUS**\n- **ENVIRONMENT**\n- **FILES**\n- **BUGS**\n- **SEE ALSO**\n\nUse structuredContent.sections for detailed options, examples, and full documentation.\n"
        }
    ],
    "structuredContent": {
        "command": "dpkg-split",
        "section": "",
        "mode": "man",
        "summary": "dpkg-split - Debian package archive split/join tool",
        "synopsis": "dpkg-split [option...] command",
        "tldr_summary": null,
        "tldr_examples": [],
        "tldr_source": null,
        "flags": [
            {
                "flag": "-S",
                "long": "--partsize",
                "arg": null,
                "description": "Specifies the maximum part size when splitting, in kibibytes (1024 bytes). The default is 450 KiB."
            },
            {
                "flag": "-o",
                "long": "--output",
                "arg": null,
                "description": "Specifies the output file name for a reassembly. This overrides the default for a manual reassembly (--join) and is mandatory for an automatic queue-or-reassemble (--auto)."
            },
            {
                "flag": "-Q",
                "long": "--npquiet",
                "arg": null,
                "description": "When doing automatic queue-or-reassembly dpkg-split usually prints a message if it is given a part that is not a binary package part. This option suppresses this message, to allow programs such as dpkg to cope with both split and unsplit packages without producing spurious messages."
            },
            {
                "flag": "",
                "long": "--msdos",
                "arg": null,
                "description": "Forces the output filenames generated by --split to be MSDOS-compatible. This mangles the prefix - either the default derived from the input filename or the one supplied as an argument: alphanumerics are lowercased, plus signs are replaced by x's and all other characters are discarded. The result is then truncated as much as is necessary, and filenames of the form prefixNofM.deb are generated."
            }
        ],
        "examples": [],
        "see_also": [
            {
                "name": "deb",
                "section": "5",
                "url": "https://www.chedong.com/phpMan.php/man/deb/5/json"
            },
            {
                "name": "deb-control",
                "section": "5",
                "url": "https://www.chedong.com/phpMan.php/man/deb-control/5/json"
            },
            {
                "name": "dpkg-deb",
                "section": "1",
                "url": "https://www.chedong.com/phpMan.php/man/dpkg-deb/1/json"
            },
            {
                "name": "dpkg",
                "section": "1",
                "url": "https://www.chedong.com/phpMan.php/man/dpkg/1/json"
            }
        ],
        "section_outline": [
            {
                "name": "NAME",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "SYNOPSIS",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "DESCRIPTION",
                "lines": 12,
                "subsections": []
            },
            {
                "name": "COMMANDS",
                "lines": 1,
                "subsections": [
                    {
                        "name": "-s --split",
                        "lines": 8,
                        "flag": "-s",
                        "long": "--split"
                    },
                    {
                        "name": "-j --join",
                        "lines": 15,
                        "flag": "-j",
                        "long": "--join"
                    },
                    {
                        "name": "-I --info",
                        "lines": 4,
                        "flag": "-I",
                        "long": "--info"
                    },
                    {
                        "name": "-a --auto -o",
                        "lines": 17,
                        "flag": "-o",
                        "long": "--auto"
                    },
                    {
                        "name": "-l --listq",
                        "lines": 5,
                        "flag": "-l",
                        "long": "--listq"
                    },
                    {
                        "name": "-d --discard",
                        "lines": 9,
                        "flag": "-d",
                        "long": "--discard"
                    },
                    {
                        "name": "--version",
                        "lines": 2,
                        "long": "--version"
                    }
                ]
            },
            {
                "name": "OPTIONS",
                "lines": 4,
                "subsections": [
                    {
                        "name": "-S --partsize",
                        "lines": 3,
                        "flag": "-S",
                        "long": "--partsize"
                    },
                    {
                        "name": "-o --output",
                        "lines": 5,
                        "flag": "-o",
                        "long": "--output"
                    },
                    {
                        "name": "-Q --npquiet",
                        "lines": 5,
                        "flag": "-Q",
                        "long": "--npquiet"
                    },
                    {
                        "name": "--msdos",
                        "lines": 9,
                        "long": "--msdos"
                    }
                ]
            },
            {
                "name": "EXIT STATUS",
                "lines": 9,
                "subsections": []
            },
            {
                "name": "ENVIRONMENT",
                "lines": 8,
                "subsections": []
            },
            {
                "name": "FILES",
                "lines": 7,
                "subsections": []
            },
            {
                "name": "BUGS",
                "lines": 5,
                "subsections": []
            },
            {
                "name": "SEE ALSO",
                "lines": 5,
                "subsections": []
            }
        ],
        "sections": {
            "NAME": {
                "content": "dpkg-split - Debian package archive split/join tool\n",
                "subsections": []
            },
            "SYNOPSIS": {
                "content": "dpkg-split [option...] command\n",
                "subsections": []
            },
            "DESCRIPTION": {
                "content": "dpkg-split splits Debian binary package files into smaller parts and reassembles them again,\nto support the storage of large package files on small media such as floppy disks.\n\nIt can be operated manually using the --split, --join and --info options.\n\nIt also has an automatic mode, invoked using the --auto option, where it maintains a queue of\nparts seen but not yet reassembled and reassembles a package file when it has seen all of its\nparts. The --listq and --discard options allow the management of the queue.\n\nAll splitting, joining and queueing operations produce informative messages on standard\noutput; these may safely be ignored.\n",
                "subsections": []
            },
            "COMMANDS": {
                "content": "",
                "subsections": [
                    {
                        "name": "-s --split",
                        "content": "Splits a single Debian binary package into several parts.\n\nThe parts are named prefix.NofM.deb where N is the part number, starting at 1, and M is\nthe total number of parts (both in decimal).\n\nIf no prefix is supplied then the complete-archive filename is taken, including\ndirectory, with any trailing .deb removed.\n",
                        "flag": "-s",
                        "long": "--split"
                    },
                    {
                        "name": "-j --join",
                        "content": "Joins the parts of a package file together, reassembling the original file as it was\nbefore it was split.\n\nThe part files given as arguments must be all the parts of exactly the same original\nbinary file. Each part must occur exactly once in the argument list, though the parts to\nnot need to be listed in order.\n\nThe parts must of course all have been generated with the same part size specified at\nsplit time, which means that they must usually have been generated by the same invocation\nof dpkg-split --split.\n\nThe parts' filenames are not significant for the reassembly process.\n\nBy default the output file is called packageversionarch.deb.\n",
                        "flag": "-j",
                        "long": "--join"
                    },
                    {
                        "name": "-I --info",
                        "content": "Prints information, in a human-readable format, about the part file(s) specified.\nArguments which are not binary package parts produce a message saying so instead (but\nstill on standard output).\n",
                        "flag": "-I",
                        "long": "--info"
                    },
                    {
                        "name": "-a --auto -o",
                        "content": "Automatically queue parts and reassemble a package if possible.\n\nThe part specified is examined, and compared with other parts of the same package (if\nany) in the queue of packages file parts.\n\nIf all parts of the package file of which part is a part are available then the package\nis reassembled and written to complete-output (which should not usually already exist,\nthough this is not an error).\n\nIf not then the part is copied into the queue and complete-output is not created.\n\nIf part is not a split binary package part then dpkg-split will exit with status 1; if\nsome other trouble occurs then it will exit with status 2.\n\nThe --output or -o option must be supplied when using --auto.  (If this were not\nmandatory the calling program would not know what output file to expect.)\n",
                        "flag": "-o",
                        "long": "--auto"
                    },
                    {
                        "name": "-l --listq",
                        "content": "Lists the contents of the queue of packages to be reassembled.\n\nFor each package file of which parts are in the queue the output gives the name of the\npackage, the parts in the queue, and the total number of bytes stored in the queue.\n",
                        "flag": "-l",
                        "long": "--listq"
                    },
                    {
                        "name": "-d --discard",
                        "content": "This discards parts from the queue of those waiting for the remaining parts of their\npackages.\n\nIf no package is specified then the queue is cleared completely; if any are specified\nthen only parts of the relevant package(s) are deleted.\n\n-?, --help\nShow the usage message and exit.\n",
                        "flag": "-d",
                        "long": "--discard"
                    },
                    {
                        "name": "--version",
                        "content": "Show the version and exit.\n",
                        "long": "--version"
                    }
                ]
            },
            "OPTIONS": {
                "content": "--depotdir directory\nSpecifies an alternative directory for the queue of parts awaiting automatic reassembly.\nThe default is /var/lib/dpkg.\n",
                "subsections": [
                    {
                        "name": "-S --partsize",
                        "content": "Specifies the maximum part size when splitting, in kibibytes (1024 bytes). The default is\n450 KiB.\n",
                        "flag": "-S",
                        "long": "--partsize"
                    },
                    {
                        "name": "-o --output",
                        "content": "Specifies the output file name for a reassembly.\n\nThis overrides the default for a manual reassembly (--join) and is mandatory for an\nautomatic queue-or-reassemble (--auto).\n",
                        "flag": "-o",
                        "long": "--output"
                    },
                    {
                        "name": "-Q --npquiet",
                        "content": "When doing automatic queue-or-reassembly dpkg-split usually prints a message if it is\ngiven a part that is not a binary package part. This option suppresses this message, to\nallow programs such as dpkg to cope with both split and unsplit packages without\nproducing spurious messages.\n",
                        "flag": "-Q",
                        "long": "--npquiet"
                    },
                    {
                        "name": "--msdos",
                        "content": "Forces the output filenames generated by --split to be MSDOS-compatible.\n\nThis mangles the prefix - either the default derived from the input filename or the one\nsupplied as an argument: alphanumerics are lowercased, plus signs are replaced by x's and\nall other characters are discarded.\n\nThe result is then truncated as much as is necessary, and filenames of the form\nprefixNofM.deb are generated.\n",
                        "long": "--msdos"
                    }
                ]
            },
            "EXIT STATUS": {
                "content": "0   The requested split, merge, or other command succeeded.  --info commands count as\nsuccessful even if the files are not binary package parts.\n\n1   Only occurs with --auto and indicates that the part file was not a binary package part.\n\n2   Fatal or unrecoverable error due to invalid command-line usage, a file that looked like a\npackage part file but was corrupted, or interactions with the system, such as accesses to\nthe database, memory allocations, etc.\n",
                "subsections": []
            },
            "ENVIRONMENT": {
                "content": "DPKGCOLORS\nSets the color mode (since dpkg 1.18.5).  The currently accepted values are: auto\n(default), always and never.\n\nSOURCEDATEEPOCH\nIf set, it will be used as the timestamp (as seconds since the epoch) in the deb-\nsplit(5)'s ar(5) container.\n",
                "subsections": []
            },
            "FILES": {
                "content": "/var/lib/dpkg/parts\nThe default queue directory for part files awaiting automatic reassembly.\n\nThe filenames used in this directory are in a format internal to dpkg-split and are\nunlikely to be useful to other programs, and in any case the filename format should not\nbe relied upon.\n",
                "subsections": []
            },
            "BUGS": {
                "content": "Full details of the packages in the queue are impossible to get without digging into the\nqueue directory yourself.\n\nThere is no easy way to test whether a file that may be a binary package part is one.\n",
                "subsections": []
            },
            "SEE ALSO": {
                "content": "deb(5), deb-control(5), dpkg-deb(1), dpkg(1).\n\n\n\n1.21.1                                       2025-09-09                                dpkg-split(1)",
                "subsections": []
            }
        }
    }
}