NAME¶
apt-forktracer - a utility for managing package versions
SYNOPSIS¶
apt-forktracer [ -v ]
DESCRIPTION¶
Background¶
Maintaining Debian stable systems sometimes requires installation of unofficial
versions of packages:
- backporting newer versions
- This is necessary, when significant new functionality is required on the
system but unavailable in the official version found in the current stable
release. In this case, the version string usually sorts as newer than the
official stable version string. This means that pinning is not necessary,
as APT will select such package version by default.
- local changes to the official version
- Usually these are small changes, so a minor modification of the package
version string is sufficient. There are two ways to do this:
Try to invent a version string newer than the current one, but older than
the next official one. This way does not require pinning, but is
difficult to do reliably. It might turn out, that the next official
version string is older than the one invented by you, which would cause
the official version to be silently ignored.
The other way is to modify the version string in such way that it sorts as
older than the official one. The tilde character is very useful here,
because dpkg treats it in a special way: it is sufficient to append any
string starting with the tilde, to the version string, e.g. 1.2
→ 1.2~sl.1. This requires you to "pin" the package
to that version, but it is more reliable, because works regardless of what
the next official version number will be.
In both cases, there is one major drawback: APT will not warn you when newer
versions of official packages (point releases, security updates) will appear
in the stable release. This means you may miss some important change.
apt-forktracer's job let you track newer official versions of locally
overridden packages.
Official package version definition¶
Official package version is a version which is available from a source, whose
Release file's Origin header value is equal to the system distributor
identifier, as indicated by the
lsb_release --id command, or by the
DISTRIB_ID field in the
/etc/lsb-release file.
Program operation¶
apt-forktracer analyzes each installed package separately, reporting on
the standard output these packages which are in a "non-standard"
state. What "non-standard" means depends on the mode of program
operation:
- default (non-verbose) mode
- this state means packages in an incorrect state (e.g. no candidate
version) or packages whose candidate version is different than the newest
available official version.
- verbose mode
- this state also includes packages whose installed version is different
from the candidate version
In the default mode the program also reads configuration files, which let you
ignore some of the "non-standard" packages, as long as they meet
certain criteria. If there is no configuration for a given package, then a
default configuration is used. More information is available in
forktracer.conf(5).
The program outputs messages such as the following:
foobar (1.2.3->1.2.4) [Debian: 1.2.3 1.2.4] [Other origin: 1.2.2]
Where:
- foobar
- package name
- 1.2.3
- installed package version
- 1.2.4
- candidate package version - see apt-cache(8).
- Debian
- the value of the "Origin" field of one of the package sources.
Versions available from this source are listed after a colon.
- Other origin
- another source origin
OPTIONS¶
- -v
- Turns on the verbose mode.
FILES¶
/etc/apt/forktracer.conf
/etc/apt/forktracer.d/*.conf
SEE ALSO¶
forktracer.conf(5),
apt_preferences(5),
apt-cache(8).