cdist-type__dpkg_architecture - Man Page

Handles foreign architectures on debian-like systems managed by dpkg


This type handles foreign architectures on systems managed by dpkg(1). The object id is the name of the architecture accepted by dpkg, which should be added or removed.

If the architecture is not setup on the system, it adds a new architecture as a new foreign architecture in dpkg. Then, it updates the apt package index to make packages from the new architecture available.

If the architecture should be removed, it will remove it if it is not the base architecture on where the system was installed on. Before it, it will purge every package based on the "to be removed" architecture via apt to be able to remove the selected architecture.

Required Parameters


Optional Parameters


present or absent. Defaults to present.



Added the specified architecture


Removed the specified architecture


Aborts in the following cases:

If dpkg(1) is not available. It will abort with a proper error message.

If the architecture is the same as the base architecture the system is build upon it (returned by dpkg --print-architecture) and it should be removed.

It will fail if it can not execute apt(8). It is assumed that it is already installed.


# add i386 (32 bit) architecture
__dpkg_architecture i386

# remove it again :)
__dpkg_architecture i386 --state absent

See Also

Multiarch on Debian systems

How to setup multiarch on Debian

dpkg(1) cdist-type__package_dpkg(7) cdist-type__package_apt(7)

Useful commands:

# base architecture installed on this system
dpkg --print-architecture

# extra architectures added
dpkg --print-foreign-architectures


Matthias Stecher <matthiasstecher at>


Copyright (C) 2020 Matthias Stecher. You can redistribute it and/or modify it under the terms of the GNU General Public License as ublished 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