Skip to content
Snippets Groups Projects
Commit 3b76f5c7 authored by Gabriel Olescki's avatar Gabriel Olescki
Browse files

Versão para distribuições baseadas em fedora (tem que testar mais)

parent cb7f7d5b
No related branches found
No related tags found
No related merge requests found
Pipeline #
#!/bin/bash
PACKAGES=
RUBY_VERSION=2.3.0
ABSOLUTE_PATH="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
#Checa se o usuário é root
if [[ $EUID -ne 0 ]]
then
ROOT="sudo"
else
ROOT=
fi
#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 {
$(echo "$ROOT dnf update")
$(echo "$ROOT dnf 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
$(echo "$ROOT dnf install -y $PACKAGES")
}
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"
echo "AVISO: por padrão, o ruby não é instalado. Para instalar, execute $(basename "$0") ruby"
}
#Se o arquivo não existe, o script cria
if [ ! -f "$ABSOLUTE_PATH/packages.txt" ]
then
packages="ssh:openssh openssh-server\n"
packages="${packages}php:php php-mysql php-pgsql\n"
packages="${packages}mysql:mysql\n"
packages="${packages}nodejs:nodejs npm\n"
packages="${packages}git:git\n"
packages="${packages}editors:vim gedit\n"
packages="${packages}openjdk:java-1.8.0-openjdk\n"
packages="${packages}xchm:xchm\n"
packages="${packages}latex:texlive kile\n"
packages="${packages}curl:curl\n"
packages="${packages}make:make\n"
echo -e $packages > "$ABSOLUTE_PATH/packages.txt"
fi
while [[ $# > 0 ]]
do
key="$1"
case $key in
-f|--fresh-install)
fresh-install
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
#Checa se a string não está vazia
if [ ! -z "${PACKAGES// }" ]
then
$(echo "$ROOT dnf install -y $PACKAGES")
else
help
fi
ssh:openssh openssh-server
php:php php-mysql php-pgsql
mysql:mysql
nodejs:nodejs npm
git:git
editors:vim gedit
openjdk:java-1.8.0-openjdk
xchm:xchm
latex:texlive kile
curl:curl
make:make
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment