From c3d9885b16b94a3ce53fb59489f554abca171955 Mon Sep 17 00:00:00 2001 From: Vytor Calixto <vytorcalixto@gmail.com> Date: Fri, 15 Apr 2016 11:17:01 -0300 Subject: [PATCH] =?UTF-8?q?Instala=C3=A7=C3=A3o=20feita=20atrav=C3=A9s=20d?= =?UTF-8?q?e=20script?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- debian-based/install.sh | 94 +++++++++++++++++++++++++++++++++++++++ debian-based/packages.txt | 12 +++++ 2 files changed, 106 insertions(+) create mode 100755 debian-based/install.sh create mode 100644 debian-based/packages.txt diff --git a/debian-based/install.sh b/debian-based/install.sh new file mode 100755 index 0000000..97c55d9 --- /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 0000000..3aae238 --- /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 -- GitLab