aptpac
is a program which helps with the transition from Debian and Debian based distros like Ubuntu to Arch Linux and Arch based distros like Manjaro.
It simplifies using pacman as it works like the easier to use apt
package manager found in Debian and derivatives.
The program comes in 2 variants, a bash shell version, and a C code variant. It is recommended to use the C code variant since it is more friendly and feature rich, but the bash version sometimes gets new features before as its simpler and easier to write.
This program has nothing to do with the other projects named aptpac
like this one. please don't ask for support for other aptpac
's in this repository or ask for support for this aptpac
in the other aptpac
's repositories.
USAGE:
aptpac [option] [options for the option]
EXAMPLE: aptpac search qemu
AVAILABLE OPTIONS:
install - install a package.
install-local - install a local package. accpets the path to the package as a argument.
remove - uninstall a package.
purge - uninstall a package along with its configuration files.
search - search a package.
find - (pacman -F) in debian: 'apt-file search'.
update - equivalent of 'apt update' in debian.
upgrade - equivalent of 'apt upgrade' in debian.
full-upgrade - update upgrade.
autoclean - clean up all local caches.
clean - same as 'autoclean'.
autoremove - remove packages that are no longer needed.
show - show the information of a package that is installed.
show-all - same as 'show', but shows packages from the repos.
list-installed - list all installed packages.
help - show this help.
version - show version and about information.
options are not case sensitive.
--config <set|unset> learn
- use set
to turn it on and unset
to turn it off. the configuration file is ~/.config/aptpac.config
.
--learning-mode=<on|off>
- accepts on
or off
as values. the configuration file is in ~/.aptpac/config
.
If the environment variable APTPAC_LEARN
has the value of 1
, learning mode will be enabled. there are 3 ways to set it:
- If you want to test it only for one run, run aptpac like this:
APTPAC_LEARN=1 aptpac <option>
. - If you want to have learning mode on until you end your shell session (close the terminal window), run
export APTPAC_LEARN=1
. - To have learning mode permanently on, add
export APTPAC_LEARN=1
to your bashrc or equivalent. then restart your terminal or source the bashrc.
to turn it off, delete that line or change the value of the variable.
Since there are 2 variants of aptpac, there are 2 install methods, please choose the variant you would like:
- C (recommended)
- Bash
You can either download the latest release packaged as a self extracting archive from here, or compile the latest develop:
sudo pacman -S cmake make git gcc
cd $HOME
git clone https://github.com/Itai-Nelken/aptpac
cd ./aptpac/C-edition
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make
# Optional however crucial
sudo make install # This moves aptpac to /usr/local/bin so it can be run easily
sudo pacman -S wget
cd $HOME
mkdir ~/.aptpac
wget https://github.com/Itai-Nelken/aptpac/releases/download/3.0/aptpac.sh -O ~/.aptpac/aptpac.sh
chmod x .aptpac/aptpac.sh
echo "alias aptpac=\"~/.aptpac/aptpac.sh\"" >> $HOME/.bashrc
source ~/.bashrc
Choose the correct uninstall method - for the variant you chose when installing
cd ~/aptpac/C-edition/build
sudo make uninstall
cd $HOME
sudo rm -r ./aptpac
cd $HOME
sed -i '/alias aptpac=.*aptpac.*/d' .bashrc
rm -r .aptpac
source .bashrc
CleanMachine1 - aptpac is a great piece of software, making the move to arch easier (the better Linux in my opinion).
Development builds (builds with the latest changes) for x64 and arm64 are available, these can be found in the actions tab on the aptpac repo, once you have clicked on the actions tab, click on 'Build-x64', or 'Build-arm64' then click on the latest build with a green ✔️, scroll down to the 'artifacts' section, and click on the zip there. keep in mind you need a github account to download them.
Build checks for arm64 and X86_64 are run for every commit and pr. you can see the status in the badges at the top of the README. The check are not run for README updates.