1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
|
.\" Hey, Emacs! This is an -*- nroff -*- source file.
.\" Authors: Ian Jackson
.TH dpkg-split 1 "23rd June 1996" "Debian Linux"
.SH NAME
dpkg\-split \- Debian package archive split/join tool
.SH SYNOPSIS
.B dpkg-split
.BR -s | --split
.IR complete\-archive " [" prefix ]
.br
.B dpkg-split
.BR -j | --join
.IR "part part " ...
.br
.B dpkg-split
.BR -I | --info
.IR "part part " ...
.br
.B dpkg-split
.BR -a | --auto
.BI -o " complete\-output part"
.br
.B dpkg-split
.BR -l | --listq
.br
.B dpkg-split
.BR -d | --discard
.RI [ "package package " ...]
.SH DESCRIPTION
.B dpkg-split
splits Debian binary package files into smaller parts and reassembles
them again, to support the storage of large package files on small
media such as floppy disks.
It can be operated manually using the
.BR --split ", " --join " and " --info
options.
It also has an automatic mode, invoked using the
.B --auto
option, where it maintains a queue of parts seen but not yet
reassembled and reassembles a package file when it has seen all of its
parts. The
.BR --listq " and " --discard
options allow the management of the queue.
All splitting, joining and queueing operations produce informative
messages on standard output; these may safely be ignored.
.SH ACTION OPTIONS
.TP
.BR --split ", " -s
Splits a single Debian binary package into several parts.
The parts are named
.IB prefix . N of M .deb
where
.I N
is the part number, starting at 1, and
.I M
is the total number of parts (both in decimal).
If no
.I prefix
is supplied then the
.I complete\-archive
filename is taken, including directory, with any trailing
.B .deb
removed.
.TP
.BR --join ", " -j
Joins the parts of a package file together, reassembling the original
file as it was before it was split.
The part files given as arguments must be all the parts of exactly the
same original binary file. Each part must occur exactly once in the
argument list, though the parts to not need to be listed in order.
The parts must of course all have been generated with the same part
size specified at split time, which means that they must usually have
been generated by the same invocation of
.BR "dpkg-split --split" .
The parts' filenames are not significant for the reassembly process.
By default the output file is called
.IB package - version .deb\fR.
.TP
.BR --info ", " -I
Prints information, in a human-readable format, about the part file(s)
specified. Arguments which are not binary package parts produce a
message saying so instead (but still on standard output).
.TP
.BR --auto ", " -a
Automatically queue parts and reassemble a package if possible.
The
.I part
specified is examined, and compared with other parts of the same
package (if any) in the queue of packages file parts.
If all parts of the package file of which
.I part
is a part are available then the package is reassembled and written to
.I complete\-output
(which should not usually already exist, though this is not an
error).
If not then the
.I part
is copied into the queue and
.I complete\-output
is not created.
If
.I part
is not a split binary package part then
.B dpkg\-split
will exit with status 1; if some other trouble occurs then it will
exit with status 2.
The
.BR --output " or " -o
option must be supplied when using
.BR --auto .
(If this were not mandatory the calling program would not know what
output file to expect.)
.TP
.BR --listq ", " -l
Lists the contents of the queue of packages to be reassembled.
For each package file of which parts are in the queue the output gives
the name of the package, the parts in the queue, and the total number
of bytes stored in the queue.
.TP
.BR --discard ", " -d
This discards parts from the queue of those waiting for the remaining
parts of their packages.
If no
.I package
is specified then the queue is cleared completely; if any are
specified then only parts of the relevant package(s) are deleted.
.TP
.BR --help ", " -h
Prints
.BR dpkg\-split 's
usage message, giving a summary of its options and their uses.
.TP
.BR --version
Prints
.BR dpkg\-split 's
version number.
.TP
.BR --licence
Prints information about
.BR dpkg\-split 's
copyright licensing and lack of warranty. (The American spelling
.B \-\-license
is also supported.)
.SH OTHER OPTIONS
.TP
.BI --depotdir " directory"
Specifies an alternative directory for the queue of parts awaiting
automatic reassembly. The default is
.BR /var/lib/dpkg .
.TP
.BI --partsize\fR|\fB-S " kbytes"
Specifies the maximum part size when splitting, in kilobytes (1024
bytes). The default is 450Kb.
.TP
.BI --output\fR|\fB-O " complete\-output"
Specifies the output file name for a reassembly.
This overrides the default for a manual reassembly
.RB ( \-\-join )
and is mandatory for an automatic queue-or-reassemble
.RB ( \-\-auto ).
.TP
.BR --npquiet ", " -Q
When doing automatic queue-or-reassembly
.B dpkg\-split
usually prints a message if it is given a
.I part
that is not a binary package part. This option suppresses this
message, to allow programs such as
.B dpkg
to cope with both split and unsplit packages without producing
spurious messages.
.TP
.BR --msdos
Forces the output filenames generated by
.B \-\-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
.BR x 's
and all other characters are discarded.
The result is then truncated as much as is necessary, and filenames of
the form
.IB "prefixN" of M .deb
are generated.
.SH EXIT STATUS
An exit status of 0 indicates that the requested split, merge, or
other command succeeded.
.B \-\-info
commands count as successful even if the files are not binary package
parts.
An exit status of 1 occurs only with
.B \-\-auto
and indicates that the
.I part
file was not a binary package part.
An exit status of 2 indicates some kind of trouble, such as a system
call failure, a file that looked like a package part file but was
corrupted, a usage error or some other problem.
.SH BUGS
.B dpkg\-split
uses some rather out-of-date conventions for the the filenames of
Debian packages.
Full details of the packages in the queue are impossible to get
without digging into the queue directory yourself.
There is no easy way to test whether a file that may be a binary
package part is one.
The architecture is not represented in the part files' header, only in
the control information of the contained binary package file, and it
is not present in the filenames generated.
.SH FILES
.TP
.B /var/lib/dpkg/parts
The default queue directory for part files awaiting automatic
reassembly.
The filenames used in this directory are in a format internal to
.B dpkg\-split
and are unlikely to be useful to other programs, and in any case the
filename format should not be relied upon.
.SH SEE ALSO
.BR dpkg\-split (5),
.BR dpkg\-deb (5),
.BR dpkg\-deb (8),
.BR dpkg (8)
.SH AUTHOR
.B dpkg\-split
and this manpage were written by Ian Jackson. They are
Copyright (C) 1995-1996
by him and released under the GNU General Public Licence; there is NO
WARRANTY. See
.B /usr/doc/copyright/dpkg
and
.B /usr/doc/copyright/GPL
for details.
|