Browse Source

Merge pull request #3601 from nextgenthemes/master

Create Ubuntu/Debian/Mint/... plugin, based on Debian plugin
Robby Russell 10 years ago
parent
commit
e1bcd770b2
2 changed files with 162 additions and 0 deletions
  1. 21 0
      plugins/ubuntu/readme.md
  2. 141 0
      plugins/ubuntu/ubuntu.plugin.zsh

+ 21 - 0
plugins/ubuntu/readme.md

@@ -0,0 +1,21 @@
+This plugin was created because the aliases in the debian plugin are inconsistent and hard to remember. Also this apt-priority detection that switched between apt-get and aptitude was dropped to keep it simpler. This plugin uses apt-get for everything but a few things that are only possible with aptitude I guess. Ubuntu does not have aptitude installed by default.
+
+acs = Apt-Cache Search  
+acp = Apt-Cache Policy
+
+ag  = sudo Apt-Get  
+agi = sudo Apt-Get Install  
+agd = sudo Apt-Get Dselect-upgrade  
+By now you already can guess almost all aliases  
+
+There are two exeptions since ...  
+agu  = sudo Apt-Get Update  - we have ...  
+agug = sudo Apt-Get UpGrade - as the exeptional 4 letter alias for a single command.
+
+afs = Apt-File Search --regexp - this has the regexp switch on without being represented in the alias, I guess this makes sense since the debian plugin has it, I never used that command.
+
+Then there are the 2 other 4 letter aliases for combined commands, that are straight forward and easy to remember.  
+aguu = sudo Apt-Get Update && sudo apt-get Upgrade      - better then adg or not?  
+agud = sudo Apt-Get Update && sudo apt-get Dist-upgrade
+
+For a full list aliases and the functions just watch the plugins code https://github.com/robbyrussell/oh-my-zsh/blob/master/plugins/ubuntu/ubuntu.plugin.zsh, look at the comments if you want to switch from the debian plugin. Ubuntu, Mint and & co users will like the new aar function to install packages from ppas with a single command.

+ 141 - 0
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}'
+}