From aa5a3c390906fe803f2f8e7907ef25bfb0c252f0 Mon Sep 17 00:00:00 2001 From: Jacob Hrbek Date: Wed, 24 Jul 2019 04:27:51 +0200 Subject: [PATCH 1/5] aliases/package-manager: Add aliases for package manager handling --- README.md | 9 ++++ aliases/package-manager.aliases.bash | 62 ++++++++++++++++++++++++++++ 2 files changed, 71 insertions(+) create mode 100644 aliases/package-manager.aliases.bash diff --git a/README.md b/README.md index de483d2..7b8b465 100644 --- a/README.md +++ b/README.md @@ -174,6 +174,15 @@ If you would like to track the upstream changes for your customized version of m If you would like to replace an existing module (theme/plugin/aliases/complet) bundled with Oh My Bash, create a module of the same name in the `custom/` directory so that it will be loaded instead of the original one. +### Configuration + +#### SUDO logic +oh-my-bash is using logic to use sudo if EUID variable and sudo doesn't return false. + +To disable this use `OMB_USE_ROOT` variable with `false` value in your `~/.bashrc` + +To overwrite this you can use `OMB_ROOT` with `true` value. + ## Getting Updates By default, you will be prompted to check for upgrades every few weeks. If you would like `oh-my-bash` to automatically upgrade itself without prompting you, set the following in your `~/.bashrc`: diff --git a/aliases/package-manager.aliases.bash b/aliases/package-manager.aliases.bash new file mode 100644 index 0000000..db29cc3 --- /dev/null +++ b/aliases/package-manager.aliases.bash @@ -0,0 +1,62 @@ +#!/usr/bin/env bash +# Created by Jacob Hrbek github.com in 2019 +# --------------------------------------------------------------------------- + +# Logic for root usage +if [ -n "$EUID" ] && [ -x $(command -v sudo) ]; then + [ -z "$OMB_USE_ROOT" ] && export OMB_ROOT=true +fi + +# Portage - Enoch Merge +if [[ -x "$(command -v emerge)" ]]; then + alias em="${OMB_ROOT:+sudo }emerge" # Enoch Merge + alias es="${OMB_ROOT:+sudo }emerge --search" # Enoch Search + alias esync="${OMB_ROOT:+sudo }emerge --sync" # Enoch SYNC + alias eb="${OMB_ROOT:+sudo }ebuild" # Enoch Build + alias er="${OMB_ROOT:+sudo }emerge -c" # Enoch Remove + alias ers="${OMB_ROOT:+sudo }emerge -c" # Enoch Remove Systempackage + alias emfu="${OMB_ROOT:+sudo }emerge --sync && ${OMB_ROOT:+sudo }emerge -uDUj @world" + alias elip="${OMB_ROOT:+sudo }eix-installed -a" # Enoch List Installed Packages +fi + +# Paludis - Cave +if [[ -x "$(command -v cave)" ]]; then + alias cave="${OMB_ROOT:+sudo }cave" + alias cr="${OMB_ROOT:+sudo }cave resolve" # Cave Resolve + alias cui="${OMB_ROOT:+sudo }cave uninstall" # Cave UnInstall + alias cs="${OMB_ROOT:+sudo }cave show" # Cave Show + alias cli="${OMB_ROOT:+sudo }cave print-ids --matching '*/*::/'" # Cave List Installed +fi + +# Advanced Packaging Tool - APT +if [[ -x "$(command -v apt)" ]]; then + alias apt="${OMB_ROOT:+sudo }apt" # Advanced Packaging Tool + alias aptfu="${OMB_ROOT:+sudo }apt update -y && ${OMB_ROOT:+sudo }apt upgrade -y && ${OMB_ROOT:+sudo }apt dist-upgrade -y && ${OMB_ROOT:+sudo }apt autoremove -y" + alias apti="${OMB_ROOT:+sudo }apt install -y" # Apt install + alias apts="${OMB_ROOT:+sudo }apt-cache search" # Apt search + alias aptr="${OMB_ROOT:+sudo }apt remove -y" # Apt remove + alias aptar="${OMB_ROOT:+sudo }apt autoremove -y" # Apt Auto Remove + alias aptli="${OMB_ROOT:+sudo }apt list --installed" +fi + +# Debian PacKaGe - DPKG +if [[ -x "$(command -v dpkg)" ]]; then + alias dpkg="${OMB_ROOT:+sudo }dpkg" +fi + +# # Zypper = Zen Yast Package Program (ZYPP?) +# if [[ -x "$(command -v zypper)" ]]; then +# +# # Yast = Yet Another Silly/Setup Thing/Thing +# alias lcp="${OMB_ROOT:+sudo }zypper" +# alias lcpi="${OMB_ROOT:+sudo }zypper install" +# alias lcps="${OMB_ROOT:+sudo }zypper search" +# alias lcpsi="${OMB_ROOT:+sudo }zypper source-install" +# alias lcpr="${OMB_ROOT:+sudo }zypper remove" +# if [[ $(cat /etc/os-release | grep -m 1 -o 'openSUSE Tumbleweed') == "openSUSE Tumbleweed" ]]; then +# # Zypper update kills the system - LCP +# alias lcpfu="${OMB_ROOT:+sudo }zypper dup" +# # Because Geeko uses sublime3 to call sublime_text instead of something that makes sence like 'subl'.. +# alias subl="${OMB_ROOT:+sudo }sublime3" +# fi +# fi From 92823a2840d76498bac61dec1942ad7fdf5e4368 Mon Sep 17 00:00:00 2001 From: Koichi Murase Date: Sat, 5 Feb 2022 22:29:23 +0900 Subject: [PATCH 2/5] aliases/package-manager: Normalize indentation --- aliases/package-manager.aliases.bash | 58 ++++++++++++++-------------- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/aliases/package-manager.aliases.bash b/aliases/package-manager.aliases.bash index db29cc3..0d5c647 100644 --- a/aliases/package-manager.aliases.bash +++ b/aliases/package-manager.aliases.bash @@ -4,19 +4,19 @@ # Logic for root usage if [ -n "$EUID" ] && [ -x $(command -v sudo) ]; then - [ -z "$OMB_USE_ROOT" ] && export OMB_ROOT=true + [ -z "$OMB_USE_ROOT" ] && export OMB_ROOT=true fi # Portage - Enoch Merge if [[ -x "$(command -v emerge)" ]]; then - alias em="${OMB_ROOT:+sudo }emerge" # Enoch Merge - alias es="${OMB_ROOT:+sudo }emerge --search" # Enoch Search - alias esync="${OMB_ROOT:+sudo }emerge --sync" # Enoch SYNC - alias eb="${OMB_ROOT:+sudo }ebuild" # Enoch Build - alias er="${OMB_ROOT:+sudo }emerge -c" # Enoch Remove - alias ers="${OMB_ROOT:+sudo }emerge -c" # Enoch Remove Systempackage - alias emfu="${OMB_ROOT:+sudo }emerge --sync && ${OMB_ROOT:+sudo }emerge -uDUj @world" - alias elip="${OMB_ROOT:+sudo }eix-installed -a" # Enoch List Installed Packages + alias em="${OMB_ROOT:+sudo }emerge" # Enoch Merge + alias es="${OMB_ROOT:+sudo }emerge --search" # Enoch Search + alias esync="${OMB_ROOT:+sudo }emerge --sync" # Enoch SYNC + alias eb="${OMB_ROOT:+sudo }ebuild" # Enoch Build + alias er="${OMB_ROOT:+sudo }emerge -c" # Enoch Remove + alias ers="${OMB_ROOT:+sudo }emerge -c" # Enoch Remove Systempackage + alias emfu="${OMB_ROOT:+sudo }emerge --sync && ${OMB_ROOT:+sudo }emerge -uDUj @world" + alias elip="${OMB_ROOT:+sudo }eix-installed -a" # Enoch List Installed Packages fi # Paludis - Cave @@ -30,33 +30,33 @@ fi # Advanced Packaging Tool - APT if [[ -x "$(command -v apt)" ]]; then - alias apt="${OMB_ROOT:+sudo }apt" # Advanced Packaging Tool - alias aptfu="${OMB_ROOT:+sudo }apt update -y && ${OMB_ROOT:+sudo }apt upgrade -y && ${OMB_ROOT:+sudo }apt dist-upgrade -y && ${OMB_ROOT:+sudo }apt autoremove -y" - alias apti="${OMB_ROOT:+sudo }apt install -y" # Apt install - alias apts="${OMB_ROOT:+sudo }apt-cache search" # Apt search - alias aptr="${OMB_ROOT:+sudo }apt remove -y" # Apt remove - alias aptar="${OMB_ROOT:+sudo }apt autoremove -y" # Apt Auto Remove - alias aptli="${OMB_ROOT:+sudo }apt list --installed" + alias apt="${OMB_ROOT:+sudo }apt" # Advanced Packaging Tool + alias aptfu="${OMB_ROOT:+sudo }apt update -y && ${OMB_ROOT:+sudo }apt upgrade -y && ${OMB_ROOT:+sudo }apt dist-upgrade -y && ${OMB_ROOT:+sudo }apt autoremove -y" + alias apti="${OMB_ROOT:+sudo }apt install -y" # Apt install + alias apts="${OMB_ROOT:+sudo }apt-cache search" # Apt search + alias aptr="${OMB_ROOT:+sudo }apt remove -y" # Apt remove + alias aptar="${OMB_ROOT:+sudo }apt autoremove -y" # Apt Auto Remove + alias aptli="${OMB_ROOT:+sudo }apt list --installed" fi # Debian PacKaGe - DPKG if [[ -x "$(command -v dpkg)" ]]; then - alias dpkg="${OMB_ROOT:+sudo }dpkg" + alias dpkg="${OMB_ROOT:+sudo }dpkg" fi # # Zypper = Zen Yast Package Program (ZYPP?) # if [[ -x "$(command -v zypper)" ]]; then # -# # Yast = Yet Another Silly/Setup Thing/Thing -# alias lcp="${OMB_ROOT:+sudo }zypper" -# alias lcpi="${OMB_ROOT:+sudo }zypper install" -# alias lcps="${OMB_ROOT:+sudo }zypper search" -# alias lcpsi="${OMB_ROOT:+sudo }zypper source-install" -# alias lcpr="${OMB_ROOT:+sudo }zypper remove" -# if [[ $(cat /etc/os-release | grep -m 1 -o 'openSUSE Tumbleweed') == "openSUSE Tumbleweed" ]]; then -# # Zypper update kills the system - LCP -# alias lcpfu="${OMB_ROOT:+sudo }zypper dup" -# # Because Geeko uses sublime3 to call sublime_text instead of something that makes sence like 'subl'.. -# alias subl="${OMB_ROOT:+sudo }sublime3" -# fi +# # Yast = Yet Another Silly/Setup Thing/Thing +# alias lcp="${OMB_ROOT:+sudo }zypper" +# alias lcpi="${OMB_ROOT:+sudo }zypper install" +# alias lcps="${OMB_ROOT:+sudo }zypper search" +# alias lcpsi="${OMB_ROOT:+sudo }zypper source-install" +# alias lcpr="${OMB_ROOT:+sudo }zypper remove" +# if [[ $(cat /etc/os-release | grep -m 1 -o 'openSUSE Tumbleweed') == "openSUSE Tumbleweed" ]]; then +# # Zypper update kills the system - LCP +# alias lcpfu="${OMB_ROOT:+sudo }zypper dup" +# # Because Geeko uses sublime3 to call sublime_text instead of something that makes sence like 'subl'.. +# alias subl="${OMB_ROOT:+sudo }sublime3" +# fi # fi From 0646c47f305903e28dd6b6b4cbac47a4af0cd394 Mon Sep 17 00:00:00 2001 From: Koichi Murase Date: Sat, 5 Feb 2022 22:47:44 +0900 Subject: [PATCH 3/5] aliases/package-manager: Use _omb_util_binary_exists for testing command existence --- aliases/package-manager.aliases.bash | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/aliases/package-manager.aliases.bash b/aliases/package-manager.aliases.bash index 0d5c647..b9d127f 100644 --- a/aliases/package-manager.aliases.bash +++ b/aliases/package-manager.aliases.bash @@ -3,12 +3,12 @@ # --------------------------------------------------------------------------- # Logic for root usage -if [ -n "$EUID" ] && [ -x $(command -v sudo) ]; then +if [ -n "$EUID" ] && _omb_util_binary_exists emerge sudo; then [ -z "$OMB_USE_ROOT" ] && export OMB_ROOT=true fi # Portage - Enoch Merge -if [[ -x "$(command -v emerge)" ]]; then +if _omb_util_binary_exists emerge; then alias em="${OMB_ROOT:+sudo }emerge" # Enoch Merge alias es="${OMB_ROOT:+sudo }emerge --search" # Enoch Search alias esync="${OMB_ROOT:+sudo }emerge --sync" # Enoch SYNC @@ -20,7 +20,7 @@ if [[ -x "$(command -v emerge)" ]]; then fi # Paludis - Cave -if [[ -x "$(command -v cave)" ]]; then +if _omb_util_binary_exists cave; then alias cave="${OMB_ROOT:+sudo }cave" alias cr="${OMB_ROOT:+sudo }cave resolve" # Cave Resolve alias cui="${OMB_ROOT:+sudo }cave uninstall" # Cave UnInstall @@ -29,7 +29,7 @@ if [[ -x "$(command -v cave)" ]]; then fi # Advanced Packaging Tool - APT -if [[ -x "$(command -v apt)" ]]; then +if _omb_util_binary_exists apt; then alias apt="${OMB_ROOT:+sudo }apt" # Advanced Packaging Tool alias aptfu="${OMB_ROOT:+sudo }apt update -y && ${OMB_ROOT:+sudo }apt upgrade -y && ${OMB_ROOT:+sudo }apt dist-upgrade -y && ${OMB_ROOT:+sudo }apt autoremove -y" alias apti="${OMB_ROOT:+sudo }apt install -y" # Apt install @@ -40,20 +40,19 @@ if [[ -x "$(command -v apt)" ]]; then fi # Debian PacKaGe - DPKG -if [[ -x "$(command -v dpkg)" ]]; then +if _omb_util_binary_exists dpkg; then alias dpkg="${OMB_ROOT:+sudo }dpkg" fi # # Zypper = Zen Yast Package Program (ZYPP?) -# if [[ -x "$(command -v zypper)" ]]; then -# +# if _omb_util_binary_exists zypper; then # # Yast = Yet Another Silly/Setup Thing/Thing # alias lcp="${OMB_ROOT:+sudo }zypper" # alias lcpi="${OMB_ROOT:+sudo }zypper install" # alias lcps="${OMB_ROOT:+sudo }zypper search" # alias lcpsi="${OMB_ROOT:+sudo }zypper source-install" # alias lcpr="${OMB_ROOT:+sudo }zypper remove" -# if [[ $(cat /etc/os-release | grep -m 1 -o 'openSUSE Tumbleweed') == "openSUSE Tumbleweed" ]]; then +# if grep -q 'openSUSE Tumbleweed' /etc/os-release; then # # Zypper update kills the system - LCP # alias lcpfu="${OMB_ROOT:+sudo }zypper dup" # # Because Geeko uses sublime3 to call sublime_text instead of something that makes sence like 'subl'.. From 464b738533dcf187ea0e3306c871e14a1f80d965 Mon Sep 17 00:00:00 2001 From: Koichi Murase Date: Sat, 5 Feb 2022 22:41:40 +0900 Subject: [PATCH 4/5] aliases/package-manager: Introduce OMB_USE_SUDO and OMB_ALIAS_PACKAGE_MANAGER_SUDO --- README.md | 11 +++-- aliases/package-manager.aliases.bash | 73 ++++++++++++++++------------ templates/bashrc.osh-template | 4 ++ 3 files changed, 52 insertions(+), 36 deletions(-) diff --git a/README.md b/README.md index 7b8b465..a561112 100644 --- a/README.md +++ b/README.md @@ -176,12 +176,15 @@ If you would like to replace an existing module (theme/plugin/aliases/complet) b ### Configuration -#### SUDO logic -oh-my-bash is using logic to use sudo if EUID variable and sudo doesn't return false. +#### Disable internal uses of `sudo` -To disable this use `OMB_USE_ROOT` variable with `false` value in your `~/.bashrc` +Some plugins of oh-my-bash internally use `sudo` when it is necessary. However, this might clutter with the `sudo` log. To disable the use of `sudo` by oh-my-bash, `OMB_USE_SUDO` can be set to `false` in `~/.bashrc`. -To overwrite this you can use `OMB_ROOT` with `true` value. +```bash +OMB_USE_SUDO=false +``` + +Each plugin might provides finer configuration variables to control the use of `sudo` by each plugin. ## Getting Updates diff --git a/aliases/package-manager.aliases.bash b/aliases/package-manager.aliases.bash index b9d127f..0a990ad 100644 --- a/aliases/package-manager.aliases.bash +++ b/aliases/package-manager.aliases.bash @@ -1,61 +1,70 @@ #!/usr/bin/env bash # Created by Jacob Hrbek github.com in 2019 -# --------------------------------------------------------------------------- -# Logic for root usage -if [ -n "$EUID" ] && _omb_util_binary_exists emerge sudo; then - [ -z "$OMB_USE_ROOT" ] && export OMB_ROOT=true +# A local temporary variable +declare _omb_tmp_sudo + +# Switch for the use of "sudo" +_omb_tmp_sudo= +if [[ ${OMB_ALIAS_PACKAGE_MANAGER_SUDO+set} ]]; then + _omb_tmp_sudo=${OMB_ALIAS_PACKAGE_MANAGER_SUDO:+$OMB_ALIAS_PACKAGE_MANAGER_SUDO } +elif [[ ${OMB_USE_SUDO-true} == true ]]; then + if ((EUID != 0)) && _omb_util_binary_exists sudo; then + _omb_tmp_sudo='sudo ' + fi fi # Portage - Enoch Merge if _omb_util_binary_exists emerge; then - alias em="${OMB_ROOT:+sudo }emerge" # Enoch Merge - alias es="${OMB_ROOT:+sudo }emerge --search" # Enoch Search - alias esync="${OMB_ROOT:+sudo }emerge --sync" # Enoch SYNC - alias eb="${OMB_ROOT:+sudo }ebuild" # Enoch Build - alias er="${OMB_ROOT:+sudo }emerge -c" # Enoch Remove - alias ers="${OMB_ROOT:+sudo }emerge -c" # Enoch Remove Systempackage - alias emfu="${OMB_ROOT:+sudo }emerge --sync && ${OMB_ROOT:+sudo }emerge -uDUj @world" - alias elip="${OMB_ROOT:+sudo }eix-installed -a" # Enoch List Installed Packages + alias em="${_omb_tmp_sudo}emerge" # Enoch Merge + alias es="${_omb_tmp_sudo}emerge --search" # Enoch Search + alias esync="${_omb_tmp_sudo}emerge --sync" # Enoch SYNC + alias eb="${_omb_tmp_sudo}ebuild" # Enoch Build + alias er="${_omb_tmp_sudo}emerge -c" # Enoch Remove + alias ers="${_omb_tmp_sudo}emerge -c" # Enoch Remove Systempackage + alias emfu="${_omb_tmp_sudo}emerge --sync && ${_omb_tmp_sudo}emerge -uDUj @world" + alias elip="${_omb_tmp_sudo}eix-installed -a" # Enoch List Installed Packages fi # Paludis - Cave if _omb_util_binary_exists cave; then - alias cave="${OMB_ROOT:+sudo }cave" - alias cr="${OMB_ROOT:+sudo }cave resolve" # Cave Resolve - alias cui="${OMB_ROOT:+sudo }cave uninstall" # Cave UnInstall - alias cs="${OMB_ROOT:+sudo }cave show" # Cave Show - alias cli="${OMB_ROOT:+sudo }cave print-ids --matching '*/*::/'" # Cave List Installed + alias cave="${_omb_tmp_sudo}cave" + alias cr="${_omb_tmp_sudo}cave resolve" # Cave Resolve + alias cui="${_omb_tmp_sudo}cave uninstall" # Cave UnInstall + alias cs="${_omb_tmp_sudo}cave show" # Cave Show + alias cli="${_omb_tmp_sudo}cave print-ids --matching '*/*::/'" # Cave List Installed fi # Advanced Packaging Tool - APT if _omb_util_binary_exists apt; then - alias apt="${OMB_ROOT:+sudo }apt" # Advanced Packaging Tool - alias aptfu="${OMB_ROOT:+sudo }apt update -y && ${OMB_ROOT:+sudo }apt upgrade -y && ${OMB_ROOT:+sudo }apt dist-upgrade -y && ${OMB_ROOT:+sudo }apt autoremove -y" - alias apti="${OMB_ROOT:+sudo }apt install -y" # Apt install - alias apts="${OMB_ROOT:+sudo }apt-cache search" # Apt search - alias aptr="${OMB_ROOT:+sudo }apt remove -y" # Apt remove - alias aptar="${OMB_ROOT:+sudo }apt autoremove -y" # Apt Auto Remove - alias aptli="${OMB_ROOT:+sudo }apt list --installed" + alias apt="${_omb_tmp_sudo}apt" # Advanced Packaging Tool + alias aptfu="${_omb_tmp_sudo}apt update -y && ${_omb_tmp_sudo}apt upgrade -y && ${_omb_tmp_sudo}apt dist-upgrade -y && ${_omb_tmp_sudo}apt autoremove -y" + alias apti="${_omb_tmp_sudo}apt install -y" # Apt install + alias apts="${_omb_tmp_sudo}apt-cache search" # Apt search + alias aptr="${_omb_tmp_sudo}apt remove -y" # Apt remove + alias aptar="${_omb_tmp_sudo}apt autoremove -y" # Apt Auto Remove + alias aptli="${_omb_tmp_sudo}apt list --installed" fi # Debian PacKaGe - DPKG if _omb_util_binary_exists dpkg; then - alias dpkg="${OMB_ROOT:+sudo }dpkg" + alias dpkg="${_omb_tmp_sudo}dpkg" fi # # Zypper = Zen Yast Package Program (ZYPP?) # if _omb_util_binary_exists zypper; then # # Yast = Yet Another Silly/Setup Thing/Thing -# alias lcp="${OMB_ROOT:+sudo }zypper" -# alias lcpi="${OMB_ROOT:+sudo }zypper install" -# alias lcps="${OMB_ROOT:+sudo }zypper search" -# alias lcpsi="${OMB_ROOT:+sudo }zypper source-install" -# alias lcpr="${OMB_ROOT:+sudo }zypper remove" +# alias lcp="${_omb_tmp_sudo}zypper" +# alias lcpi="${_omb_tmp_sudo}zypper install" +# alias lcps="${_omb_tmp_sudo}zypper search" +# alias lcpsi="${_omb_tmp_sudo}zypper source-install" +# alias lcpr="${_omb_tmp_sudo}zypper remove" # if grep -q 'openSUSE Tumbleweed' /etc/os-release; then # # Zypper update kills the system - LCP -# alias lcpfu="${OMB_ROOT:+sudo }zypper dup" +# alias lcpfu="${_omb_tmp_sudo}zypper dup" # # Because Geeko uses sublime3 to call sublime_text instead of something that makes sence like 'subl'.. -# alias subl="${OMB_ROOT:+sudo }sublime3" +# alias subl="${_omb_tmp_sudo}sublime3" # fi # fi + +unset -v _omb_tmp_sudo diff --git a/templates/bashrc.osh-template b/templates/bashrc.osh-template index ad745cd..31ba8a1 100644 --- a/templates/bashrc.osh-template +++ b/templates/bashrc.osh-template @@ -49,6 +49,10 @@ OSH_THEME="font" # Would you like to use another custom folder than $OSH/custom? # OSH_CUSTOM=/path/to/new-custom-folder +# To disable the uses of "sudo" by oh-my-bash, please set "false" to +# this variable. The default behavior for the empty value is "true". +OMB_USE_SUDO=true + # Which completions would you like to load? (completions can be found in ~/.oh-my-bash/completions/*) # Custom completions may be added to ~/.oh-my-bash/custom/completions/ # Example format: completions=(ssh git bundler gem pip pip3) From 16896830ef809cf0cd0426fa79a0e3dbf6fa98f7 Mon Sep 17 00:00:00 2001 From: Koichi Murase Date: Sat, 5 Feb 2022 23:32:23 +0900 Subject: [PATCH 5/5] aliases/README: Describe the alias module "package-manager" --- aliases/README.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 aliases/README.md diff --git a/aliases/README.md b/aliases/README.md new file mode 100644 index 0000000..4eb0915 --- /dev/null +++ b/aliases/README.md @@ -0,0 +1,20 @@ +# aliases + +## alias:package-manager + +This plugin provides the set of aliases that can be used to control package managers. Here is the list of the supported aliases for each package manager. You can find the details of each alias in the source [`package-manager.aliases.bash`](package-manager.aliases.bash). + +- `emerge` (Portage Enoch Merge) ... `em`, `es`, `esync`, `eb`, `er`, `ers`, `emfu`, `elip` +- `cave` (Paludis Cave) ... `cave`, `cr`, `cui`, `cs`, `cli` +- `apt` (Advanced Packaging Tool) ... `apt`, `aptfu`, `apti`, `apts`, `aptr`, `aptar`, `aptli` +- `dpkg` (Debian Package) ... `dpkg` + +The command to use to call these package manager can be specified in the variable `OMB_ALIAS_PACKAGE_MANAGER_SUDO`. By default, `sudo` is used when the current use is not root and the command `sudo` is available. + +```bash +# Use sudo to run the package manager +OMB_ALIAS_PACKAGE_MANAGER_SUDO=sudo + +# Do not use sudo but directly run the package manager +OMB_ALIAS_PACKAGE_MANAGER_SUDO= +```