cdist-type__apt_pin - Man Page

Manage apt pinning rules


Adds/removes/edits rules to pin some packages to a specific distribution. Useful if using multiple debian repositories at the same time. (Useful, if one wants to use a few specific packages from backports or perhaps Debain testing... or even sid.)

Required Parameters


Specifies what distribution the package should be pinned to. Accepts both codenames (buster/bullseye/sid) and suite names (stable/testing/...).

Optional Parameters


Package name, glob or regular expression to match (multiple) packages. If not specified __object_id is used.


The priority value to assign to matching packages. Deafults to 500. (To match the default target distro's priority)


Will be passed to underlying __file type; see there for valid values and defaults.

Boolean Parameters



# Add the bullseye repo to buster, but do not install any packages by default,
# only if explicitely asked for (-1 means "never" for apt)
 __apt_pin bullseye-default \
    --package "*" \
    --distribution bullseye \
    --priority -1

 require="__apt_pin/bullseye-default" __apt_source bullseye \
    --uri \
    --distribution bullseye \
    --component main

 __apt_pin foo --package "foo foo-*" --distribution bullseye

 __foo # Assuming, this installs the `foo` package internally

 __package foo-plugin-extras # Assuming we also need some extra stuff

See Also

apt_preferences(5) cdist-type__apt_source(7) cdist-type__apt_backports(7) cdist-type__file(7)


Daniel Fancsali <>


Copyright (C) 2021 Daniel Fancsali. You can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.


Jul 31, 2022 7.0.0 cdist