po: Update German man pages translation
[dpkg.git] / man / dpkg-split.pod
blobd05d29b3b39dcd968ce7a96b341bf06941298aa5
1 # dpkg manual page - dpkg-split(1)
3 # Copyright © 1995-1996 Ian Jackson <ijackson@chiark.greenend.org.uk>
4 # Copyright © 2011 Guillem Jover <guillem@debian.org>
6 # This is free software; you can redistribute it and/or modify
7 # it under the terms of the GNU General Public License as published by
8 # the Free Software Foundation; either version 2 of the License, or
9 # (at your option) any later version.
11 # This is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 # GNU General Public License for more details.
16 # You should have received a copy of the GNU General Public License
17 # along with this program.  If not, see <https://www.gnu.org/licenses/>.
19 =encoding utf8
21 =head1 NAME
23 dpkg-split - Debian package archive split/join tool
25 =head1 SYNOPSIS
27 B<dpkg-split>
28 [I<option>...] I<command>
30 =head1 DESCRIPTION
32 B<dpkg-split>
33 splits Debian binary package files into smaller parts and reassembles
34 them again, to support the storage of large package files on small
35 media such as floppy disks.
37 It can be operated manually using the
38 B<--split>, B<--join> and B<--info>
39 options.
41 It also has an automatic mode, invoked using the
42 B<--auto>
43 option, where it maintains a queue of parts seen but not yet
44 reassembled and reassembles a package file when it has seen all of its
45 parts.
46 The
47 B<--listq> and B<--discard>
48 options allow the management of the queue.
50 All splitting, joining and queueing operations produce informative
51 messages on standard output; these may safely be ignored.
53 =head1 COMMANDS
55 =over
57 =item B<-s>, B<--split> I<complete-archive> [I<prefix>]
59 Splits a single Debian binary package into several parts.
61 The parts are named
62 I<prefix>B<.>I<N>B<of>I<M>B<.deb>
63 where
64 I<N>
65 is the part number, starting at 1, and
66 I<M>
67 is the total number of parts (both in decimal).
69 If no
70 I<prefix>
71 is supplied then the
72 I<complete-archive>
73 filename is taken, including directory, with any trailing
74 B<.deb>
75 removed.
77 =item B<-j>, B<--join> I<part>...
79 Joins the parts of a package file together, reassembling the original
80 file as it was before it was split.
82 The part files given as arguments must be all the parts of exactly the
83 same original binary file.
84 Each part must occur exactly once in the
85 argument list, though the parts to not need to be listed in order.
87 The parts must of course all have been generated with the same part
88 size specified at split time, which means that they must usually have
89 been generated by the same invocation of
90 B<dpkg-split --split>.
92 The parts' filenames are not significant for the reassembly process.
94 By default the output file is called
95 I<package>B<_>I<version>B<_>I<arch>B<.deb>.
97 =item B<-I>, B<--info> I<part>...
99 Prints information, in a human-readable format, about the part file(s)
100 specified.
101 Arguments which are not binary package parts produce a
102 message saying so instead (but still on standard output).
104 =item B<-a>, B<--auto -o> I<complete-output> I<part>
106 Automatically queue parts and reassemble a package if possible.
109 I<part>
110 specified is examined, and compared with other parts of the same
111 package (if any) in the queue of packages file parts.
113 If all parts of the package file of which
114 I<part>
115 is a part are available then the package is reassembled and written to
116 I<complete-output>
117 (which should not usually already exist, though this is not an
118 error).
120 If not then the
121 I<part>
122 is copied into the queue and
123 I<complete-output>
124 is not created.
127 I<part>
128 is not a split binary package part then
129 B<dpkg-split>
130 will exit with status B<1>; if some other trouble occurs then it will
131 exit with status B<2>.
134 B<--output> or B<-o>
135 option must be supplied when using
136 B<--auto>.
137 (If this were not mandatory the calling program would not know what
138 output file to expect.)
140 =item B<-l>, B<--listq>
142 Lists the contents of the queue of packages to be reassembled.
144 For each package file of which parts are in the queue the output gives
145 the name of the package, the parts in the queue, and the total number
146 of bytes stored in the queue.
148 =item B<-d>, B<--discard> [I<package>...]
150 This discards parts from the queue of those waiting for the remaining
151 parts of their packages.
153 If no
154 I<package>
155 is specified then the queue is cleared completely; if any are
156 specified then only parts of the relevant package(s) are deleted.
158 =item B<-?>, B<--help>
160 Show the usage message and exit.
162 =item B<--version>
164 Show the version and exit.
166 =back
168 =head1 OPTIONS
170 =over
172 =item B<--depotdir> I<directory>
174 Specifies an alternative directory for the queue of parts awaiting
175 automatic reassembly.
176 The default is
177 B<%ADMINDIR%/parts>.
179 =item B<--admindir> I<directory>
181 Set the administrative directory to I<directory> (since dpkg 1.21.10).
182 This is where the I<statoverride> file is stored.
183 Defaults to «I<%ADMINDIR%>» if B<DPKG_ADMINDIR> has not been set.
185 =item B<--root> I<directory>
187 Set the root directory to B<directory> (since dpkg 1.21.10),
188 which sets the installation directory to «I<directory>» and
189 the administrative directory to «I<directory>B<%ADMINDIR%>»
190 if B<DPKG_ROOT> has not been set.
192 =item B<-S>, B<--partsize> I<kibibytes>
194 Specifies the maximum part size when splitting, in kibibytes (1024
195 bytes).
196 The default is 450 KiB.
198 =item B<-o>, B<--output> I<complete-output>
200 Specifies the output file name for a reassembly.
202 This overrides the default for a manual reassembly
203 (B<--join>)
204 and is mandatory for an automatic queue-or-reassemble
205 (B<--auto>).
207 =item B<-Q>, B<--npquiet>
209 When doing automatic queue-or-reassembly
210 B<dpkg-split>
211 usually prints a message if it is given a
212 I<part>
213 that is not a binary package part.
214 This option suppresses this
215 message, to allow programs such as
216 B<dpkg>
217 to cope with both split and unsplit packages without producing
218 spurious messages.
220 =item B<--msdos>
222 Forces the output filenames generated by
223 B<--split>
224 to be MSDOS-compatible.
226 This mangles the prefix - either the default derived from the input
227 filename or the one supplied as an argument: alphanumerics are
228 lowercased, plus signs are replaced by
229 B<x>'s
230 and all other characters are discarded.
232 The result is then truncated as much as is necessary, and filenames of
233 the form
234 I<prefixN>B<of>I<M>B<.deb>
235 are generated.
237 =back
239 =head1 EXIT STATUS
241 =over
243 =item B<0>
245 The requested split, merge, or other command succeeded.
246 B<--info>
247 commands count as successful even if the files are not binary package
248 parts.
250 =item B<1>
252 Only occurs with
253 B<--auto>
254 and indicates that the
255 I<part>
256 file was not a binary package part.
258 =item B<2>
260 Fatal or unrecoverable error due to invalid command-line usage,
261 a file that looked like a package part file but was corrupted, or
262 interactions with the system, such as accesses to the database,
263 memory allocations, etc.
265 =back
267 =head1 ENVIRONMENT
269 =over
271 =item B<DPKG_ROOT>
273 If set and B<--root> option has not been specified,
274 it will be used as the filesystem root directory (since dpkg 1.21.10).
276 =item B<DPKG_ADMINDIR>
278 If set and the B<--admindir> or B<--root> options have not been specified,
279 it will be used as the B<dpkg> data directory (since dpkg 1.21.10).
281 =item B<DPKG_DEBUG>
283 Sets the debug mask (since dpkg 1.21.10) from an octal value.
284 The currently accepted flags are described in the B<dpkg --debug> option,
285 but not all these flags might have an effect on this program.
287 =item B<DPKG_COLORS>
289 Sets the color mode (since dpkg 1.18.5).
290 The currently accepted values are: B<auto> (default), B<always> and
291 B<never>.
293 =item B<DPKG_NLS>
295 If set, it will be used to decide whether to activate Native Language Support,
296 also known as internationalization (or i18n) support (since dpkg 1.22.7).
297 The accepted values are: B<0> and B<1> (default).
299 =item B<SOURCE_DATE_EPOCH>
301 If set, it will be used as the timestamp (as seconds since the epoch) in
302 the L<deb-split(5)>'s L<ar(5)> container.
304 Since dpkg 1.18.11.
306 =back
308 =head1 FILES
310 =over
312 =item I<%ADMINDIR%/parts>
314 The default queue directory for part files awaiting automatic
315 reassembly.
317 The filenames used in this directory are in a format internal to
318 B<dpkg-split>
319 and are unlikely to be useful to other programs, and in any case the
320 filename format should not be relied upon.
322 =back
324 =head1 SECURITY
326 Examining or joining untrusted split package archives should be considered
327 a security boundary, and any breakage of that boundary stemming from these
328 operations should be considered a security vulnerability.
329 Performing these operations over untrusted data as root is strongly
330 discouraged.
332 Auto-accumulating and discarding split package parts are considered
333 privileged operations that might allow root escalation.
334 These operations must never be delegated to an untrusted user or be done
335 on untrusted packages, as that might allow root access to the system.
337 Splitting package archives should only be performed over trusted data.
339 =head1 BUGS
341 Full details of the packages in the queue are impossible to get
342 without digging into the queue directory yourself.
344 There is no easy way to test whether a file that may be a binary
345 package part is one.
347 =head1 SEE ALSO
349 L<deb(5)>,
350 L<deb-control(5)>,
351 L<dpkg-deb(1)>,
352 L<dpkg(1)>.