pacapt 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:
pacmanbyArch Linux,ArchBang,Manjaro, etc.dpkg/apt-getbyDebian,Ubuntu, etc.homebrewbyMac OS XmacportsbyMac OS Xyum/rpmbyRedhat,CentOS,Fedora,Oracle Linux, etc.portagebyGentoozypperbyOpenSUSEpkgngbyFreeBSDcavebyExherbo Linuxpkg_toolsbyOpenBSDsun_toolsbySolaris(SunOS)apkbyAlpine LinuxopkgbyOpenWrttazpkgbySliTaz LinuxswupdbyClear LinuxtlmgrbyTeX LivecondabyConda
- Description
- Installation
- Usage
- Related projects
- Similar projects
- Development
- License
- Authors and Contributors
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
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
- Update package database:
pacapt -Sy, orpacapt update - Install a package:
pacapt -S foo, orpacapt install foo - Search a package:
pacapt -Ss foo, orpacapt search foo - Remove a package:
pacapt -R foo, orpacapt remove foo - Upgrade system:
pacapt -Su, orpacapt upgrade - Remove orphans:
pacapt -Sc, orpacapt autoremove foo - Clean up:
pacapt -Sccorpacapt -Sccc, orpacapt clean
For non-system package manager: Similar as above, however you need to call correct script name, e.g.,
- Install a Conda package:
pacapt-conda -S foo - Remove a Conda package:
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 version
Some 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 ~ * * * * * * * * * * * * * * * * * * * * * *
cave * * * * * * * * * * * * * * x * * * * * x
conda * * * * * * * *
dnf ~ * * * * * * * * * * * * * * * * * * * * * * *
dpkg ~ * * * * * * * * * * * * ~ * * * * * * * * * * * *
homebrew * * * * * * * * * * * * * * * *
macports * * * * * ~ * * * * * * * *
opkg * * * * * * * * * * * * * *
pkgng * * * * * * * * * * * * * * * *
pkg_tools ~ * * * * * * * * ~ * * x * * ~ * * x
portage * * * * * * * * * * * * * * * * *
sun_tools * * * * * * *
swupd * * * * * * * * * * * * *
tazpkg * * * * * * * * * * * * *
tlmgr * * * * * * * * * *
yum * * * * * * * * * * * * * * * * * * * * * * * *
zypper * * * * * * * * * * * * * * * * * * * * * * * * * *
Notes:
*: Implemented;~: Implemented. Some options may not supported/implemented;x: Operation is not supported by Operating system;- The table is generated from source. Please don't update it manually.
batch-pacapt: An Arch's pacman-like package manager for Windowsnode-pacapt: A node.js wrapper of pacapt + batch-pacaptpacapt'sndbranch: 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 thego-devbranch ofpacaptras legacy code.
sysgetisa front-end for every package manager, written inC++. It provides some basic features to manipulate packages on your system.pacaptrwas originally started as aRustport 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.
- 10sr (10sr)
- Alexander Dupuy (dupuy)
- Anh K. Huynh (icy)
- Antony Lee (anntzer)
- Alex Lyon (Arcterus)
- Álvaro Mondéjar (mondeja)
- Carl X. Su (bcbcarl)
- Cuong Manh Le (Gnouc)
- Daniel YC Lin (dlintw)
- Danny George (dangets)
- Darshit Shah (darnir)
- Dmitry Kudriavtsev (dkudriavtsev)
- Eric Crosson (EricCrosson)
- Evan Relf (evanrelf)
- GijsTimmers (GijsTimmers)
- Hà-Dương Nguyễn (cmpitg)
- Huy Ngô (NgoHuy)
- James Pearson (xiongchiamiov)
- Janne Heß (dasJ)
- Jiawei Zhou (4679)
- Karol Blazewicz
- Kevin Brubeck (unhammer)
- Konrad Borowski (xfix)
- Kylie McClain (somasis)
- Gen Li (Rami3L)
- Valerio Pizzi (Pival81)
- Siôn Le Roux (sinisterstuf)
- Thiago Perrotta (thiagowfx)
- Vojtech Letal (letalvoj)