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 is False. no more clicking "y" like a clown, slay πŸ’…
  • -f, --force β€” when spm is 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 of all, garbage, trace, debug, info, warning, error, quiet. Default: warning. (yes, garbage is 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 of all, 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 for remove) 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 a FORMULA file. 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 an SPM-METADATA file in that directory which describes them. lowkey the most satisfying one ngl πŸ“β­
quick vibe check: remove is not invited to the local party. 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 🫢


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