Max mal Richtig
4 months ago
2 changed files with 100 additions and 1 deletions
@ -1,3 +1,6 @@ |
|||
# AptMan |
|||
|
|||
A thin (and sane) wrapper around pacman |
|||
## An `apt`-like `pacman` wrapper |
|||
|
|||
A thin wrapper that translates humanly understandable "apt-like" commands |
|||
to the enigma-esque syntax that is 'pacman'. |
@ -0,0 +1,96 @@ |
|||
#!/bin/bash |
|||
|
|||
############################################################################# |
|||
## |
|||
## A thin wrapper that translates humanly understandable "apt-like" commands |
|||
## to the enigma-esque syntax that is used by 'pacman'. |
|||
## |
|||
############################################################################# |
|||
|
|||
if ! command -v pacman &> /dev/null |
|||
then |
|||
echo "ERROR: 'pacman' could not be found." |
|||
echo "Make sure it is installed and in your PATH!" |
|||
exit 1 |
|||
fi |
|||
|
|||
|
|||
cmd="$1" |
|||
shift # drop the first argument from "$@" |
|||
|
|||
|
|||
# catch first arguments with $1 |
|||
case "$cmd" in |
|||
update) |
|||
# Update local package repo/cache |
|||
echo "Updating package index ..." |
|||
pacman -Sy |
|||
;; |
|||
upgrade) |
|||
# Perform package upgrade |
|||
echo "Installing package upgrades ..." |
|||
pacman -Syu |
|||
;; |
|||
upgradeable) |
|||
# Show which pacakges have an upgrade available |
|||
echo "Listing up upgradeable packages ..." |
|||
pacman -Qu |
|||
;; |
|||
install|reinstall) |
|||
# (re)Install a package and its dependencies |
|||
echo "Installing '$@' ..." |
|||
pacman -S "$@" |
|||
;; |
|||
remove) |
|||
# Remove package and its dependencies |
|||
echo "Removing '$@' and dependencies ..." |
|||
pacman -Rs "$@" |
|||
;; |
|||
purge) |
|||
# Remove package, dependencies and all of the config files |
|||
echo "Removing '$@', configurations and dependencies ..." |
|||
pacman -Rns "$@" |
|||
;; |
|||
check) |
|||
# Check & potentially fix broken dependencies |
|||
echo "Checking & (potentially fixing) broken dependencies ..." |
|||
pacman -Dk |
|||
;; |
|||
search) |
|||
# Search for available packages |
|||
echo "Searching packages for '$@' ..." |
|||
pacman -Ss "$@" |
|||
;; |
|||
show) |
|||
# Show info for a package |
|||
echo "Showing info for '$@' ..." |
|||
pacman -Si "$@" |
|||
;; |
|||
clean) |
|||
# Clean up pacman cache |
|||
# --> All the cached packages that are not installed, and unused sync database |
|||
echo "Cleaning up pacman cache ..." |
|||
pacman -Sc |
|||
;; |
|||
cleaner) |
|||
# Clean up pacman caches HARDER |
|||
# --> To remove ALL files from the cache directory |
|||
echo "Cleaning up pacman cache REALLY HARD ..." |
|||
pacman -Scc |
|||
;; |
|||
*) |
|||
# else |
|||
echo "Usage: aptman [...]" |
|||
echo "---------------------------------------" |
|||
echo "update - Update packages" |
|||
echo "upgrade - Install upgrades" |
|||
echo "upgradeable - List upgradeable packages" |
|||
echo "install | reinstall - (re)Install packages" |
|||
echo "remove - Uninstall package" |
|||
echo "purge - Uninstall package and clean config" |
|||
echo "check - Check for broken dependencies" |
|||
echo "search - Search package" |
|||
echo "show - Show package info" |
|||
echo "clean | cleaner - Clean up pacman cache" |
|||
;; |
|||
esac |
Write
Preview
Loading…
Cancel
Save
Reference in new issue