Skip to main content

Module apt

Module apt 

Source
Expand description

apt-family package management actions (Ubuntu / Debian).

All apt commands run with DEBIAN_FRONTEND=noninteractive and NEEDRESTART_MODE=a so they never block waiting for a TUI prompt.

§Lock contention

Concurrent apt runs are prevented by the dispatcher’s exclusion gate, not by a pre-flight probe: every action whose argv names an apt/dpkg tool maps to ExclusiveResource::Dpkg, and a second one submitted while the first holds that lock gets a ConflictResponse.

An earlier version of this doc claimed the executor ran fuser /var/lib/dpkg/lock before each mutating command. It never did — there is no such probe anywhere in the daemon. The gate above covers contention between SysKnife actions, which is what SysKnife can actually control; it does not detect a dpkg lock held by something outside SysKnife (an operator’s own apt session, or unattended-upgrades). In that case apt itself reports the lock and the action fails with apt’s own message.

§Environment variables

DEBIAN_FRONTEND=noninteractive suppresses all debconf prompts. NEEDRESTART_MODE=a tells the needrestart post-install hook to automatically restart services instead of prompting the operator. Both are required for daemon-driven apt invocations; omitting them causes apt to hang waiting for terminal input that never arrives.

Functions§

apt_autoremove
Remove automatically-installed packages no longer needed (apt-get autoremove -y).
apt_history_list
Show recent apt transaction history from /var/log/apt/history.log.
apt_hold
Pin a package at its current version (apt-mark hold <package>).
apt_install
Install a single package (apt-get install -y <package>).
apt_list_installed
List all installed packages (dpkg -l).
apt_list_upgradable
List packages that have upgrades available (apt list --upgradable).
apt_purge
Remove a package AND its configuration files (apt-get purge -y <package>).
apt_remove
Remove a package but keep its configuration files (apt-get remove -y <package>).
apt_search
Search apt repositories for packages matching a term (apt-cache search <term>).
apt_show
Show detailed information about a package (apt-cache show <package>).
apt_unhold
Remove the hold on a package, allowing upgrades again (apt-mark unhold <package>).
apt_update
Refresh the apt package index (apt-get update).
apt_upgrade
Upgrade all installed packages (apt-get dist-upgrade -y).
configure_unattended_upgrades
Enable or disable Ubuntu automatic (unattended) security updates.
specs
Return one representative ActionSpec per action name so the consistency test can verify policy + preview + executor coverage.