NAME¶
debget - download source and binary Debian packages
SYNOPSIS¶
debget [
switch]... {
package |
section/package |
file.dsc |
file.deb }...
DESCRIPTION¶
debget downloads source and binary Debian packages by name and optionally
unpacks, compiles and installs them. The default behavior is to download the
source for packages, to unpack and build
*.dsc files and to install
*.deb files. For detailed defaults on FTP server names and such run
"debget --help".
debget doesn't require a local copy of the
Packages files, instead
it lists directories on the FTP site to find out what versions are available.
Non-switch arguments are
*.dsc files,
*.deb files, and package
names or
section/package, eg
base/dpkg or
non-free/games/quake2. There are two cases in which you've got to
specify the section:
- -
- Information about the package isn't in the local
available file (as shown by "dpkg --print-avail"), or the
information there is wrong.
- -
- You're downloading a source package which doesn't generate
a binary package of the same name. Normally debget infers the
correct source package to download based on the "dpkg
--print-avail" output. (Eg, if you say to download the source for
perl-base, it will really download the perl sources.) This
isn't possible if the source package doesn't have an available file
entry (which is the case when the source package doesn't generate a binary
package of the same name). In this case debget will use the section
for the package which you specified ( perl-base in this case). If
the section for that package isn't available, or if it's not the same as
the section for the source package, you have to specify the section
yourself.
To handle either of these cases, specify the package with the section prepended,
as it would appear in the
available file. Eg,
base/dpkg or
non-free/games/quake2.
OPTIONS¶
- --arch arch
- Specify the installation architecture (used to find binary
packages). The default is the output of "dpkg
--print-installation-architecture".
- -b, --binary
- Download binary packages. The default is not to download
them.
- -B, --nobinary
- Don't download binary packages. This is the default.
- -u, --build
- Build downloaded source packages. This implies
--unpack. --build is turned off by default, but it is turned
on if you specify any *.dsc or *.deb files on the command
line.
- --debug
- Turn debugging on. Specify multiple times for more
detail.
- --dir dir
- Specify the path to the top of the Debian hierarchy on the
primary FTP server.
- -d dist, --dist dist
- Specify the distribution from which to download packages.
The default is unstable. You can use the name of any subdirectory
in the dists directory in the Debian archive, or
experimental (which is special-cased).
- --help
- Show the usage message and die.
- -h host, --host host
- Specify the host name of the primary FTP server.
- -i, --install
- Install binary packages. This turns on --unpack and
--build, so specifying it will cause debget to install just
about everything you mention on the command line. Packages will be
downloaded, unpacked, built, and installed, *.dsc files will be
unpacked, built, and installed, and *.deb files will be
installed.
- -n, --no
- Go through the motions, but don't actually download any
packages.
- -f, --no-config
- Don't process either /etc/debget.rc or ~/.debget.rc.
- --no-download-re re
- Don't download files whose name match the Perl regexp
re. This option can be specified multiple times.
- --no-download-tar
- Don't download *.tar.gz files. This is normally used
when downloading sources, when specified you'll just fetch the
*.diff.gz and *.dsc files.
- --no-dscverify
- Don't run dscverify before unpacking sources.
dscverify checks that the .dsc file is signed by a Debian
developer and that the MD5 sums and file sizes given in it match the files
about to be unpacked. These are good things, so debget will try to
run dscverify by default. The dscverify program is in the
devscripts package.
- -F, --no-user-config
- Don't process ~/.debget.rc.
- --non-us-dir dir
- Specify the path to the top of the Debian hierarchy for
non-US packages.
- -H host, --non-us-host
host
- Specify the host name of the non-US FTP server.
- -r cmd, --root-build cmd
- Use cmd to become root when building a package from
source. The default is the first of fakeroot, sudo,
super, or su which is present on the system.
- -R cmd, --root-install cmd
- Use cmd to become root when installing a package.
The default is what you gave for --root-build if you specified
anything, otherwise the first of sudo, super, or su
which is present on the system.
- -s, --source
- Download source packages. This is the default.
- -S, --nosource
- Don't download source packages. The default is to download
them.
- --unpack
- Unpack downloaded source packages.
- -v, --verbose
- Be verbose.
- --version
- Print the version number and exit.
CONFIGURATION FILES¶
The default behavior of
debget can be modified by the configuration files
/etc/debget.rc and
~/.debget.rc (unless modified by the
-f or
-F switches). These files are processed as Perl code. They
can set these variables to control the program (with their corresponding
switches):
- $O{'arch'}
- --arch
- $O{'binary'}
- --binary, boolean
- "{$O{'build'}"
- --build, boolean
- $O{'debug'}
- --debug, integer
- $O{'dir'}
- --dir
- $O{'dist'}
- --dist
- $O{'host'}
- --host
- $O{'install'}
- --install, boolean
- $O{'no'}
- --no, boolean
- $O{'no-config'}
- --no-config, boolean
- $O{'no-download-re'}
- --no-download-re, array reference
- $O{'no-download-tar'}
- --no-download-tar, boolean
- $O{'no-dscverify'}
- --no-dscverify, boolean
- $O{'no-user-config'}
- --no-user-config, boolean
- $O{'non-us-dir'}
- --non-us-dir
- $O{'non-us-host'}
- --non-us-host
- $O{'root-build'}
- --root-build
- $O{'root-install'}
- --root-install
- $O{'source'}
- --source, boolean
- $O{'unpack'}
- --unpack, boolean
- $O{'verbose'}
- --verbose, boolean
Here's an example configuration file:
$O{'host'} = 'debian.terrabox.com';
$O{'verbose'} = 1;
BUGS¶
If you specify
--install all produced binary packages will be installed,
even ones you didn't specify on the command line. Eg, if you run "debget
--install ssh" it will install both
ssh and
ssh-askpass.
I'd like to add a
--clean switch which will make the program remove
intermediate files.
See
/usr/share/doc/debget/README.Debian if your transfers are failing
because you need to use passive FTP or a proxy.
SEE ALSO¶
dselect(8),
apt-get(8)
AVAILABILITY¶
The code is licensed under the GNU GPL and distributed as part of Debian.
AUTHOR¶
Roderick Schertler <roderick@argon.org>