A time machine to return your ArchLinux machine back to a working state.
Go to file
Nicolás Ortega Froysa d616930208 Remove unnecessary sudo.
Signed-off-by: Nicolás Ortega Froysa <nicolas@ortegas.org>
2024-05-07 17:49:20 +02:00
.gitignore Add compressed manpage to gitignore. 2024-04-29 18:54:52 +02:00
LICENSE Change license copyright year. 2024-03-12 09:27:27 +01:00
Makefile Add manpage. 2024-04-29 18:53:57 +02:00
pacundo.1 Update help information. 2024-05-02 13:12:34 +02:00
pacundo.pl Remove unnecessary sudo. 2024-05-07 17:49:20 +02:00
README.md Add more helpful information to the README. 2024-04-30 17:21:08 +02:00

pacundo

You know those times when you install some ArchLinux upgrades and it breaks your system, and now you have to go in and downgrade those packages? It's a pain ain't it? Well, this should make it slightly less of a pain (you may still have to boot from a USB depending on just how broken it is).

Installation

Dependencies

  • Perl 5
  • File::ReadBackwards module
  • PAR Packager (for compiling)
  • GNU Makefile

You can install these packages with the following command:

# pacman -S perl perl-file-readbackwards perl-par-packer

Compiling & Installing

The script is compiled and installed using GNU Makefile. Therefore you can use make install to build and install the script and its man-page as expected. They are installed (by default) to /usr/local. To change this to a different directory simply prepend the PREFIX=<path> to your make install command.

Usage

The first concept to understand is that of a transaction. A transaction is defined in the pacman logs as package operations done during a single use of the command (or so it seems, at least). If you look at the logs (/var/log/pacman.log) this would be everything between the lines [ALPM] transaction started and [ALPM] transaction completed. You can set how many transactions to list/undo by using the -t argument.

There are two modes for undoing pacman transactions:

  • Interactive (-i, default): will show you a numbered list with all the package operations of the selected transactions.
  • Automatic (-r): will automatically undo all package operations of the selected transactions.

Look at the man-page (man pacundo) for more information.

License

This project is licensed under the terms & conditions of the Zlib license.