Arctic's package manager. Binary packages are
.alpmz files — a tar.xz with a .PKGINFO, a
.FILES list and the payload rooted at /.
alpm ins vim install alpm del vim remove alpm del+deps vim remove, and anything only it needed alpm search editor search alpm info vim what a package is alpm list what is installed alpm files vim what a package owns alpm owns /usr/bin/vim which package owns a file alpm fetch all refresh the repository indexes alpm upgrade upgrade everything
On a configured system, prefer editing
system.conf and rebuilding — see
declarative configuration. Using
alpm ins directly works, but the next rebuild will remove
anything the file does not mention.
Not everything has a binary. When it does not, alpm offers to build it:
alpm ins -s some-package build from the port, even if a binary exists alpm build recipe build a recipe into an .alpmz
On musl this is the normal path — see musl.
main | the base system and its libraries |
base | desktops, X, Wayland, larger stacks |
extra | applications and tools |
kernels | kernels and headers |
profile | whole-environment meta packages |
musl | packages built against musl |
source | recipes for everything, binary or not |
nonfree, multilib | off by default |
Configured in /etc/alpm/repos.d/*.repo:
name = main url = https://pkg-arctic.apiwow.net/ALL/main enabled = yes priority = 10
Browse them at pkg-arctic.apiwow.net and ports-arctic.apiwow.net.
On btrfs, alpm snapshots before every install or removal:
alpm log every transaction alpm rollback undo the last one arctic snapshots list them
This is separate from generations, which record declared configurations rather than filesystem state — see generations.
Every package is generated from one line in
ports/manifest.tsv:
repo name version buildsys license depends makedepends url source desc
gen-ports.py turns that into a recipe. A package needing
something the template cannot express gets a hand-written recipe plus a
recipe.local marker beside it, which stops regeneration from
overwriting the hand work.
Changes go to arctic-linux-ports.
pkgit can be installed alongside alpm:
A_PKGIT=yes
alpm remains what the system itself is built and managed with; this only puts pkgit next to it.
More: arctic linux docs · install · declarative configuration · generations and rollback · init systems · kernels · desktops and audio · ephemeral shells · musl · building from source