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>