SPM(1)
π SPM(1) β Salt Package Manager, bestie edition
okay so real talk: you're looking at a page from the Salt docs, and it's all about spm β the Salt Package Manager. Yes, that's a (1) manpage, meaning it's a command you run in your shell. Sit down, grab a boba, we're doing this π§β¨
πΈ NAME
spm β the Salt Package Manager Command. Full government name: Salt Package Manager. That's it, that's the whole thing, and honestly? iconic π
β SYNOPSIS
spm <command> [<argument>]
that's the whole shape of it: you give it a command, and maybe an argument, and it does the thing. no cap π«Ά
π DESCRIPTION
spm is the frontend command for managing Salt packages β like, the pretty face you actually talk to πββοΈ
So what's in a package? Normally they only include formulas, which lowkey means a group of SLS files that install into the file_roots on the Salt Master. But plot twist β Salt modules can also be installed too β¨ so it's not just formulas, bestie.
π OPTIONS
-y,--assume-yesβ assumes yes instead of prompting you whether or not to proceed with a particular command. Default isFalse. no more clicking "y" like a clown, slay π-f,--forceβ whenspmis presented with a course of action it would normally refuse to perform, this makes it do that action anyway. π¨ heads up: this is often destructive, and should be used with caution. fr fr, respect the-f.
π¦ Logging Options
these are the logging options, and they override any settings defined on the configuration files β they're the main character here, the config files are just supporting cast π
-l LOG_LEVEL,--log-level=LOG_LEVELβ console logging log level. One ofall,garbage,trace,debug,info,warning,error,quiet. Default:warning. (yes,garbageis a real level, and no, we're not elaborating ποΈ)--log-file=LOG_FILEβ log file path. Default:/var/log/salt/spm. that's where the receipts live π§Ύ--log-file-level=LOG_LEVEL_LOGFILEβ logfile logging log level. One ofall,garbage,trace,debug,info,warning,error,quiet. Default:warning. same menu as above, just for the file π
π COMMANDS
here's the menu, bestie β pick your fighter:
update_repoβ connects to remote repositories locally configured on the system and downloads their metadata. like refreshing your feed but for repos πinstallβ installs a package from a configured SPM repository. Requires a package name. don't forget the name, okay? πremoveβ removes an installed package from the system. Requires a package name. the breakup command πinfoβ lists information about an installed package. Requires a package name. the "so tell me about yourself" command πfilesβ lists files belonging to an installed package. Requires a package name. the "who are your friends" command πlocalβ performs one of the above options (except forremove) on a package file, instead of on a package in a repository, or an installed package. Requires a valid path to a local file on the system. so local mode, very independent energy β¨buildβ builds a package from a directory containing aFORMULAfile. Requires a valid path to a local directory on the system. you're literally the architect ποΈcreate_repoβ scans a directory for valid SPM package files and builds anSPM-METADATAfile in that directory which describes them. lowkey the most satisfying one ngl πβ
quick vibe check:removeis not invited to thelocalparty. everyone else is. that's canon. π
π SEE ALSO
salt(1) salt-master(1) salt-minion(1) β go read these too, they're the extended universe π¦
π AUTHOR
Thomas S. Hatch <thatch45@gmail.com> and many others β please see the Authors file π«Ά
π§ COPYRIGHT
2026 β
and that's the whole page, bestie β go forth and manage packages, you absolute icon πβ¨
this cutie was brought to you by Salt version 3007.13, generated on February 11, 2026 at 19:51:30 UTC β love that for us ππ
π¦ where this page comes from
- alpine 3.24: salt-doc 3007.13-r3 Β· Apache-2.0
- nixos 26.05: salt 3007.13
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms