NAME
apt-offline - Offline APT Package manager
SYNOPSIS
apt-offline [ARGUMENTS] [OPTIONS]
DESCRIPTION
apt-offline brings offline package management functionality to Debian
based system. It can be used to download packages and its dependencies
to be installed later on (or required to update) a disconnected
machine. Packages can be downloaded from a different connected
machine.
It can also fetch bug reports for the packages that are downloaded.
Unless the -h/-v or --help/--version options are given, one of the get,
set or install commands must be provided.
set [-h] [--install-packages PKG...PKG_N] [--install-src-packages
PKG...PKG_N] --src-build-dep [--release release_name] [--update]
[--upgrade] [--upgrade-type upgrade] apt-offline.sig
set generates a signature file with the data required to install on or
update the disconnected machine.
FILENAME {apt-offline.sig} is the signature file generated on the
machine. This file will contain all the information necessary for apt.
--install-packages [PKG...PKG_N]
Packages that need to be installed
--install-src-packages [PKG...PKG_N]
Source packages that need to be installed
--src-build-dep
Download Build Dependency packages for the source packages
requested
--release release_name
Release target to install packages from
--update Generate APT Database signature for an update. This is the
equivalent of using apt-get update
--upgrade Generate APT Database signature for package upgrade. This is
the equivalent of using apt-get upgrade
--upgrade-type {upgrade_type}
Type of upgrade you would like to perform. Default is upgrade
. Other valid types are dist-upgrade and dselect-upgrade
get [-h] [--socket-timeout ] [-d / --download-dir] [-s / --cache-dir]
[--no-checksum] [-t / --threads ] [--bundle] [--bug-reports] apt-
offline.sig
get downloads APT data as per a signature file.
FILENAME {apt-offline.sig} is the signature file required for details
about data to be downloaded. This file should have been generated by
the above set command.
-d, --download-dir DIR_NAME
Download data to the specified DIR_NAME folder. If no folder
name is specified, data is downloaded to a folder in the
TEMPDIR path in the format apt-offline-download-$PID
-s, --cache-dir DIR_NAME
Look for data in the cache before downloading it from the
internet. If you are on a Debian box, you would want to
specify /var/cache/apt/archives here. If the data is not
available in the cache, the downloaded data is also copied to
the cache.
--no-checksum
Enabling this option will bypass the checksum verification of
each downloaded file thus losing integrity of the package.
Usage of this option is highly discouraged
-t, --threads NUM_OF_THREADS
Number of threads to spawn for downloads. Default is 1. Using
too many threads can overload the servers, hence it is
advisable to keep the number low
--bundle FILENAME
Create an archive file FILENAME. The file is archived in zip
format
--bug-reports
Download bug reports for packages that are being downloaded.
Currently only the Debian BTS is supported.
install [-h] [--skip-bug-reports ] [--install-src-path PATH] [--allow-
unauthenticated] FILE/FOLDER
install installs APT data to the APT package database and updates it.
FILE {archive_bundle_file} Install data from the archive (bundle) file.
FOLDER Install data from the folder path.
Either FILE or FOLDER argument can be provided to the install command.
--skip-bug-reports
Skip listing of downloaded bug reports, if any.
--allow-unauthenticated
Don’t verify GPG signatures for the data to be installed to
APT. Usage of this option is highly discouraged.
--install-src-path PATH
Path to filesystem where we want the source packages to be
installed to. Default will be a folder in your TEMPDIR.
GLOBAL OPTIONS
-h, --help
Show help message
--verbose
Run in verbose mode
--test-windows
Developer only. Used for testing on windows
-v, --version
Display the version of the progream
EXAMPLES
To keep your disconnected machine up-to-date, here is a typical
workflow
NOTE: argument/option handling
apt-offline relies on argparse for argument/option parsing. To
explicitly instruct apt-offline about an argument, you can pass
it with the -- delimiter.
Ex. apt-offline set --update --upgrade --install-packages wm2 --
foo.sig
By specifying the -- delimiter, we instruct apt-offline that
foo.sig is an argument to the apt-offline command and not to the
--install-packages option.
apt-offline set FILENAME
This command will generate a signature file FILENAME for APT
Package Database. To generate only the signature for updates,
use the --update option. To generate only the signature for
package upgrades, use the --upgrade option. Default behavior
when no options are specified is to generate a signature for
both the operations.
apt-offline get FILENAME
This command will fetch the data required for APT Package
Database as per the signature file FILENAME generated by apt-
offline get. To download bug reports also use the --bug-reports
option. Currently supported bug tracker is Debian BTS only. By
default, if neither of -d or --bundle options are specified,
apt-offline downloads data into a folder inside the TEMPDIR
environment folder in the format apt-offline-downloads-PID,
where PID is the PID of the running apt-offline process. Example
on a linux machine would be something like: /tmp/apt-offline-
downloads-23242/
apt-offline install FILE|FOLDER
This command will sync the data downloaded by apt-offline get to
the APT Package Database and update it. Depending on where the
data was downloaded to or packed into, either the absolute
FOLDER path or the archive FILE path can be specified.
AUTHOR
apt-offline is written by Ritesh Raj Sarraf (rrs@researchut.com)
BUGS
Signal hanling is executed only in the Main Thread, thus leading to
CTRL + C not exiting during the get operation. This is more a python
gil problem. Google python + gil for more details
If you wish to report a bug in apt-offline, please see http://apt-
offline.alioth.debian.org or send an email to me at rrs@researchut.com
SEE ALSO
apt-get(8), apt-cache(8), dpkg(8), aptitude(8),
DEDICATION
This software is dedicated to the memory of my father Santosh Kumar
Sarraf. We miss you a lot.