diff --git a/debian-based/install.sh b/debian-based/install.sh new file mode 100755 index 0000000000000000000000000000000000000000..97c55d9484882564f25dbc59f7b326957c6629f9 --- /dev/null +++ b/debian-based/install.sh @@ -0,0 +1,94 @@ +#!/bin/bash + +PACKAGES= +RUBY_VERSION=2.3.0 +ABSOLUTE_PATH="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +#Ruby precisa de uma função especial para ser instalado através do RVM +function ruby { + gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 + curl -sSL https://get.rvm.io | bash -s stable + source $HOME/.rvm/scripts/rvm + rvm install $RUBY_VERSION +} + +function update { + sudo apt-get update + sudo apt-get upgrade -y +} + +#Instala todos os pacotes no arquivo packages +function install { + PACKAGES=$(cat "$ABSOLUTE_PATH/packages.txt" | cut -d: -f2 | tr '\r\n' ' ') +} + +function fresh-install { + update + install +} + +function list { + cat "$ABSOLUTE_PATH/packages.txt" | tr ':' '\t' +} + +function help { + echo "$(basename "$0") [-f|--fresh-install] [-h|--help] [-l|--list] (pacotes) -- Utilize para instalar pacotes na sua máquina" + echo + echo "onde:" + echo " -h mostra a ajuda e sai" + echo " -f instala todos os pacotes da lista" + echo " -l lista os pacotes disponíveis" + echo "exemplo de uso:" + echo " $(basename "$0") php mysql ruby" +} + +#Se o arquivo não existe, o script cria +if [ ! -f "$ABSOLUTE_PATH/packages.txt" ] +then + packages="ssh:openssh-client openssh-server + php:php5 php5-mysql php5-pgsql php5-sqlite + mysql:mysql-client mysql-server + nodejs:nodejs npm + git:git + editors:vim gedit + openjdk:openjdk-7-jre openjdk-7-jdk default-jdk default-jre + flash:pepperflashplugin-nonfree + xchm:xchm + latex:texlive-full kile + curl:curl + make:make" + echo $packages > "$ABSOLUTE_PATH/packages.txt" +fi +while [[ $# > 0 ]] +do + key="$1" + case $key in + -f|--fresh-install) + fresh-install + sudo apt-get install -y $PACKAGES + exit 0 + ;; + -h|--help) + help + exit 0 + ;; + -l|--list) + list + exit 0 + ;; + ruby) + ruby + ;; + *) + #concatena na lista de pacotes as regras passadas por parâmetro + PACKAGES="$(cat "$ABSOLUTE_PATH/packages.txt" | grep $key | cut -d: -f2) $PACKAGES" + ;; + esac + shift +done +if [ -z "${param// }" ] +then + # sudo apt-get install -y $PACKAGES + echo $PACKAGES +else + help +fi diff --git a/debian-based/packages.txt b/debian-based/packages.txt new file mode 100644 index 0000000000000000000000000000000000000000..3aae2389a50fe59d532a731ce6202911f2d18d04 --- /dev/null +++ b/debian-based/packages.txt @@ -0,0 +1,12 @@ +ssh:openssh-client openssh-server +php:php5 php5-mysql php5-pgsql php5-sqlite +mysql:mysql-client mysql-server +nodejs:nodejs npm +git:git +editors:vim gedit +openjdk:openjdk-7-jre openjdk-7-jdk default-jdk default-jre +flash:pepperflashplugin-nonfree +xchm:xchm +latex:texlive-full kile +curl:curl +make:make