diff --git a/plugins/ubuntu/ubuntu.plugin.zsh b/plugins/ubuntu/ubuntu.plugin.zsh new file mode 100644 index 000000000..0211d3374 --- /dev/null +++ b/plugins/ubuntu/ubuntu.plugin.zsh @@ -0,0 +1,141 @@ +# Authors: +# https://github.com/AlexBio +# https://github.com/dbb +# https://github.com/Mappleconfusers +# Nicolas Jonas nextgenthemes.com +# +# Debian, Ubuntu and friends related zsh aliases and functions for zsh + +alias acs='apt-cache search' +compdef _acs acs='apt-cache search' + +alias afs='apt-file search --regexp' +compdef _afs afs='apt-file search --regexp' + +# These are apt-get only +alias ags='apt-get source' # asrc +compdef _ags ags='apt-get source' + +alias acp='apt-cache policy' # app +compdef _acp acp='apt-cache policy' + +# superuser operations ###################################################### +alias afu='sudo apt-file update' +compdef _afu afu='sudo apt-file update' + +alias ppap='sudo ppa-purge' +compdef _ppap ppap='sudo ppa-purge' + +alias ag='sudo apt-get' # age - but without sudo +alias aga='sudo apt-get autoclean' # aac +alias agb='sudo apt-get build-dep' # abd +alias agc='sudo apt-get clean' # adc +alias agd='sudo apt-get dselect-upgrade' # ads +alias agi='sudo apt-get install' # ai +alias agp='sudo apt-get purge' # ap +alias agr='sudo apt-get remove' # ar +alias agu='sudo apt-get update' # ad +alias agud='sudo apt-get update && sudo apt-get dist-upgrade' #adu +alias agug='sudo apt-get upgrade' # ag +alias aguu='sudo apt-get update && sudo apt-get upgrade' #adg + +compdef _ag ag='sudo apt-get' +compdef _aga aga='sudo apt-get autoclean' +compdef _agb agb='sudo apt-get build-dep' +compdef _agc agc='sudo apt-get clean' +compdef _agd agd='sudo apt-get dselect-upgrade' +compdef _agi agi='sudo apt-get install' +compdef _agp agp='sudo apt-get purge' +compdef _agr agr='sudo apt-get remove' +compdef _agu agu='sudo apt-get update' +compdef _agud agud='sudo apt-get update && sudo apt-get dist-upgrade' +compdef _agug agug='sudo apt-get upgrade' +compdef _aguu aguu='sudo apt-get update && sudo apt-get upgrade' + +# Remove ALL kernel images and headers EXCEPT the one in use +alias kclean='sudo aptitude remove -P ?and(~i~nlinux-(ima|hea) \ + ?not(~n`uname -r`))' + +# Misc. ##################################################################### +# print all installed packages +alias allpkgs='aptitude search -F "%p" --disable-columns ~i' + +# Create a basic .deb package +alias mydeb='time dpkg-buildpackage -rfakeroot -us -uc' + +# apt-add-repository with automatic install/upgrade of the desired package +# Usage: aar ppa:xxxxxx/xxxxxx [packagename] +# If packagename is not given as 2nd arument the function will ask for it and guess the defaupt by taking +# the part after the / from the ppa name wich is sometimes the right name for the package you want to install +aar() { + if [ -n "$2" ]; then + PACKAGE=$2 + else + read "PACKAGE?Type in the package name to install/upgrade with this ppa [${1##*/}]: " + fi + + if [ -z "$PACKAGE" ]; then + PACKAGE=${1##*/} + fi + + sudo apt-add-repository $1 && sudo apt-get update + sudo apt-get install $PACKAGE +} + +# Prints apt history +# Usage: +# apt-history install +# apt-history upgrade +# apt-history remove +# apt-history rollback +# apt-history list +# Based On: http://linuxcommando.blogspot.com/2008/08/how-to-show-apt-log-history.html +apt-history () { + case "$1" in + install) + zgrep --no-filename 'install ' $(ls -rt /var/log/dpkg*) + ;; + upgrade|remove) + zgrep --no-filename $1 $(ls -rt /var/log/dpkg*) + ;; + rollback) + zgrep --no-filename upgrade $(ls -rt /var/log/dpkg*) | \ + grep "$2" -A10000000 | \ + grep "$3" -B10000000 | \ + awk '{print $4"="$5}' + ;; + list) + zcat $(ls -rt /var/log/dpkg*) + ;; + *) + echo "Parameters:" + echo " install - Lists all packages that have been installed." + echo " upgrade - Lists all packages that have been upgraded." + echo " remove - Lists all packages that have been removed." + echo " rollback - Lists rollback information." + echo " list - Lists all contains of dpkg logs." + ;; + esac +} + +# Kernel-package building shortcut +kerndeb () { + # temporarily unset MAKEFLAGS ( '-j3' will fail ) + MAKEFLAGS=$( print - $MAKEFLAGS | perl -pe 's/-j\s*[\d]+//g' ) + print '$MAKEFLAGS set to '"'$MAKEFLAGS'" + appendage='-custom' # this shows up in $ (uname -r ) + revision=$(date +"%Y%m%d") # this shows up in the .deb file name + + make-kpkg clean + + time fakeroot make-kpkg --append-to-version "$appendage" --revision \ + "$revision" kernel_image kernel_headers +} + +# List packages by size +function apt-list-packages { + dpkg-query -W --showformat='${Installed-Size} ${Package} ${Status}\n' | \ + grep -v deinstall | \ + sort -n | \ + awk '{print $1" "$2}' +}