An ArchLinux's pacman-like shell wrapper for many package managers. 56KB and run anywhere.
Shell
1,006
877 commits
updated Jan 21, 2022
pacapt - An ArchLinux's pacman-like wrapper for many package managerspacapt is a 56KB shell wrapper for many package managers.
Simply install package with pacapt -S htop or pacapt install htop
on any Linux, BSD, OpenWrt or Mac OS machines.
It supports the following package managers:
pacman from Arch Linux-based systems, ArchBang, Manjaro, etc.apt-cyg from Cygwin (via apt-cyg)apt-get from Debian, Ubuntu, etc.homebrew from Mac OS Xmacports from Mac OS Xyum/rpm from Redhat, CentOS, Fedora, Oracle Linux, etc.portage from Gentoozypper from OpenSUSEpkgng from FreeBSDcave from Exherbo Linuxpkg_tools from OpenBSDsun_tools from Solaris(SunOS)apk from Alpine Linuxopkg from OpenWrttazpkg from SliTaz Linuxswupd from Clear Linuxxbps from Void Linuxtlmgr from TeX Liveconda from CondaThis script shouldn't be installed on an Arch-based system.
On cave-based system, bash is required.
You can download the stable script and make it executable.
On non-Arch-based system, you may use pacman as script name instead of pacapt.
$ sudo wget -O /usr/local/bin/pacapt https://github.com/icy/pacapt/raw/ng/pacapt
$ sudo chmod 755 /usr/local/bin/pacapt
$ sudo ln -sv /usr/local/bin/pacapt /usr/local/bin/pacman || true
If you have curl and want some interesting output:
# WARNING: Don't do this on Arch-based system!
$ curl -Lo /usr/bin/pacman https://github.com/icy/pacapt/raw/ng/pacapt
$ chmod 755 /usr/bin/pacman
For non-system package manager, you need to create symbolic links
$ ln -s /usr/local/bin/pacapt /usr/local/bin/pacapt-tlmgr
$ ln -s /usr/local/bin/pacapt /usr/local/bin/pacapt-conda
You can also use shorter links:
$ ln -s /usr/local/bin/pacapt /usr/local/bin/p-tlmgr
$ ln -s /usr/local/bin/pacapt /usr/local/bin/p-conda
noting the suffix (e.g., -tlmgr, -conda) is mandatory.
For system package manager
pacapt -Sy, or pacapt updatepacapt -S foo, or pacapt install foopacapt -Ss foo, or pacapt search foopacapt -R foo, or pacapt remove foopacapt -Su, or pacapt upgradepacapt -Sc, or pacapt autoremove foopacapt -Scc or pacapt -Sccc, or pacapt cleanFor non-system package manager: Similar as above, however you need to call correct script name, e.g.,
pacapt-conda -S foopacapt-conda -R fooSee also https://github.com/icy/pacapt/blob/ng/lib/help.txt.
Some basic command line options
-h (--help): Print help message;-P: Print list of supported operations;-V: Print script versionSome popular options of the original ArchLinux's pacman program
are supported and listed in the table in the next section.
A long list of options and operations can be found from ArchLinux's wiki.
Q Qc Qe Qi Qk Ql Qm Qo Qp Qs Qu R Rn Rns Rs S Sc Scc Sccc Sg Si Sii Sl Ss Su Suy Sy U
apk ~ * * * * * * * * * * * * * * * * * * * * * *
apt_cyg * * * * * * *
cave * * * * * * * * * * * * * * x * * * * * x
conda * * * * * * * *
dnf ~ * * * * * * * * * * * * * * * * * * * * * * *
dpkg ~ * * * * * * * * * * * * ~ * * * * * * * * * * * *
homebrew * * * * * * * * * * * * * * * *
macports * * * * * ~ * * * * * * * *
opkg * * * * * * * * * * * * * *
pkgng * * * * * * * * * * * * * * * *
pkg_tools ~ * * * * * * * * ~ * * x * * ~ * * x
portage * * * * * * * * * * * * * * * * *
sun_tools * * * * * * *
swupd * * * * * * * * * * * * *
tazpkg * * * * * * * * * * * * *
tlmgr * * * * * * * * * *
xbps * * * * * * * * * * * * *
yum * * * * * * * * * * * * * * * * * * * * * * * *
zypper * * * * * * * * * * * * * * * * * * * * * * * * * *
Notes:
*: Implemented;~: Implemented. Some options may not supported/implemented;x: Operation is not supported by Operating system;batch-pacapt: An Arch's pacman-like package manager for Windowsnode-pacapt: A node.js wrapper of pacapt + batch-pacaptpacapt's nd branch: A rewrite in Dlang, now deprecated.pacapt-py: A proof of concept in Python to provide pacapt-like experience to Homebrew.pacapt-go: A more complete rewrite in Go, now lives in the go-dev branch of pacaptr as legacy code.sysget is a front-end for every package manager, written in C++. It provides some basic features to manipulate packages on your system.pacaptr was originally started as a Rust port of this project (pacapt) (See also #126), now it's growing with their own new features and support.Make sure you read some instructions in CONTRIBUTING.md.
A development script can be compiled from the source code.
$ git clone https://github.com/icy/pacapt.git
$ cd pacapt
# switch to development branch
$ git checkout ng
# compile the script
$ ./bin/compile.sh > pacapt.dev
# check if syntax is good
$ bash -n pacapt.dev
$ sudo install -m755 ./pacapt.dev /usr/local/bin/pacapt
Please read the sample Makefile for some details.
This work is released under the terms of Fair license (http://opensource.org/licenses/fair).
Many people have contributed to the project by sending pull requests and/or reporting on the ticket system. Here is an incomplete list of authors and contributors.
1,257 followers · starred Mar 2020
210 followers · starred Jun 2013
615 followers · starred Jun 2024
190 followers · starred Jan 2015
An ArchLinux's pacman-like shell wrapper for many package managers. 56KB and run anywhere.
Shell
1,006
877 commits
updated Jan 21, 2022
pacapt - An ArchLinux's pacman-like wrapper for many package managerspacapt is a 56KB shell wrapper for many package managers.
Simply install package with pacapt -S htop or pacapt install htop
on any Linux, BSD, OpenWrt or Mac OS machines.
It supports the following package managers:
pacman from Arch Linux-based systems, ArchBang, Manjaro, etc.apt-cyg from Cygwin (via apt-cyg)apt-get from Debian, Ubuntu, etc.homebrew from Mac OS Xmacports from Mac OS Xyum/rpm from Redhat, CentOS, Fedora, Oracle Linux, etc.portage from Gentoozypper from OpenSUSEpkgng from FreeBSDcave from Exherbo Linuxpkg_tools from OpenBSDsun_tools from Solaris(SunOS)apk from Alpine Linuxopkg from OpenWrttazpkg from SliTaz Linuxswupd from Clear Linuxxbps from Void Linuxtlmgr from TeX Liveconda from CondaThis script shouldn't be installed on an Arch-based system.
On cave-based system, bash is required.
You can download the stable script and make it executable.
On non-Arch-based system, you may use pacman as script name instead of pacapt.
$ sudo wget -O /usr/local/bin/pacapt https://github.com/icy/pacapt/raw/ng/pacapt
$ sudo chmod 755 /usr/local/bin/pacapt
$ sudo ln -sv /usr/local/bin/pacapt /usr/local/bin/pacman || true
If you have curl and want some interesting output:
# WARNING: Don't do this on Arch-based system!
$ curl -Lo /usr/bin/pacman https://github.com/icy/pacapt/raw/ng/pacapt
$ chmod 755 /usr/bin/pacman
For non-system package manager, you need to create symbolic links
$ ln -s /usr/local/bin/pacapt /usr/local/bin/pacapt-tlmgr
$ ln -s /usr/local/bin/pacapt /usr/local/bin/pacapt-conda
You can also use shorter links:
$ ln -s /usr/local/bin/pacapt /usr/local/bin/p-tlmgr
$ ln -s /usr/local/bin/pacapt /usr/local/bin/p-conda
noting the suffix (e.g., -tlmgr, -conda) is mandatory.
For system package manager
pacapt -Sy, or pacapt updatepacapt -S foo, or pacapt install foopacapt -Ss foo, or pacapt search foopacapt -R foo, or pacapt remove foopacapt -Su, or pacapt upgradepacapt -Sc, or pacapt autoremove foopacapt -Scc or pacapt -Sccc, or pacapt cleanFor non-system package manager: Similar as above, however you need to call correct script name, e.g.,
pacapt-conda -S foopacapt-conda -R fooSee also https://github.com/icy/pacapt/blob/ng/lib/help.txt.
Some basic command line options
-h (--help): Print help message;-P: Print list of supported operations;-V: Print script versionSome popular options of the original ArchLinux's pacman program
are supported and listed in the table in the next section.
A long list of options and operations can be found from ArchLinux's wiki.
Q Qc Qe Qi Qk Ql Qm Qo Qp Qs Qu R Rn Rns Rs S Sc Scc Sccc Sg Si Sii Sl Ss Su Suy Sy U
apk ~ * * * * * * * * * * * * * * * * * * * * * *
apt_cyg * * * * * * *
cave * * * * * * * * * * * * * * x * * * * * x
conda * * * * * * * *
dnf ~ * * * * * * * * * * * * * * * * * * * * * * *
dpkg ~ * * * * * * * * * * * * ~ * * * * * * * * * * * *
homebrew * * * * * * * * * * * * * * * *
macports * * * * * ~ * * * * * * * *
opkg * * * * * * * * * * * * * *
pkgng * * * * * * * * * * * * * * * *
pkg_tools ~ * * * * * * * * ~ * * x * * ~ * * x
portage * * * * * * * * * * * * * * * * *
sun_tools * * * * * * *
swupd * * * * * * * * * * * * *
tazpkg * * * * * * * * * * * * *
tlmgr * * * * * * * * * *
xbps * * * * * * * * * * * * *
yum * * * * * * * * * * * * * * * * * * * * * * * *
zypper * * * * * * * * * * * * * * * * * * * * * * * * * *
Notes:
*: Implemented;~: Implemented. Some options may not supported/implemented;x: Operation is not supported by Operating system;batch-pacapt: An Arch's pacman-like package manager for Windowsnode-pacapt: A node.js wrapper of pacapt + batch-pacaptpacapt's nd branch: A rewrite in Dlang, now deprecated.pacapt-py: A proof of concept in Python to provide pacapt-like experience to Homebrew.pacapt-go: A more complete rewrite in Go, now lives in the go-dev branch of pacaptr as legacy code.sysget is a front-end for every package manager, written in C++. It provides some basic features to manipulate packages on your system.pacaptr was originally started as a Rust port of this project (pacapt) (See also #126), now it's growing with their own new features and support.Make sure you read some instructions in CONTRIBUTING.md.
A development script can be compiled from the source code.
$ git clone https://github.com/icy/pacapt.git
$ cd pacapt
# switch to development branch
$ git checkout ng
# compile the script
$ ./bin/compile.sh > pacapt.dev
# check if syntax is good
$ bash -n pacapt.dev
$ sudo install -m755 ./pacapt.dev /usr/local/bin/pacapt
Please read the sample Makefile for some details.
This work is released under the terms of Fair license (http://opensource.org/licenses/fair).
Many people have contributed to the project by sending pull requests and/or reporting on the ticket system. Here is an incomplete list of authors and contributors.
1,257 followers · starred Mar 2020
210 followers · starred Jun 2013
615 followers · starred Jun 2024
190 followers · starred Jan 2015