PACTRANS(1)
β¨ PACTRANS(1) β¨
okay so this is the pactrans manual page, bestie β from the pacutils collection, dated 2025-12-04. it covers pactrans, pacinstall, and pacremove, and honestly? it's giving "one binary, three names, zero chill." π
let's get into it.
πΈ NAME πΈ
pactrans, pacinstall, pacremove β install/remove alpm packages π
π¦ SYNOPSIS π¦
pactrans [options] <target>...
pacinstall [options] <target>...
pacremove [options] <target>...
pactrans (--help|--version)
π DESCRIPTION π
So the whole vibe here is: install/remove alpm packages. that's the job. π«Ά
pacinstall and pacremove are just aliases, right? they exist purely for convenience, and the only thing different about them is how they interpret targets by default. other than that? literally identical. twins. same brain cell, same energy. π―
One thing you need to know: if stdin is not connected to a terminal, then the pkgspecs to install/remove get read from stdin. no cap. π§
β OPTIONS β
π Operations
okay so operation options are little gremlins that affect how all targets following them get interpreted β until you hit another operation option. so order matters, bestie. remember that. π₯
--spec(thepactransdefault) β interpret following targets as pkgspecs. if a pkgspec points at a package file or a repository package, it gets installed. if it points at a package in the local database, it gets removed. the format deets live down in PKGSPEC. π«--install(thepacinstalldefault) β interpret following targets as packages to be installed from a repository. if you only give the package name, repositories get searched in the order they're declared. ποΈ--remove(thepacremovedefault) β interpret following targets as package names to be uninstalled. bye bestie π--fileβ interpret following targets as paths to package files to be installed. π--sysupgradeβ upgrade installed packages. glow-up time β¨
π Configuration Options
--cachedir=pathβ set an alternate cache directory path.--config=pathβ set an alternate configuration file path.--dbext=extensionβ set an alternate sync database extension.--dbpath=pathβ set an alternate database path.--logfile=pathβ set an alternate log file path.--root=pathβ set an alternate installation root.--sysroot=pathβ set an alternate system root. seepacutils-sysroot(7). π±--null[=sep]β set an alternate separator for values parsed from stdin. by default it's a newline"\n". if you use--nullwithout specifying sep,"NUL"gets used. iconique.--debugβ display additional debugging information. (the "why is this happening to me" button π΅οΈ)--print-onlyβ display what the transaction would do, then exit. like a little preview, a dress rehearsal, if you will. π--no-confirmβ assume default responses to all prompts. no questions, just vibes.--no-timeoutβ disable low-speed timeouts for downloads.--helpβ display usage information and exit.--versionβ display version information and exit.
π Transaction Options
--dbsyncβ update sync databases before performing the transaction.--dbonlyβ make the changes to the database without actually extracting or removing any packages. (fake it till you make it, but the filesystem isn't in on the bit π)--nodepsβ ignore dependency versions. pass it twice to ignore dependency checks altogether. β οΈ--no-scriptletβ do not run package install scripts.--no-hooksβ do not run transaction hooks.--assume-installed=package[=version]β behave as if package is installed. delulu, but functional π«
π Sysupgrade Options
--ignore-pkg=packageβ ignore upgrades for package. package may be a shell-style glob pattern. π―--ignore-group=groupβ ignore upgrades for any packages in group. group may be a shell-style glob pattern.
π§ --install/--file Options
--as-depsβ mark all installed packages as dependencies.--as-explicitβ mark all installed packages as explicitly installed.--download-onlyβ download packages without actually installing them. window shopping π
π¦ --remove Options
--cascadeβ uninstall all installed packages that depend on a package being uninstalled. domino effect, lowkey devastating π--no-backupβ do not save.pacsavebackups.--recursiveβ uninstall any dependencies of packages being removed that are not required by any other packages.--unneededβ do not uninstall any packages required by an installed package.
π Prompt Disposition Options
--resolve-conflicts=methodβ pick a method for resolving conflicts. possible values for method are:"prompt"β prompt the user to remove the installed conflicting package."none"β do not remove any conflicting packages."all"β remove any conflicting packages."provided"β remove a conflicting package if the new package provides it."depends"β remove a conflicting package if it was installed as a dependency."provided-depends"β remove a conflicting package if it was installed as a dependency and the new package provides it.
--resolve-replacements=methodβ pick a method for resolving replacements. possible values for method are:"prompt"β prompt the user to replace the package."none"β do not replace any packages."all"β perform all available package replacements."provided"β perform replacements where the new package provides the old one."depends"β perform replacements where the old package was installed as a dependency."provided-depends"β perform replacements where the old package was installed as a dependency and the new package provides the old one.
--install-ignored-packages=prompt|yes|noβ set the disposition for prompts to install ignored packages.--delete-corrupt-files=prompt|yes|noβ set the disposition for prompts to delete corrupt package.--use-first-provider=prompt|yes|noβ set the disposition for prompts to select a provider. if set to"yes", the first available provider will be selected. π₯--skip-unresolvable=prompt|yes|noβ set the disposition for prompts to skip packages with unresolvable dependencies.--import-pgp-keys=prompt|yes|noβ set the disposition for prompts to import missing PGP keys. π--yoloβ sets all prompt disposition options to their"all"or"yes"value, and also sets--no-confirm. yes, it's actually called that. main character energy fr fr. π₯π
NOTE: regardless of the disposition options you pick, all dependencies must still be satisfied for the transaction to succeed β unless--nodepsis used as well. so--yolois not a magic wand, bestie, it's just a very confident one. β οΈ
π PKGSPEC π
A pkgspec is a string that can identify an individual package. accepted formats are:
<repository>/<package>
core/pacman
local/pacman
<proto>://<path/to/package/file>
file:///var/cache/pacman/pkg/pacman-4.1.0-1-x86_64.pkg.tar.xz
π EXAMPLES π
Replace foo with bar:
pactrans local/foo baz/bar
or, if bar's repository is unknown:
pacinstall bar --remove foo
Install foo and bar:
pactrans --install foo bar
π CAVEATS π
so here's the thing. pactrans decides whether or not to read pkgspecs from stdin based on a naive check using isatty(3). naive! it's just peeking, not reading the room. π
so if pactrans gets called in an environment β like a shell function or a script being used in a pipe β where stdin is not connected to a terminal but doesn't contain pkgspecs to install/remove, then pactrans should be called with stdin closed.
for POSIX-compatible shells, you do that like this:
<&-
and that's the whole page, bestie! π this was the pactrans man page from pacutils, dated 2025-12-04 β go forth and transact your packages responsibly, mwah π«Άβ¨
π¦ where this page comes from
- arch rolling: pacutils 0.15.0-2 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms