Ollama¶
- ID
ollama- Home page
- Version requirement
>= 0.5
- Platforms
🐧 Linux · 🍎 macOS · 🪟 Windows
- Operations
installed·install·upgrade·remove- purl types
pkg:ollama- CLI name
ollama- Issues and PRs
- Source
ollama runs large language models locally (https://ollama.com), and what is wrapped here is its model management.
A package is a model, identified by the name:tag pair the listing prints.
The tag is part of the identity rather than a version: llama3.2:1b and
llama3.2:3b are separate models, installed and removed independently, and
the listing always spells the tag out, :latest included. That string is
exactly what pull and rm accept back.
No version is reported. The only version-shaped column is a truncated content digest, which is a hash rather than an ordered version, and putting it in a version column would invite comparisons that mean nothing. mpm treats an installed version as optional throughout.
Warning
ollama is a client talking to a local daemon, and listing models needs that
daemon. Where it is not already running, the client does not simply fail: on
macOS it launches the desktop application through open, and on Windows it
starts the background helper, in both cases as a side effect of a read. Only
Linux fails cleanly, asking the user to run ollama serve themselves. No
flag suppresses this. It is bounded, since the daemon is one the user
installed deliberately and which starts itself at login on both desktop
platforms, and it changes no package state, but a plain mpm installed can
start a service on a machine where none was running.
No outdated. Re-pulling a tag fetches whatever the registry now holds, but
nothing reports that a local model is behind without downloading it. The
upstream change that would add the mechanism has been an unmerged draft since
2024 (ollama/ollama#2179). The
MODIFIED column is no substitute: it records the last pull attempt, so a
re-pull that changed nothing still resets it.
Without an outdated there is no upgrade --all either, since mpm builds
that one from the outdated set. Upgrading a named model works, being the same
pull that installed it.
No search: ollama has no such subcommand, and the request for one has been
open since 2023 (ollama/ollama#286),
with a later CLI-specific request closed as a duplicate of it. No sync or
cleanup either: the daemon prunes unreferenced blobs at startup, and no
command exposes that.
No escalation. The client only speaks HTTP to the daemon, which does every write itself, so nothing here needs privileges even where the daemon runs under a service account of its own.
What mpm adds to ollama¶
mpm reaches across every manager at once, not ollama alone: mpm installed and mpm outdated cover ollama alongside every other manager you run in one table, mpm upgrade --all updates them together, and mpm sbom exports the whole machine as one bill of materials.
Every mpm command also gains --dry-run and --plan previews, cross-scheme version comparison and purl identifiers. See manager augmentations for how each one is built.
Your ollama commands, in mpm¶
You already know ollama: each operation maps one-to-one onto mpm, in an interface shared by every manager.
To… |
With |
With |
|---|---|---|
List what’s installed |
|
|
Install a package |
|
|
Upgrade one package |
|
|
Remove a package |
|
|
Prefix any command above with --dry-run to simulate the underlying manager calls without touching the system: the safe way to watch what mpm would do before trusting it.
Operations¶
Operation |
Supported |
|---|---|
|
✓ |
|
|
|
|
|
|
|
✓ |
|
✓ |
|
|
|
✓ |
|
|
|
|
|
Selecting and configuring ollama¶
Deselect ollama for a single run with --no-ollama, or persist the choice in your configuration:
[mpm]
ollama = false
Keep it enabled but tune how mpm drives it with a per-manager override:
[mpm.managers.ollama]
timeout = 900
mpm config-template ollama prints every overridable attribute as a ready-to-paste block.
Recipes¶
A few jobs you would otherwise script around ollama, one mpm command each:
Snapshot and clone a machine:
mpm --ollama dump ollama.toml, thenmpm restore ollama.tomlon the next one.Export a compliance SBOM:
mpm --ollama sbom(CycloneDX by default,--spdxfor SPDX).
Privilege escalation¶
mpm runs this manager as the current user and never prepends sudo by default. Flip the policy for its privileged operations with --sudo or the per-manager sudo override.
None of its operations needs root.
See privilege escalation for the full policy.
Cooldown¶
State of Ollama’s release-age gating, from the cooldown support table:
Status: ❌ None
A cooldown only pays off where a compromised release can be withdrawn while the clock runs, and can only be emulated where the registry dates its releases. From the retraction table:
Registry: Ollama model registry
Retraction: Author deletion: a model is published to the registry under its own namespace and withdrawn there, the tag ceasing to resolve while any copy already pulled stays in the local store
Publish date: ❌ the manifest carries a content digest and no publication date for a release-age gate to read
With --cooldown set, mpm skips this manager’s install and upgrade operations rather than run them unguarded (fail-closed); --allow-unsupported-managers opts back in.
Version probe¶
The version is probed by running:
$ ollama --version
ollama version is 0.32.8
Warning: client version is 0.32.9
and extracted with:
r"version is (?P<version>\S+)"
Changelog¶
7.7.0.dev0(unreleased)Add the Ollama model manager with
installed,install,upgradeandremovesupport, shipped as a bundled definition. Models are keyed on thename:tagpair its listing prints. It declares nooutdated, nothing reporting that a local model is behind without downloading it, and so noupgrade --alleither. Note that listing models starts ollama’s daemon on macOS and Windows where it is not already running.