Pacapt: One package manger to rule them all

What do you have and what do you want?

Moderators: b1o, jkerr82508

User avatar
Posts: 9302
Joined: 14 Mar 2010, 16:34

Pacapt: One package manger to rule them all

Postby viking60 » 09 Mar 2016, 09:14

I have to admit that it is the "Archefied" part of me that created the header. So what! I think Pacman is the best package manager - by far - and I have used them all, except Apple's Homebrew.

Normally you should know a bit what you are doing before "switching" managers but it does not require complex somersaults.

Pacapt is a project that transports the ArchLinux "pacman" to other distros. In fact it is only a set of scripts.

I have the update command pacman -Syu in my blood and can write it standing on my head while drinking coffee. On the other hand I am always annoyed with Debians complex update.
apt-get update - have a coup of :coffee_cup: and then apt-get upgrade...It takes to long. +1

Regarding the compatibility there is a nice list that tells us what commands we can run on which distro or rather replace the manager of the distro:

Let me explain: the Pacman command is in the header so in the first column we see "Q" which is the pacman Query command (pacman -Q) so to explore this further you can check here (comparison with all major distros). Urpmi is not there so we have a comparison here

Anyway... I want to use my beloved pacman (well... pacapt in this case)on Debian for some commands as you can see above Fedoras DNF (which is brand new) will not let you remove apps (pacman -R) in fact the only thing you can do there is installing (pacman -S).
One distro that is fully covered is Suse with it's zypper.

So we can use Pacman all over the place (or Pacapt) as in pacman -S and pacman -Q and so on.... in theory... so; time to test it +1

I went to my Debian 8 install and did a:

Code: Select all

sudo wget -O /usr/local/bin/pacapt \

worked nicely...then I did a:

Code: Select all

sudo chmod 755 /usr/local/bin/pacapt

No problem there...and then:

Code: Select all

sudo ln -sv /usr/local/bin/pacapt /usr/local/bin/pacman || true

That's it - finished setting up the script so here we go...Updating Debian 8

Code: Select all

pacman -Syu

and it worked like a charm :jackpot I did a reboot and then updated the Debian way with sudo apt-get update and sudo apt-get upgrade. And it did the work and found nothing to update/upgrade.

And the pacman update was verbose and informative - a no-brainer for me; I am going to use it for updates every time. +1
You can use pacman for everything in Debian except some Queries (pacman -Sl lists all files owned by a given package - we can't use it in Debian/dpkg).

So wow this thing just works in Debian - going for Centos/yum now....Just to see if it works - I have no complaints about yum....

Some preparations:
A always turn off SE-linux before doing something like this to avoid the "why does it not work" pain:

Code: Select all

setenforce permissive

then the exact same thing as above.
and setting SE-Linux back :

Code: Select all

setenforce enforcing

So I can query packages like yum with

Code: Select all

pacman -Qi yum
and get the nice info but

Code: Select all

sudo pacman -Syu
did not work to update the system.
I had to do a
To get to root..

and then it worked like a charm! :s

Yum works with sudo though so the nice and easy

Code: Select all

sudo yum update
works just fine.
I might use pacman for querying though.

That is the beauty of it I don't have to use it - but I can.

This might work in Mageia too but you have to install yum first and there will be just to many layers to make it sensible there.
Manjaro 64bit on the main box -Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz and nVidia Corporation GT200b [GeForce GTX 275] (rev a1. + Centos on the server - Arch on the laptop.
"There are no stupid questions - Only stupid answers!"

Return to “Software”