Skip to main content

Creating Pacman Hook For Cleaning Cache

You can create a pacman hook which executes paccache to clean the pacman cache everytime pacman is run. Just a simple file saved in /etc/pacman.d/hooks.

Before anything check /etc/pacman.conf if the line Hookdir=/etc/pacman.d/hooks has been uncommented. If not, then uncomment it. edit: By default the config file looks at the directory, you can ignore this step if you are putting the .hook file in the default location.

In your favorite text editor create a file to be saved in /etc/pacman.d/hooks.

An example of a pacman hook to clean the cache:

[Trigger]
Operation = Upgrade
Operation = Install
Operation = Remove
Type = Package
Target = *

[Action]
Description = Cleaning pacman cache...
When = PostTransaction
Exec = /usr/bin/paccache -r

Whenever you upgrade, install or remove a package using pacman, it should pull the hook.

[partial pacman -Syu print]
:: Processing package changes...
(1/1) upgrading firefox                                                                        [########################################################] 100%
:: Running post-transaction hooks...
(1/4) Cleaning pacman cache...
==> no candidate packages found for pruning
[partial pacman -Syu print]

See the hooks built in for pacman here along with the one user added.

[print starts]
:: Processing package changes...
(1/6) upgrading geocode-glib                                                                   [########################################################] 100%
(2/6) upgrading libsystemd                                                                     [########################################################] 100%
(3/6) upgrading mesa                                                                           [########################################################] 100%
(4/6) upgrading systemd                                                                        [########################################################] 100%
(5/6) upgrading systemd-sysvcompat                                                             [########################################################] 100%
(6/6) upgrading vulkan-intel                                                                   [########################################################] 100%
:: Running post-transaction hooks...
(1/7) Updating linux initcpios
==> Building image from preset: /etc/mkinitcpio.d/linux.preset: 'default'
  -> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux.img
==> Starting build: 4.12.4-1-ARCH
  -> Running build hook: [base]
  -> Running build hook: [udev]
  -> Running build hook: [autodetect]
  -> Running build hook: [modconf]
  -> Running build hook: [block]
  -> Running build hook: [mdadm_udev]
  -> Running build hook: [lvm2]
  -> Running build hook: [filesystems]
  -> Running build hook: [keyboard]
  -> Running build hook: [fsck]
==> Generating module dependencies
==> Creating gzip-compressed initcpio image: /boot/initramfs-linux.img
==> Image generation successful
==> Building image from preset: /etc/mkinitcpio.d/linux.preset: 'fallback'
  -> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux-fallback.img -S autodetect
==> Starting build: 4.12.4-1-ARCH
  -> Running build hook: [base]
  -> Running build hook: [udev]
  -> Running build hook: [modconf]
  -> Running build hook: [block]
==> WARNING: Possibly missing firmware for module: wd719x
==> WARNING: Possibly missing firmware for module: aic94xx
  -> Running build hook: [mdadm_udev]
  -> Running build hook: [lvm2]
  -> Running build hook: [filesystems]
  -> Running build hook: [keyboard]
  -> Running build hook: [fsck]
==> Generating module dependencies
==> Creating gzip-compressed initcpio image: /boot/initramfs-linux-fallback.img
==> Image generation successful
(2/7) Cleaning pacman cache...
==> no candidate packages found for pruning
(3/7) Updating icon theme caches...
(4/7) Updating udev hardware database...
(5/7) Updating system user accounts...
(6/7) Creating temporary files...
(7/7) Arming ConditionNeedsUpdate...
[print ends]

Comments

Juan said…
Thank you very much!

Popular posts from this blog

Mailvelope, Encryption for Webmail

Encryption is the topic of week. I wrote about it in a related post here. While encryption is a very good idea, doing it and doing it every day as part of your work flow is another thing. My view is that if you're already using an email client then it is easier, simpler and more convenient to adopt encryption. That is not the case if you're using a webmail service. If you are using the browser to check, compose and send your email, what are your options? The answer is: it's complicated. Looking for a way to do encryption with Google Chrome and Gmail, I found this. I also read that Google just released code for email encryption as open source. But it's a long way to being used by end users. The extension for Google Chrome works fine if the recipient also uses Google Chrome. But I went ahead and check this on Evolution.

Donald Trump Is The 45th President of the United States

     and he is preparing to move with his transition team into the Oval Office. His election is a shock to many political observers and the world in general. Donald Trump, the president-elect, ran against Hillary Clinton, former Secretary of State and for many the most qualified candidate for the presidency in many years. This has led to many post election analysis of how this upset happened. The numbers of votes for each candidate and the comparisons with previous presidential elections point to the fact that the white vote for Mr. Trump is solid all throughout but the minority and black votes did not come for Mrs. Clinton. This is what happened in crucial States like Michigan and Florida. The Republicans kept Congress and the Senate. It is quite notable that Russia and in particular, Vladimir Putin, is happy that they are going to talk to Mr. Trump rather than Mrs. Clinton. It is also a ...

Remembering Sesame Street

I was around seven years old when I saw Big Bird and her yellow feathers on tv the first time. Channel 9 airs Sesame Street twice a day for the kids who are having classes in the morning there's the afternoon schedule. The show is a hit. It captured us kids. We would shut up and sit on the floor once the familiar theme music starts. I wonder about the american street scene of course. It felt alien to me but the people and the muppets just made their home in my imagination. It didn't matter if we had muddy streets instead of the cobblestones. Years will pass and the locals will produce their own version of this show called Batibot. Why not? It's time we take back television for our kids. Who would have guessed that fast forward to 2012, Sesame Street will be mentioned prominently in a US presidential debate. One candidate was questioning the source of funding for these kind of shows. Try explaining money to a five year old and why he can't ...