Table of Contents

Pacman

Pacman is the package management tool that comes with Arch Linux.

It is very important to change the progress bar to look like Pacman eating dots. You do this by editing /etc/pacman.conf, adding the line 'ILoveCandy' to the [options] > # Misc options section. Make sure you have colour enabled too.

Usage

I'll leave out the basics like -Syu, -S, -Ss and -Rsn1)); here're some ones I don't use as much / forget, but are real useful.

-S [group name]-{[name1],name2],[etc]}

-Qs

-Ql

-Qo [/path/to/file_name]

Q does stuff on installed packages, you can replace with F to do the same actions on stuff you haven't installed.

I also have an alias for my helper, so I type pact -[flags] to do stuff.

Tips

Maintenance

.pacnew

There are tools to manage .pacnew files that are created when core config files are updated.

I just use vimdiff to check difference between the current and new files. You could also just use vim -d [file] [file]. Ctrl+w [left or right arrow] to switch window, btw.

You can get a nice list of .pacnews with find /etc -regextype posix-extended -regex “.+\.pac(new|save)” 2> /dev/null

Freeing Space

To clear Pacman's cache pacman -Sc.

You can use Paccache (in pacman-contrib) to have better control over what you do with cached packages. Egs.: paccache -rk 2 will delete everything except the last two versions of a package. paccache -ruk0 will remove everything for packages that are no longer installed.

To find orphan packages pacman -Qdt

Converting Packages

DEB

Debtap

Can convert a .deb package into a PKGBUILD with one tool. Real simple to use.

Usage:

  1. # debtap -u when you first run it to get the database up to date
  2. $ debtap -p [deb file] to make the PKGBUILD
deb2targz

RPM

Speeding Up Package Building

Fixes

Keys

If you get errors about keys (and things like files being corrupt), try updating archlinux-keyring before doing a full update. EG: (sudo pacman -Sy archlinux-keyring && sudo pacman -Su. You might want to chuck that in an alias.

Apparently Arch now updates the keyring weekly.

I was getting this error: warning: Public keyring not found; have you run 'pacman-key –init'? which was mucking up the upgrade process. These steps fixed it:

  1. sudo rm -r /etc/pacman.d/gnupg
  2. sudo pacman-key –init
  3. sudo pacman-key –populate archlinux
  4. sudo pacman -S archlinux-keyring

AUR

.SRCINFO and PKGBUILD mismatch

Errors like

:: [package name] package(s) failed to install.
:: ensure package version does not mismatch between .SRCINFO and PKGBUILD
:: ensure package name has a VCS suffix if this is a devel package

Are a pacaur problem, and can get gotten round by installing manually, or by using another helper

trizen and yay seem to be the helpers to go for now.

Missing Files in Pacman Database

Just ran into a little problem where a disk error took out a bit of my pacman database.

This was giving me an error about a desc file every time I ran pacman, and blocking some parts of the process. using –force to reinstall the package didn't help, and I also was unable to remove it.

Thanks to this post I solved it by deleting the packages directory in /var/lib/pacman/local, and reinstalled the database only with pacman -U –dbonly [package].pkg.tar.xz

Broken Pacman After Partial Upgrade

When doing a partial upgrade to get my keyring in order before a proper upgrade I mistakenly upgraded pacman too. This ca'us an error where the version of glibc that pacman needed was out of whack with the one I had installed, so pacman would not work at all.

To fix this I downloaded a static version of pacman and ran a fresh # pacman -Syu and that fixed everything.

See: https://old.reddit.com/r/archlinux/comments/lz7777/pacman_broken_due_to_glibc/

See Also

1)
But hey, in case you didn't know what the s and n are doing there: s include deps. not needed by anything else, n also ditches config. files (but not the ones in your home directory