I've looked at Arch's pacman in a bit more detail while healing up. I've never really needed to explore all the capabilities of pacman other than install -S, remove -Rns, update database -Syy, update system -Syu. When it comes to keys and cache file maintenance, I break out my notes file.. Pacman supplies makepkg, a tooI I frequently use to build AUR packages. I wasn't aware of that till now. I also just learned pacman does not supply pkgfile, the "go to" file to package search tool for pacman. As of pacman 5.0, it now has a has a built in file to package search tool.
I use pkgbrowser, a GUI utility for browsing pacman databases and the AUR. I also use pkgbrowser for it's various search functions such as search a file belongs to which package, etc. Pkgbrowser is not transactional in any way and is only a convenience tool to supplement cli pacman usage. Example showing what package supplies makepkg.
This tool has spoiled and removed me from all the search and other available operations available in pacman. The pacman package supplies a bunch of tools both called by pacman and otherwise. Below is a list with a very brief explanation of what I found so far. I just very recently learned of bacman. Very nice tool I used to create a few AUR packages with my custom configs, that are installed on my system.
I recently tried the new "this <file> belongs to what package" operation built into pacman. $ pacman -F <file> It errored out with something about the package database. I did an -Syy to force an update on the package database. The -F file function still wouldn't work. Come to find out, pacman now has 2 databases, one for packages and one for files. It wasn't clear to me in the man pacman page, but it was right there, just very unclear. To create a database for the -F operation to work, use $ pacman-Fy . It seems to me the man page info for the new -F operation, -y option was not clear due to the wording. Here's a copy, paste from the current man page:
Download fresh package databases from the server. Use twice to force a refresh even if databases are up to date.
Since I was dealing with the -F file operation, this didn't seem right and I discounted it. I already forced a package database refresh. At this time, I didn't know there was a new database for the file operation. I see others on the forums having issues and see a great suggestion to reword the -y option to reflect it's dealing with files rather than packages. His suggestion:
Download fresh file databases from the server. Use twice to force a refresh even if databases are up to date.
My thoughts are none of this should or would have been an issue if an announcement was made on the Arch homepage news. I see Allen (pacman lead dev) discussed it and even explained the database with the necessary command, on his personal blog. Someone dropped the ball on this. As usual, I'm sure all the Arch inner circle developers had acquired the info elsewhere. Their obvious "fuck all the regular users", attitude seems to have prevailed in this instance via lack of communication / information. "Lets make them figure this shit out on their own".... I'm sure anyone who could change this would not do it now, due to the fact it wasn't a suggestion originating from an A team elite member.
The same day on the forums, an obvious newb asks why no news in months and offers to help with it. He quickly gets a reply from an admin who I consider one of the best and most patient reply with, join and read the bla bla mailing lists and whatever other inconvenient stone age communication protocol they use, and went on to basically say fuck off, our news is fine, no news is good news. WTF!!
OK lets get back on track. Lets show some love for the Arch devs. Their combined work creates an awesome Linux distro. So some of them are a little indifferent regarding users with an IQ below 140, at least we get to use their work....
Below is a list of independent programs that make up and come with the pacman package.
bacman - Recreate a package using pacman's database and system files
checkupdates - Safely print a list of pending updates
cleanupdelta - Returns a list of unused delta in a given sync database.
makepkg - Make packages compatible for use with pacman
makepkg-template - self expl. see man makepkg-template
paccache - A flexible pacman cache cleaning utility.
pacdiff - A simple program to merge or remove pacnew/pacsave files.
paclist - List all packages installed from a given repository
paclog-pkglist - Parse a log file into a list of currently installed packages
pacman - The Arch Linux package manager
pacman-db-upgrade - Upgrade the local pacman database to a newer format
pacman-key - Manage pacman's list of trusted keys
pacman-optimize - Improve the performance of pacman
pacscripts - Prints the pre,post, install,remove,upgrade scripts of package.
pacsearch - Perform a pacman search using both the local and the sync databases.
pacsort - A sort utility implementing alpm_pkg_vercmp.
pactree - A simple dependency tree viewer.
pkgdelta - pkgdelta will create a delta file between two packages.
rankmirrors - Ranks pacman mirrors by their connection and opening speed.
repo-add - repo-add will update a package database by reading a package file.
repo-elephant - prints a cute little aski art elephant.
testpkg - Test a pacman package for validity.
updpkgsums - Usage: updpkgsums [build file]
vercmp - Compare package version numbers.
/ /_ .---.
/ | \\,.\/--.// )
| \// )/ /
\ ' ^ ^ / )____.----.. 6
'.____. .___/ \._)
_/ \/ ). ) (
/# .! | /\ /
\ C// # /'-----''/ # /
. 'C/ | | | | |mrf ,
\), .. .'OOO-'. ..'OOO'OOO-'. ..\(,
I'll follow up with adding to this post if I find anything interesting enough to mention as I continue to explore and figure things out.
A thorough pacman user guide. It's a bit dated, and specifically the info about the ARM [Arch Rollback Machine] is obsolete.
Pacman -F doesn't work