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 X
macports
from Mac OS X
yum/rpm
from Redhat
, CentOS
, Fedora
, Oracle Linux
, etc.portage
from Gentoo
zypper
from OpenSUSE
pkgng
from FreeBSD
cave
from Exherbo Linux
pkg_tools
from OpenBSD
sun_tools
from Solaris(SunOS)
apk
from Alpine Linux
opkg
from OpenWrt
tazpkg
from SliTaz Linux
swupd
from Clear Linux
xbps
from Void Linux
tlmgr
from TeX Live
conda
from Conda
This 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 update
pacapt -S foo
, or pacapt install foo
pacapt -Ss foo
, or pacapt search foo
pacapt -R foo
, or pacapt remove foo
pacapt -Su
, or pacapt upgrade
pacapt -Sc
, or pacapt autoremove foo
pacapt -Scc
or pacapt -Sccc
, or pacapt clean
For non-system package manager: Similar as above, however you need to call correct script name, e.g.,
pacapt-conda -S foo
pacapt-conda -R foo
See 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.