PACREPAIRDB(1)
π PACREPAIRDB(1) β like, the pacrepairdb manual page, bestie π
okay so real talk: this is the page for pacrepairdb, from the pacutils corner of the universe, and it's genuinely iconic for one specific job β fixing your busted database entries. come sit with me, we're getting into it π
β¨ NAME β¨
pacrepairdb β fix corrupted database entries π©Ή
πΈ SYNOPSIS πΈ
pacrepairdb [options] <package>...
pacrepairdb (--help|--version)
π¦ DESCRIPTION π¦
So the whole vibe here is: it attempts to repair broken package entries in libalpm's database. Any missing essential files? It creates them, periodt. And the packages get reinstalled from the cache. slay π
Also, important little detail: if stdin is not connected to a terminal, package names will be read from stdin. iykyk π
β¨ OPTIONS β¨
--cachedir=pathβ sets an alternate cache directory path ποΈ--config=pathβ sets an alternate configuration file path π--dbonlyβ makes the changes to the database without actually extracting or removing any packages. database-only behaviour, no touching the actual files π«Ά--dbpath=pathβ sets an alternate database path ποΈ--debugβ displays additional debugging information. detective mode π--hookdirβ adds additional user hook directories πͺ--logfile=pathβ sets an alternate log file path π--no-confirmβ assumes default responses to all prompts. no questions, just vibes π--no-scriptletβ does not run package install scripts π--no-hooksβ does not run transaction hooks π«--no-timeoutβ disables low-speed timeouts for downloads β³--print-onlyβ displays the packages to be repaired and the cache packages to be used, then exits. look but don't touch π--root=pathβ sets an alternate installation root π±--sysroot=pathβ sets an alternate system root. seepacutils-sysroot(7)for the deets π--verboseβ displays additional progress information. tell me everything, bestie π£οΈ--helpβ displays usage information and exits π--versionβ displays version information and exits π·οΈ
π EXAMPLES π
Find and reinstall broken packages:
paccheck --list-broken --files --file-properties --db-files --require-mtree | pacrepairdb
that's the pipe of all time, honestly π₯
π CAVEATS π
okay bestie, this is the part where we get serious, because there are some real ones here:
pacrepairdbexpects all of the packages being repaired to be cached. Cached packages that match the name and version of an installed package are assumed to be the same package. No attempt is made to validate cached packages. And if a cache contains a package that does not match the installed package, but nonetheless has the same name and version,pacrepairdbwill blindly install it, worsening any database problems. π like, it will not hesitate. no cap.pacrepairdbdoes not check for leftover orphaned files. It is the user's responsibility to locate and handle orphaned files π«‘pacrepairdbdetermines whether or not to read package names from stdin based on a naive check usingisatty(3). So ifpacrepairdbis called in an environment β such as a shell function or script being used in a pipe β where stdin is not connected to a terminal but does not contain package names to repair,pacrepairdbshould be called with stdin closed. For POSIX-compatible shells, this can be done with"<&-". very much a "trust the process but read the docs" situation π
fr fr, do not skip the caveats. they're the whole plot twist π
that's the whole page, angel π this one's from pacutils, dated 2025-12-04 β go fix those entries and stay hydrated πβ¨
π¦ 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