Shelly Rosetta
Shelly Rosetta compares Shelly and Pacman commands. Shelly appears first; the marker in Purpose / notes describes the match:
=: equivalent operation and package scope for the stated inputs; formatting and prompts can differ.≈: similar purpose, with a meaningful difference explained in the row or linked notes.—: no direct counterpart in the other tool’s documented CLI.
Replace uppercase placeholders before running examples; see the argument key.
The Short code column is another spelling of the Shelly command in the same row, not a Pacman-compatible flag set. Some long flags stay separate to avoid ambiguous combinations. These examples target Shelly 3.1.9; see the sources.
Shelly’s standard backend covers ALPM packages, including configured third-party repositories. Removal matches assume ordinary, unheld ALPM packages. Shelly requests elevation when needed; privileged Pacman examples use sudo. Separate companion utilities are identified in their own table.
Reading short codes
Section titled “Reading short codes”Most backend commands use an uppercase action and a lowercase backend: I = install, U = upgrade, S = search, R = remove; s = standard, a = AUR, f = Flatpak, i = AppImage. Not every combination is supported.
shelly -Is PKG means shelly install standard PKG. Adding u gives shelly -Isu PKG, which adds --upgrade. This is still only similar to sudo pacman -Syu PKG; Shelly uses separate upgrade and install transactions.
Modifier letters depend on the command. Keep global options separate (shelly -Is PKG --no-confirm). Append h for backend help (shelly -Ish), or use shelly -I --help for action help. The CLI reference lists the available commands and options.
shelly -U upgrades all enabled backends; shelly -Us upgrades standard packages only. Likewise, shelly -P lists updates across all backends. Shared letters do not make Pacman flags interchangeable: shelly -Rs PKG uses Shelly’s removal defaults, not Pacman’s -Rs behavior.
Common commands
Section titled “Common commands”On narrow screens, scroll each table horizontally to read all four columns.
| Shelly | Short code | Pacman | Purpose / notes |
|---|---|---|---|
shelly install standard PKG |
shelly -Is PKG |
sudo pacman -S PKG |
≈ Install a repository package from stored databases; Shelly offers optional dependencies. Details. |
shelly install standard PKG --needed |
shelly -Is PKG --needed |
sudo pacman -S --needed PKG |
≈ Skip already current targets; Shelly can offer optional dependencies for remaining targets. Details. |
shelly install standard PKG --upgrade |
shelly -Isu PKG |
sudo pacman -Syu PKG |
≈ Refresh and upgrade before installing; Shelly uses separate, pre-check-gated transactions. Limitations. |
shelly install standard FILE |
shelly -Is FILE |
sudo pacman -U FILE |
≈ Install a local Arch package archive; signature policies differ. Details. |
shelly install standard URL |
shelly -Is URL |
sudo pacman -U URL |
≈ Install an Arch package archive from HTTP(S); download/signature handling differs. Details. |
shelly upgrade standard |
shelly -Us |
sudo pacman -Syu |
≈ Full repository upgrade; Shelly force-refreshes and adds news/restart/cache steps. Limitations. |
shelly list-updates standard |
shelly -Ps |
pacman -Qu |
≈ List repository updates; Shelly refreshes separately and filters ignored targets. Details. |
shelly list-updates all |
shelly -P |
pacman -Qu |
≈ Check updates across all Shelly backends; Pacman covers stored repository updates. Details. |
shelly sync |
shelly -Ys |
sudo pacman -Sy |
= Refresh package databases without upgrading. Partial-upgrade caution. |
shelly sync --force |
shelly -Ysf |
sudo pacman -Syy |
= Force-refresh package databases. Partial-upgrade caution. |
shelly update standard PKG |
shelly -Es PKG |
sudo pacman -Sy --needed PKG |
≈ Refresh and update selected installed packages; behavior differs. Partial-upgrade caution. |
shelly downgrade PKG |
shelly -D PKG |
sudo pacman -U OLDER_FILE |
≈ Install an older version; Shelly selects cached/archived versions, Pacman needs a path or URL. |
shelly search standard QUERY |
shelly -Ss QUERY |
pacman -Ss QUERY |
≈ Search repository names/descriptions; matching, pagination and visibility differ. Details. |
shelly search standard QUERY --installed |
shelly -Ssi QUERY |
pacman -Qs QUERY |
≈ Search installed packages; matching, pagination and visibility differ. Details. |
shelly search standard PKG --detail --show-hidden |
shelly -Ssdw PKG |
pacman -Si PKG |
≈ Show repository metadata; repository selection differs. Details. |
shelly search standard PKG --installed --detail --show-hidden |
shelly -Ssidw PKG |
pacman -Qi PKG |
≈ Show installed metadata; Shelly can fall back to repository data. Details. |
shelly search standard |
shelly -Ss |
pacman -Sl |
≈ List available packages; Shelly paginates, hides ignored names and merges duplicates. Details. |
shelly search standard GROUP --group --show-hidden |
shelly -Ssgw GROUP |
pacman -Sg GROUP |
≈ List a repository group’s members; result handling/pagination differs. |
shelly search standard --repos |
shelly -Ssr |
— | — List repository names; the separate companion is pacman-conf --repo-list. |
shelly list standard |
shelly -Ls |
pacman -Q |
= List all installed ALPM packages, including foreign packages; output formats differ. |
shelly list standard --explicitOnly |
shelly -Lse |
pacman -Qe |
= List packages explicitly installed by the user. |
shelly list standard --dependencyOnly |
shelly -Lsd |
pacman -Qd |
= List packages installed as dependencies. |
shelly list aur --show-hidden |
shelly -La --show-hidden |
pacman -Qm |
≈ List AUR packages versus all foreign ALPM packages. Scope difference. |
shelly mark explicit PKG |
shelly -Me PKG |
sudo pacman -D --asexplicit PKG |
= Mark an installed package explicit without reinstalling. |
shelly mark dependency PKG |
shelly -Md PKG |
sudo pacman -D --asdeps PKG |
= Mark an installed package as a dependency without reinstalling. |
shelly remove standard PKG --no-cascade |
shelly -Rs PKG --no-cascade |
sudo pacman -R PKG |
= Remove a package; keep newly unneeded dependencies and normal .pacsave handling. |
shelly remove standard PKG |
shelly -Rs PKG |
sudo pacman -Rns PKG |
= Remove with unneeded dependency cleanup and no .pacsave. Removal defaults. |
shelly remove standard PKG --no-cascade --ripple |
shelly -Rsi PKG --no-cascade |
sudo pacman -Rc PKG |
= Remove the target and its dependents; Shelly needs both flags in the audited source. Details. |
shelly remove standard PKG --opt-deps |
shelly -Rso PKG |
sudo pacman -Rns PKG |
≈ Also select optional dependencies. Review the plan: other apps may still use them. Details. |
shelly remove standard PKG --remove-config |
shelly -Rs PKG --remove-config |
sudo pacman -Rns PKG |
≈ Also remove package-named user configuration; Pacman keeps home settings. Details. |
shelly remove aur PKG |
shelly -Ra PKG |
sudo pacman -R PKG |
≈ Remove an AUR package and its build/VCS tracking state; no default dependency cleanup. Details. |
shelly purify standard --orphans --dry-run |
shelly -Zsod |
pacman -Qdt |
≈ Find unneeded dependency-installed packages; Shelly also previews corrupted archives. Details. |
shelly purify standard --orphans |
shelly -Zso |
sudo pacman -Rns PKG… |
≈ Remove selected orphans; Shelly also cleans corrupted archives. Target selection. |
shelly purify standard --cache 3 |
shelly -Zsc 3 |
sudo pacman -Sc |
≈ Clean cache with different retention policies; Pacman can also remove sync databases. Details. |
shelly purify standard --cache 0 |
shelly -Zsc 0 |
sudo pacman -Scc |
≈ Clear recognized package archives versus all cache files. Cache/database differences. |
| — | — | sudo pacman -Sw PKG |
— Download repository packages and dependencies without installing. No dedicated documented Shelly counterpart. |
| — | — | pacman -Ql PKG |
— List files owned by an installed package. |
| — | — | pacman -Qo PATH |
— Find the installed package owning a file. |
| — | — | sudo pacman -Fy |
— Refresh repository file databases, separate from package databases. |
| — | — | pacman -F FILENAME |
— Find repository packages containing a file, including packages not installed. |
| — | — | pacman -Qk PKG / pacman -Qkk PKG |
— Check installed files for presence / extra metadata; Shelly checks cached archives instead. Details. |
shelly search aur QUERY |
shelly -Sa QUERY |
— | — Search the AUR directly; Pacman’s repository search does not search the AUR. |
shelly search aur QUERY --standard |
shelly -Sa QUERY --standard |
— | — Search the AUR and append high-confidence matches from configured repositories. |
shelly search aur PKG --detail |
shelly -Sad PKG |
— | — Show exact AUR package metadata. |
shelly search aur PKG --pkgbuild |
shelly -Sap PKG |
— | — Fetch and display the AUR package’s PKGBUILD. |
shelly QUERY |
Already short | — | — Search repositories/AUR, then choose a package to install interactively. |
shelly install aur PKG |
shelly -Ia PKG |
— | — Fetch, review, build and install an AUR package; Pacman only installs the result. Details. |
shelly upgrade aur |
shelly -Ua |
— | — Check and rebuild available AUR/VCS upgrades. |
shelly update aur PKG |
shelly -Ea PKG |
— | — Fetch, review, rebuild, and reinstall selected AUR packages. |
shelly build --sync-deps --install |
shelly -Asl |
— | — Build a PKGBUILD, install missing dependencies, then install the result. Companion mapping. |
shelly install flatpak APP_ID |
shelly -If APP_ID |
— | — Install a Flatpak application; requires Shelly’s optional Flatpak backend. |
shelly upgrade flatpak |
shelly -Uf |
— | — Upgrade Flatpak applications/runtimes in user and system installations. |
shelly install appimage FILE.AppImage |
shelly -Ii FILE.AppImage |
— | — Install and track an AppImage. |
shelly upgrade appimage |
shelly -Ui |
— | — Upgrade tracked AppImages with configured update sources. |
shelly upgrade all |
shelly -U |
sudo pacman -Syu |
≈ Upgrade every enabled Shelly backend; Pacman covers repository packages. Backend scope. |
shelly backup --export |
shelly -Be |
pacman -Qqe > packages.txt |
≈ Export installation lists with different formats/scope; neither backs up app data. Details. |
shelly mark ignore PKG --add |
shelly -Mga PKG |
— | — Persistently modify IgnorePkg; Pacman has an invocation-only option. Details. |
shelly mark hold PKG --add |
shelly -Moa PKG |
— | — Modify HoldPkg removal protection; Pacman uses pacman.conf. |
shelly utility --pacfiles |
shelly -Tp |
— | — Review/merge configuration-update files; see the separate pacdiff utility. Details. |
shelly news |
shelly -N |
— | — Read Arch Linux news and track viewed entries. |
shelly --help |
shelly -h |
pacman --help |
= Show command help. |
shelly utility --docs |
shelly -Td |
— | — Generate Shelly’s CLI reference as Markdown. |
Additional Shelly workflows
Section titled “Additional Shelly workflows”The following Shelly workflows complete the documented backend, configuration, and maintenance command paths. They have no direct native Pacman counterpart unless a comparison is shown.
| Shelly | Short code | Pacman | Purpose / notes |
|---|---|---|---|
shelly search flatpak QUERY |
shelly -Sf QUERY |
— | — Search cached AppStream catalogs across user/system remotes, with pagination. |
shelly list flatpak |
shelly -Lf |
— | — List installed Flatpak applications and runtimes. |
shelly list flatpak remote |
shelly -Lf remote |
— | — List configured user/system Flatpak remotes. |
shelly list flatpak remote REMOTE / shelly list flatpak remote all |
shelly -Lf remote REMOTE / shelly -Lf remote all |
— | — Return cached AppStream JSON for one or all remotes. |
shelly list appimage |
shelly -Li |
— | — List tracked AppImages. |
shelly list-updates flatpak |
shelly -Pf |
— | — Check available Flatpak application/runtime updates. |
shelly list-updates appimage |
shelly -Pi |
— | — Check configured AppImage update sources. |
shelly list-updates aur |
shelly -Pa |
— | — Check AUR/VCS updates. VCS and hidden-package options. |
shelly update flatpak APP_ID |
shelly -Ef APP_ID |
— | — Update one installed application/runtime in its existing user/system scope. |
shelly remove flatpak APP_ID |
shelly -Rf APP_ID |
— | — Remove a Flatpak; optional flags add dependency/application-data cleanup. Details. |
shelly remove appimage APPIMAGE |
shelly -Ri APPIMAGE |
— | — Remove a tracked AppImage; optional configuration cleanup. Details. |
shelly purify flatpak |
shelly -Zf |
— | — Plan, confirm, and remove unused dependencies across user/system installations. |
shelly sync flatpak |
shelly -Yf |
— | — Refresh cached Flatpak AppStream metadata. |
shelly sync flatpak remote add REMOTE --remote-url URL |
shelly -Yf remote add REMOTE --remote-url URL |
— | — Add a Flatpak remote; default scope is system. Scope option. |
shelly sync flatpak remote remove REMOTE |
shelly -Yf remote remove REMOTE |
— | — Remove a Flatpak remote. Scope option. |
shelly sync appimage |
shelly -Yi |
— | — Refresh extracted metadata for tracked AppImages. |
shelly sync appimage APPIMAGE URL StaticUrl |
shelly -Yi APPIMAGE URL StaticUrl |
— | — Configure an AppImage update source. Supported source types. |
shelly run flatpak APP_ID |
shelly -Xf APP_ID |
— | — Launch a Flatpak application; --kill stops it. |
shelly run flatpak list |
shelly -Xf list |
— | — List running Flatpak applications/process IDs. |
shelly run appimage APPIMAGE |
shelly -Xi APPIMAGE |
— | — Launch an AppImage with its stored environment; --kill stops it. |
shelly config |
shelly -C |
— | — List settings; loading configuration can write its file. Details. |
shelly config get ParallelDownloadCount |
shelly -Cg ParallelDownloadCount |
— | — Read a setting; configuration loading can write its file. Details. |
shelly config set ParallelDownloadCount 8 |
shelly -Cs ParallelDownloadCount 8 |
— | — Persist a setting; Pacman uses a different download directive. Details. |
shelly config parallel 8 |
shelly -Cp 8 |
— | — Set Shelly’s download concurrency, range 1–255. |
shelly config reset |
shelly -Cr |
— | — Reset Shelly settings to native defaults. |
shelly config appimage APPIMAGE --set-env 'MY_VAR=value' |
shelly -C appimage APPIMAGE --set-env 'MY_VAR=value' |
— | — Store an AppImage environment override. Mutually exclusive operations. |
shelly utility repository --list |
shelly -Tr --list |
— | — List ALPM repositories; related companion: pacman-conf --repo-list. |
shelly utility repository REPO 'https://example.org/$arch/$repo' --add --no-sync |
shelly -Tr REPO 'https://example.org/$arch/$repo' --add --no-sync |
— | — Add repository configuration; keep URL variables quoted. Refresh behavior. |
shelly utility repository REPO --remove --no-sync |
shelly -Tr REPO --remove --no-sync |
— | — Remove repository configuration. Refresh behavior. |
shelly --json resolve PKG |
shelly -Q PKG --json |
— | — Resolve exact binary names to source bases/metadata across repositories/AUR; requires --json. |
shelly --json resolve PKG --source standard --repository REPO |
shelly -Q PKG --json --source standard --repository REPO |
pacman -Sddp --print-format '%e' REPO/PKG |
≈ Resolve a repository package source base; Shelly adds richer JSON/per-input errors. |
shelly backup --import --name NAME --directory DIR |
shelly -B --import --name NAME --directory DIR |
— | — Install targets from a saved manifest; no app data or historical versions. Details. |
shelly utility --fix-permissions |
shelly -Tf |
— | — Restore invoking-user ownership of Shelly’s configuration/cache/data directories. |
shelly utility --repair-db |
shelly -T --repair-db |
— | — Delete the database lock. First confirm no package manager is running. Lock caveat. |
shelly utility --completions fish |
shelly -Tc fish |
— | — Emit Fish completion text; Bash and Zsh are also supported. |
shelly utility --pacfiles --output |
shelly -Tpo |
— | — List configuration-update paths without merging. File types. |
shelly purify standard --aur-cache --dry-run |
shelly -Zsd --aur-cache |
— | — Preview cleanup of all Shelly-cache contents, including AUR sources and build trees. Details. |
shelly purify standard --dry-run |
shelly -Zsd |
— | — Preview corrupted archives; no orphan or version-retention cleanup requested. |
shelly mark ignore --list |
shelly -Mgl |
— | — List IgnorePkg entries. Removal/clear options. |
shelly mark hold --list |
shelly -Mol |
— | — List HoldPkg entries. Removal/clear options. |
shelly build --review-only |
shelly -A --review-only |
— | — Evaluate/review PKGBUILD inputs and emit JSON without building; not just file display. Details. |
shelly build --isolated |
shelly -Ai |
— | — Build as an unprivileged user in a fresh systemd-nspawn root. |
shelly --version |
shelly -V |
pacman --version |
= Show the respective program’s version. |
shelly install standard --help |
shelly -Ish |
pacman -S --help |
≈ Show operation help; Pacman -S spans several separate Shelly commands. |
Additional Pacman operations
Section titled “Additional Pacman operations”Additional native Pacman operations and query variants follow. These rows distinguish installed-package queries, archive inspection, file databases, and transaction previews.
| Shelly | Short code | Pacman | Purpose / notes |
|---|---|---|---|
| — | — | pacman -T DEP 'DEP>=VERSION' |
— Print dependencies not satisfied by installed packages; installs nothing. |
| — | — | pacman -Dk / pacman -Dkk |
— Check local / sync-database consistency; distinct from installed-file checks. Details. |
shelly list standard --json |
shelly -Ls --json |
pacman -Qq |
≈ Output installed-package data: rich JSON versus names only. Query output. |
| — | — | pacman -Qn |
— List installed packages in configured sync databases, including third-party repositories; inverse of -Qm. |
| — | — | pacman -Qt / pacman -Qtt |
— List unneeded packages / also include optionally required ones. Explicit packages and filters. |
| — | — | pacman -Qdtt |
— List dependency-installed packages without hard reverse dependencies. Optional-dependency distinction. |
| — | — | pacman -Qg GROUP / pacman -Qg |
— List installed members of a group / all installed grouped packages. |
| — | — | pacman -Qc PKG |
— Display the installed package’s changelog, when provided. |
| — | — | pacman -Qii PKG |
— Show installed metadata plus designated backup files and modification states. |
| — | — | pacman -Qp FILE / pacman -Qip FILE / pacman -Qlp FILE |
— Inspect an uninstalled archive: name/version / metadata / contained paths. |
| — | — | pacman -Fl PKG |
— List repository package files from file databases; installation is unnecessary. |
| — | — | pacman -Fx REGEX |
— Search repository file databases using a regular expression. |
| — | — | sudo pacman -Fyy |
— Force-refresh repository file databases even when they appear current. |
| — | — | pacman -F --machinereadable FILENAME / pacman -Fq FILENAME |
— Output NUL-separated fields / names only. Field order. |
| — | — | sudo pacman -Su |
— Upgrade using stored databases; adding a target still upgrades the whole system. Details. |
shelly upgrade standard |
shelly -Us |
sudo pacman -Syyu |
≈ Force-refresh and upgrade; Shelly adds workflows and a pre-check limitation. Details. |
| — | — | sudo pacman -Suu / sudo pacman -Syuu |
— Permit downgrades to repository versions while upgrading, using stored / refreshed databases. |
shelly search standard --group --show-hidden |
shelly -Ssgw |
pacman -Sg / pacman -Sgg |
≈ List repository group names / groups and members; Shelly output differs. |
shelly search standard PKG --detail --show-hidden |
shelly -Ssdw PKG |
pacman -Sii PKG |
≈ Show repository metadata; Pacman also lists repository packages depending on the target. |
shelly install standard REPO/PKG |
shelly -Is REPO/PKG |
sudo pacman -S REPO/PKG |
≈ Select a repository explicitly; dotted names need care in the audited source. Details. |
shelly install standard GROUP |
shelly -Is GROUP |
sudo pacman -S GROUP |
≈ Install group members; selection and optional-dependency workflows differ. |
shelly install standard 'PKG>=VERSION' |
shelly -Is 'PKG>=VERSION' |
sudo pacman -S 'PKG>=VERSION' |
≈ Select a package/provider meeting a quoted version constraint. Resolution differences. |
| — | — | sudo pacman -Rs PKG / sudo pacman -Rn PKG |
— Select dependency cleanup / .pacsave suppression separately. Shelly removal choices. |
| — | — | sudo pacman -Rss PKG / sudo pacman -Ru PKG… |
— Allow recursive removal of explicit dependencies / remove only unneeded supplied targets. |
| — | — | pacman -Sp PKG / pacman -Sup / pacman -Rp PKG / pacman -Up FILE |
— Print transaction targets without committing; -y still refreshes databases. Formatting. |
Transaction and configuration options
Section titled “Transaction and configuration options”Shared transaction and configuration controls are included below using examples. Flags apply only to the operations stated in the notes.
| Shelly | Short code | Pacman | Purpose / notes |
|---|---|---|---|
shelly install standard PKG --no-deps |
shelly -Isd PKG |
sudo pacman -Sdd PKG |
≈ Skip all dependency checks; Pacman single -d skips version checks only. Details. |
shelly remove standard PKG --force |
shelly -Rsf PKG |
sudo pacman -Rdd PKG |
= Skip all dependency checks for an unheld ALPM target; help/source differ. Audited flag behavior. |
| — | — | sudo pacman -Udd FILE |
— Skip archive-install dependency checks; no documented Shelly archive option. |
| — | — | sudo pacman -S PKG --assume-installed 'DEP=VERSION' |
— Virtually satisfy a dependency without installing it. Operation scope. |
| — | — | sudo pacman -S PKG --dbonly |
— Modify database entries without files; this changes state. Operation scope. |
| — | — | sudo pacman -S PKG --noscriptlet |
— Skip install scriptlets; ALPM hooks can still run. Operation scope. |
| — | — | sudo pacman -S PKG --asdeps / sudo pacman -S PKG --asexplicit |
— Set installation reason while installing. Operation scope. |
| — | — | sudo pacman -Syu --ignore PKG / sudo pacman -Syu --ignoregroup GROUP |
— Ignore package/group upgrades for this invocation. Persistent marks. |
| — | — | sudo pacman -S PKG --overwrite 'PATH/*' |
— Override matching file conflicts; quote the pattern. Limits and operation scope. |
| — | — | sudo pacman -Uw URL |
— Download an archive/URL without installing via -U download-only mode. |
| — | — | sudo pacman -S PKG --root DIR / sudo pacman -S PKG --sysroot DIR |
— Choose installation root / mounted guest root; path handling differs. |
| — | — | pacman -Q --dbpath DIR / pacman -Q --config CONFIG_FILE / sudo pacman -S --arch ARCH PKG |
— Choose database/configuration/architecture. Database-path semantics. |
| — | — | sudo pacman -S PKG --cachedir DIR |
— Choose cache directories; repeatable, distinct from retention policy. |
| — | — | sudo pacman -S PKG --gpgdir DIR / sudo pacman -S PKG --hookdir DIR / sudo pacman -S PKG --logfile PATH |
— Override signature-key, hook, or log locations. |
shelly install standard PKG --no-confirm |
shelly -Is PKG --no-confirm |
sudo pacman -S PKG --noconfirm |
≈ Use automatic answers; Shelly and Pacman confirmation behavior differs. Details. |
| — | — | sudo pacman -S PKG --disable-download-timeout |
— Disable low-speed download limits/timeouts. |
| — | — | sudo pacman -S PKG --disable-sandbox |
— Disable combined sandbox controls. Component options. |
| — | — | pacman -Q --quiet / pacman -Q --verbose / pacman -Q --debug / pacman -Q --color never |
— Control output; quiet behavior depends on operation. Transaction output. |
Companion utilities
Section titled “Companion utilities”The following mappings use separate companion utilities, not the pacman executable. Their full option sets are outside this comparison’s scope.
| Shelly | Short code | Pacman companion utility | Purpose / notes |
|---|---|---|---|
shelly keyring init |
shelly -Ki |
sudo pacman-key --init |
≈ Initialize signing keys; keyring locations/configuration can differ. Details. |
shelly keyring list |
shelly -Kl |
pacman-key --list-keys |
≈ List keys; keyring locations can differ. Details. |
shelly keyring refresh |
shelly -Kr |
sudo pacman-key --refresh-keys |
≈ Refresh package-signing keys from a keyserver. |
shelly keyring lsign KEY |
shelly -Ks KEY |
sudo pacman-key --lsign-key KEY |
≈ Locally sign a package-signing key. |
shelly keyring populate archlinux |
shelly -Kp archlinux |
sudo pacman-key --populate archlinux |
≈ Populate Arch distribution keyring entries. |
shelly keyring recv KEY --keyserver SERVER |
shelly -Kv KEY --keyserver SERVER |
sudo pacman-key --keyserver SERVER --recv-keys KEY |
≈ Receive signing keys; user source-signing imports use a separate option. Details. |
shelly repo-db add DB FILE |
shelly -Ga DB FILE |
repo-add --include-sigs DB FILE |
≈ Add package entries and available signatures to a standalone database. Implementation differences. |
shelly repo-db remove DB PKG |
shelly -Gr DB PKG |
repo-remove DB PKG |
≈ Remove standalone database entries; implementation/locking differs. |
shelly repo-db list DB |
shelly -Gl DB |
— | — List standalone repository entries; no equivalent pacman/repo-add workflow. |
shelly repo-db verify DB |
shelly -Gv DB |
— | — Verify present signatures; unsigned databases are not authenticated. Skipped-signature caveat. |
shelly build |
shelly -A |
makepkg |
≈ Build the current PKGBUILD; engines, configuration and defaults differ. |
shelly build --sync-deps --install |
shelly -Asl |
makepkg -si |
≈ Install missing build dependencies, build, then install resulting packages. |
shelly build --makesrcinfo |
shelly -A --makesrcinfo |
makepkg --printsrcinfo |
≈ Generate source-package metadata on standard output. |
shelly purify standard --cache 3 |
shelly -Zsc 3 |
sudo paccache -rk3 |
≈ Retain recent archives; counting/grouping and corruption cleanup differ. Details. |
shelly utility --pacfiles |
shelly -Tp |
pacdiff --sudo |
≈ Review/merge root-owned configuration-update files with elevation. Utility details. |
shelly utility --pacfiles --output |
shelly -Tpo |
pacdiff --output |
≈ List discovered configuration-update paths. |
shelly search standard --repos |
shelly -Ssr |
pacman-conf --repo-list |
≈ List configured repository names; parser behavior can differ. |
Notes and sources
Section titled “Notes and sources”These notes explain the differences behind ≈ and the limits on =.
Argument key
Section titled “Argument key”- Targets:
PKGis an exact package name;PKG…means one or more selected names;QUERYis a search term;REGEXa regular expression;GROUPa package group;DEPa dependency name or expression;VERSIONa version. - Backends and sources:
REPOis a configured ALPM repository;REMOTEa Flatpak remote;APP_IDa Flatpak application or runtime ID;APPIMAGEa tracked AppImage name.FILEis an Arch package archive,OLDER_FILEan older archive, andFILE.AppImagean AppImage file.DBis a standalone repository database such as./repo.db.tar.zst. - Other arguments:
PATHandDIRare filesystem paths;FILENAMEa filename;URLa download or server URL;KEYa key identifier;SERVERa keyserver URL;ARCHan architecture;NAMEa manifest filename without.toml;CONFIG_FILEa Pacman configuration file. Square brackets in explanations indicate optional arguments.
Partial upgrades
Section titled “Partial upgrades”Prefer shelly upgrade standard or sudo pacman -Syu for routine upgrades. Refreshing system databases without completing a full upgrade, then installing/updating selected packages, can leave incompatible versions. Arch Linux does not support partial upgrades. ArchWiki: System maintenance.
shelly update standard PKG refreshes and updates only newer versions of named installed packages. sudo pacman -Sy --needed PKG can also install an absent target or downgrade a newer installed version. Both can create a partial upgrade. pacman -Su PKG upgrades the entire system.
Installation and upgrades
Section titled “Installation and upgrades”Repository installation uses stored databases. Shelly also offers optional dependencies; with --needed, it offers them only for targets that still need installation. Both tools accept quoted version constraints through ALPM, but group selection, provider selection and optional-dependency handling can differ.
For local archives, Shelly’s libalpm backend uses a fixed signature setting, while Pacman honors LocalFileSigLevel. This limitation does not describe Shelly’s separate RLPM backend, which receives the configured signature policies. Shelly downloads HTTP(S) archives to a temporary file before archive installation. libalpm archive implementation, RLPM signature configuration.
Shelly’s standard upgrade force-refreshes databases and adds news, service-restart checks and a cache-cleanup offer. install standard --upgrade separates upgrade and installation transactions. shelly upgrade all covers every enabled backend: repositories, AUR, Flatpak and AppImage; Pacman covers repository packages. sudo pacman -Su uses stored databases; adding PKG also installs or upgrades that target, while still upgrading the whole system. Upgrade implementation.
Shelly skips the standard upgrade transaction when its preliminary update list is empty. This also affects install standard --upgrade. With libalpm, that list checks newer versions of installed package names, so repository replacements alone may be skipped, whereas Pacman’s full upgrade processes them. This possible limitation has not been tested in an upgrade transaction. Upgrade pre-check, installation pre-check.
Shelly can mistake repository-qualified names containing dots, such as REPO/dotnet-sdk-8.0, for local file paths. Target classification.
Update listings
Section titled “Update listings”Shelly’s standard update listing refreshes a separate user-owned database. It excludes ignored packages and groups, and repositories without upgrade usage. pacman -Qu queries stored sync databases and can list updates marked [ignored]. list-updates all additionally checks AUR, Flatpak and AppImage; the standard-backend ignore filter still applies. Listing implementation.
For AUR update listings, --no-devel skips checks of version-control sources and --show-hidden includes hidden packages.
Search and metadata
Section titled “Search and metadata”Keep shelly -Sa QUERY --standard as written. shelly -Sas QUERY runs separate AUR and standard searches instead of appending high-confidence repository matches to the AUR results.
Shelly ranks text matches, paginates results and hides ignored packages by default; Pacman accepts regular expressions. These differences apply to repository and installed-package searches. --show-hidden includes ignored packages. Shelly’s available-package listing also merges duplicate names across repositories.
For repository metadata, Shelly selects one matching repository entry; Pacman can show matches from multiple repositories. If a requested package is absent locally, Shelly’s installed-detail search can fall back to repository metadata; pacman -Qi PKG reports an error.
shelly list aur --show-hidden returns foreign packages found in the AUR. pacman -Qm lists every package absent from configured sync repositories, including local packages and packages no longer in repositories.
Removal and orphans
Section titled “Removal and orphans”Shelly’s default standard removal also removes unneeded packages installed as dependencies and suppresses .pacsave, matching pacman -Rns. Use --no-cascade to keep those dependencies and normal backup handling, matching pacman -R. Pacman also offers -Rs for dependency cleanup with .pacsave, and -Rn to suppress .pacsave without dependency cleanup. Shelly’s documented standard removal options do not provide those two combinations. Flag mapping.
Use --ripple together with --no-cascade to remove a package and its dependents. Otherwise, the default dependency cleanup takes precedence.
--opt-deps additionally selects optional dependencies for removal. Review the plan: some may still be optional for another application. --remove-config additionally removes the package-named directory under the user’s configuration directory. Pacman’s -n suppresses .pacsave; it does not delete application-created home settings.
AUR removal also clears the build cache and version-control tracking state. Unlike remove standard, it does not remove unneeded dependencies by default. For Flatpak removal, --remove-unused adds dependency cleanup and --remove-config adds application-data cleanup. For AppImage removal, --remove-config adds associated configuration cleanup.
Before removing orphans with Pacman, select the packages with pacman -Qdt. Shelly’s orphan cleanup also removes corrupted cached archives and checks that selected packages are unneeded. Its dry-run preview includes those archives too.
Cache cleanup
Section titled “Cache cleanup”shelly purify standard --cache 3 retains three recent archive entries per package name. sudo pacman -Sc uses CleanMethod and can also remove unused sync databases. With zero retention, Shelly removes recognized cached package archives and signatures; sudo pacman -Scc clears all package-cache files and can also remove unused sync databases.
sudo paccache -rk3 offers similar retention, but how it counts and groups archives differs, as does corrupted-archive cleanup. paccache comes from pacman-contrib.
pacman -Qk PKG checks that installed files are present; pacman -Qkk PKG also checks their metadata. Shelly’s purify checks cached archives instead. A standard dry run without other cleanup options previews corrupted archives only.
--aur-cache selects everything in Shelly’s cache, including AUR sources, build directories and checkouts. Preview with shelly -Zsd --aur-cache and review every target before omitting --dry-run. This is separate from package-archive retention with shelly -Zsc 3. Cleanup option, implementation.
Backup and restore
Section titled “Backup and restore”Shelly exports repository packages, AUR packages and Flatpak applications grouped in TOML, but omits foreign packages absent from the AUR. pacman -Qqe > packages.txt exports all explicit ALPM package names. Neither backs up application data.
Import installs current repository packages, AUR packages and Flatpak applications from DIR/NAME.toml; it does not restore application data or historical package versions.
Repository and settings changes
Section titled “Repository and settings changes”For choosing the native configuration file, editing options and checking repository definitions, see Native package configuration.
Reading Shelly configuration can create or normalize its settings file. ParallelDownloadCount is a Shelly setting, distinct from Pacman’s ParallelDownloads directive. Choose one operation per AppImage environment change: set, unset, clear or replace.
Quote ALPM repository URLs to preserve Pacman variables such as $arch and $repo. Adding or removing repository configuration also refreshes databases unless --no-sync is supplied. Flatpak remote changes default to system scope; --system=false selects user scope. AppImage update sources include StaticUrl, GitHub, GitLab, Codeberg and Forgejo.
For ignored packages (IgnorePkg) and packages protected from removal (HoldPkg), use PKG --remove to remove entries or --clear to clear the list. Clearing HoldPkg keeps Shelly’s protected entry.
shelly utility --repair-db deletes the database lock, normally /var/lib/pacman/db.lck. It does not check whether the lock is stale. Confirm that no package manager is running first.
Package and file queries
Section titled “Package and file queries”pacman -Dk checks local database consistency; pacman -Dkk checks that sync-database dependencies are available. These differ from -Qk installed-file checks. pacman -Qq gives names only rather than Shelly’s richer JSON; -q simplifies several other query outputs too.
pacman -Qt excludes packages required either directly or optionally; pacman -Qtt also includes optionally required packages. Both include explicitly installed packages. pacman -Qdtt restricts the result to dependency-installed packages without hard reverse dependencies, including those still optionally required; -Qdt excludes the latter.
Machine-readable file-search output contains NUL-separated repository, package, version and path fields, in that order. pacman -Fq FILENAME gives names only.
Dependency checks
Section titled “Dependency checks”Shelly’s --no-deps sets ALPM nodeps, skipping all dependency checks. The Pacman counterpart is doubled -dd; single -d skips dependency version checks only.
--force skips all dependency checks for an ALPM package that is not protected by HoldPkg. It does not enable recursive cleanup or nosave, matching -Rdd. The help describes this flag for local binaries, but the implementation also applies it to ALPM packages.
Transaction options
Section titled “Transaction options”Flags apply only to the stated operations. --assume-installed 'DEP=VERSION' treats a dependency as satisfied without installing DEP. --dbonly changes database entries without changing package files; it is not a preview. --noscriptlet skips package install scriptlets but does not disable all ALPM hooks. These three options also apply to removal (-R) and archive installation (-U).
--asdeps and --asexplicit set the installation reason during installation, including with -U. The -D commands change the reason for already-installed packages. --ignore PKG and --ignoregroup GROUP exclude upgrades for one run; Shelly’s ignore marks persist between runs and do not themselves perform an upgrade.
--overwrite 'PATH/*' also applies to -U; quote the pattern. It does not permit every directory/file conflict. Explicit --dbpath paths are absolute and are not automatically prefixed by --root.
Shelly documents safe automatic answers for --no-confirm; Pacman’s --noconfirm bypasses confirmations. Pacman’s --confirm cancels an earlier --noconfirm.
For printed transaction targets, --print-format '%n %v' customizes output. Adding -y still refreshes databases even though the targets are not committed. Quiet output depends on the operation; transaction output also supports --noprogressbar.
Pacman has separate controls for filesystem, syscall and hook or scriptlet network isolation: --disable-sandbox-filesystem, --disable-sandbox-syscalls and --disable-sandbox-network. --disable-sandbox disables the combined sandbox controls.
Keys and repository databases
Section titled “Keys and repository databases”Shelly’s default signing-key location and configuration can differ from Pacman’s configured GPGDir. For received keys, Shelly’s --user instead imports into the user’s PKGBUILD source-signing keyring.
Shelly includes available package signatures when adding entries to a standalone repository database. Locking, publication and supported archive formats differ from repo-add; removing entries also handles locking differently. Neither pacman nor repo-add provides the same entry-listing command as Shelly.
Missing signatures for standalone databases or archives are reported as skipped. A successful verification exit does not authenticate an unsigned database.
Builds and companion utilities
Section titled “Builds and companion utilities”shelly -Asl means shelly build --sync-deps --install. The install modifier is l; shelly -Ai means build --isolated, not install.
Shelly fetches, reviews, builds and installs AUR packages. Pacman can install the resulting archive with -U, but cannot perform those earlier steps. makepkg -si builds the current directory’s PKGBUILD, installs missing dependencies and installs the result. Build engines, configuration and defaults differ from Shelly.
shelly build --review-only evaluates PKGBUILD inputs and emits review data as JSON without building. It can evaluate build inputs rather than just display the file.
Pacfiles include .pacnew, .pacorig and .pacsave. pacdiff --sudo, from pacman-contrib, reviews and merges root-owned files with elevation. pacdiff --output only lists discovered paths.
Sources
Section titled “Sources”The tables show representative commands, rather than every option combination. For full option lists, see the Shelly CLI reference and the official pacman(8) manual. Examples and implementation links target Shelly 3.1.9; backend and configuration differences are noted where relevant.
Short-code spellings were checked against the translator and command catalog. This verifies command selection, arguments and options, not successful package transactions. The long-command column remains alongside short codes to make each operation explicit.
