#!/usr/bin/env bash #https://www.shellscript.sh/functions.html install_gist() { echo " ______________________________________________________________________________________ install bash framework ______________________________________________________________________________________ " #source <(VERSION=1.0.0; URL="https://github.com/niieani/bash-oo-framework/releases/download/$VERSION/oo-framework.sh"; RETRIES=3; hash curl 2>/dev/null && curl - sL --retry $RETRIES "$URL" || wget -t $RETRIES -O - -o /dev/null "$URL" || echo "echo 'An error occured while downloading the framework.' && exit 1") # load the type system #import util/log util/exception util/tryCatch util/namedParameters # load the standard library for basic types and type the system #import util/class # sudo wget https://github.com/gmarik/gist.sh/blob/master/gist.sh && chmod 755 gist.sh && mv gist.sh /usr/local/bin/ } add_users_sucan() { echo " ______________________________________________________________________________________ 00- instala - criando usuarios ______________________________________________________________________________________ " echo " " sudo groupadd developers sudo groupadd docker #adduser -c "Pedro Marins" p112123 #adduser -c "Igor Ferreira" isf0516 #adduser -c "Hugo Camargo" hcv0913 usermod -a -G isf0516 isf0516 usermod -a -G wheel isf0516 usermod -a -G developers isf0516 usermod -a -G docker isf0516 #usermod -a -G hcv0913 hcv0913 #usermod -a -G wheel hcv0913 #usermod -a -G developers hcv0913 #usermod -a -G docker hcv0913 #usermod -a -G p112123 p112123 #usermod -a -G wheel p112123 #usermod -a -G developers p112123 #usermod -a -G docker p112123 #sudo list_users cat /etc/passwd | cut -d ":" -f1 sudo chgrp -R developers /opt } list_users() { cat /etc/passwd | cut -d ":" -f1 } install_tools() { echo " ______________________________________________________________________________________ 01- instala - wget, subversion, git, gitk, gitg, htop, glances -- ______________________________________________________________________________________ " echo " " sudo yum -y install epel-release sudo yum check-update sudo yum groupinstall 'Development Tools' sudo yum -y install wget subversion git gitk gitg htop glances terminator konsole alacarte sudo yum -y install system-config-users sudo yum -y install ntfs-3g ntfsprogs ntfsprogs-gnomevfs sudo yum -y install fuse fuse-ntfs-3g dkms dkms-fuse curl https://raw.githubusercontent.com/creationix/nvm/v0.33.6/install.sh | bash nvm install lts/carbon nvm install lts/argon nvm install lts/boron #http://itnotesandscribblings.blogspot.com.br/2014/09/centos-6-to-7-desktop-upgrade.html # Install "nux desktop" for vlc sudo yum install http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-1.el7.nux.noarch.rpm # Install vlc from Nux sudo yum install -y vlc sudo yum install -y http://mirror.yandex.ru/fedora/russianfedora/russianfedora/free/el/updates/7/x86_64//chrome-gnome-shell-6.1-1.el7.R.noarch.rpm # Disable "nux desktop" from being auto-enabled # sudo cd /etc/yum.repos.d/ # sudo sed -i.orig 's/enabled=1/enabled=0/' nux-dextop.repo #XFCE # http://jensd.be/125/linux/rhel/install-mate-or-xfce-on-centos-7 #sudo yum groupinstall xfce -y echo " " echo " ______________________________________________________________________________________ --- instalado - wget, subversion, git, gitk, gitg, htop, glances -- ______________________________________________________________________________________ " } install_visualcode() { echo " ______________________________________________________________________________________ 02- instala - visual code -- INICIO ______________________________________________________________________________________ " echo " " sudo rpm --"import https://packages.microsoft.com/keys/microsoft.asc" sudo sh -c 'echo -e "[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/vscode.repo' #wget "https://go.microsoft.com/fwlink/?LinkID=760867" -O vscode.rpm #sudo yum localinstall vscode.rpm sudo yum check-update sudo yum -y install code echo " " echo " ______________________________________________________________________________________ instalado com sucesso! - visual code -- FIM ______________________________________________________________________________________ " echo " " } install_sublime3() { echo " ______________________________________________________________________________________ 03- instala - sublime -- ______________________________________________________________________________________ " echo " " SUBLIME_VERSION_BUILD=3143 file="~/Downloads/sublime_text_3_build_${SUBLIME_VERSION_BUILD}_x64.tar.bz2" if [ -f "$file" ]; then echo " ja foi feito o download verificar a integridade do arquivo" else wget https://download.sublimetext.com/sublime_text_3_build_${SUBLIME_VERSION_BUILD}_x64.tar.bz2 fi sudo yum clean all sudo yum -y update sudo yum -y install glibc.i686 sudo yum install -y ftp://rpmfind.net/linux/centos/7.4.1708/os/x86_64/Packages/glib2-2.50.3-3.el7.i686.rpm sudo yum install -y ftp://rpmfind.net/linux/centos/7.4.1708/os/x86_64/Packages/libX11-1.6.5-1.el7.i686.rpm sudo yum install -y ftp://rpmfind.net/linux/centos/7.4.1708/os/x86_64/Packages/gtk2-devel-2.24.31-1.el7.i686.rpm tar vxjf sublime_text_3_build_${SUBLIME_VERSION_BUILD}_x64.tar.bz2 rm -rf /opt/sublime_text_3 sudo mv sublime_text_3/ /opt/ sudo ln -s /opt/sublime_text_3/sublime_text /usr/bin/sublime echo " Paste into console: import urllib.request,os,hashlib; h = '6f4c264a24d933ce70df5dedcf1dcaee' + 'ebe013ee18cced0ef93d5f746d80ef60'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen( 'http://packagecontrol.io/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); print('Error validating download (got %s instead of %s), please try manual install' % (dh, h)) if dh != h else open(os.path.join( ipp, pf), 'wb' ).write(by) " echo " ______________________________________________________________________________________ instalado com sucesso! - sublime -- FIM ______________________________________________________________________________________ " echo " " } install_java8() { echo " ______________________________________________________________________________________ 04- instala - Java 8-- ______________________________________________________________________________________ " echo " " #java_base_version="8" #java_sub_version="151" #java_base_build="12" #java_version="${java_base_version}u${java_sub_version}" #java_build="b${java_base_build}" #java_version_with_build="${java_version}-${java_build}" #http://download.oracle.com/otn-pub/java/jdk/8u151-b12/e758a0de34e24606bca991d704f6dcbf/jdk-8u151-linux-x64.tar.gz #cd ~/Downloads #wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" \ # "http://download.oracle.com/otn-pub/java/jdk/${java_version_with_build}/090f390dda5b47b9b721c7dfaa008135/jdk-${java_version}-linux-x64.rpm" #wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" \ #"http://download.oracle.com/otn-pub/java/jdk/8u144-b01/090f390dda5b47b9b721c7dfaa008135/jdk-8u144-linux-x64.tar.gz" wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" \ "http://download.oracle.com/otn-pub/java/jdk/8u151-b12/e758a0de34e24606bca991d704f6dcbf/jdk-8u151-linux-x64.tar.gz" sudo tar -xzvf jdk-8*.tar.gz -C /opt/ echo " Next, install Java with the following command:" sudo alternatives --install /usr/bin/java java /opt/jdk1.8.0_151/bin/java 2 sudo alternatives --config java echo " Choose the latest version of Java and press enter. You will also need to setup javac and jar commands path using alternatives: " sudo alternatives --install /usr/bin/jar jar /opt/jdk1.8.0_151/bin/jar 2 sudo alternatives --install /usr/bin/javac javac /opt/jdk1.8.0_151/bin/javac 2 sudo alternatives --set jar /opt/jdk1.8.0_151/bin/jar sudo alternatives --set javac /opt/jdk1.8.0_151/bin/javac #echo " You will need to configure environment variables for Java for all users. # To do so, create a new file named java.sh and java.csh: # " #sudo nano /etc/profile.d/java.sh echo " " echo " ______________________________________________________________________________________ --- instalado - Java 8-- ______________________________________________________________________________________ " } install_wildfly() { echo " ______________________________________________________________________________________ 05- instala - WildFly Application Server -- ______________________________________________________________________________________ " echo " " file="wildfly-10.1.0.Final.zip" if [ -e "$file" ]; then echo " ja foi feito o download verificar a integridade do arquivo ! " else echo " You can download it using wget with the following command:" wget http://download.jboss.org/wildfly/10.1.0.Final/wildfly-10.1.0.Final.zip fi echo "Once download is complete, extract the downloaded archive to the /opt/ directory:" sudo unzip wildfly-10.1.0.Final.zip -d /opt/ sudo chgrp -R developers /opt/* #echo "Now define JBOSS_HOME and the JAVA_HOME path in the standlone.conf file:" #sudo nano /opt/wildfly-10.1.0.Final/bin/standalone.conf echo "Add the following lines:" export JBOSS_HOME="/opt/wildfly-10.1.0.Final" export JAVA_HOME="/opt/jdk1.8.0_151" #echo "You can also set JBOSS_HOME system wide by editing /etc/profile file:" #sudo nano /etc/profile #echo "Add the following line:" #JBOSS_HOME="/opt/wildfly-10.1.0.Final" echo "Save and close the file, when you are finished" echo " " echo " ______________________________________________________________________________________ --- instalado - WildFly Application Server -- ______________________________________________________________________________________ " } install_spring_studio() { echo " ______________________________________________________________________________________ 06- Instalando Spring Tools Suite IDE --- ______________________________________________________________________________________ " echo " " echo " Download Latest Spring Tool Suite IDE for Linux: pring Tool Suite tar.gz 32/64bit " echo " Open a Command Line Terminal Window: Ctrl+Alt+t" echo " " file="spring-tool-suite-3.9.1.RELEASE-e4.7.1a-linux-gtk-x86_64.tar.gz" if [ -e "$file" ]; then echo " ja foi feito o download verificar a integridade do arquivo ! " else wget http://download.springsource.com/release/STS/3.9.1.RELEASE/dist/e4.7/spring-tool-suite-3.9.1.RELEASE-e4.7.1a-linux-gtk-x86_64.tar.gz fi tar xvzf spring-tool-suite*tar.gz echo " Relocating Spring Tool Suite Bundle" sudo mv sts-bundle /opt/ echo " Symlinking Spring Tool Suite Binary" sudo su -c "ln -s /opt/sts-bundle/sts-3.9.1.RELEASE/STS /usr/local/bin/STS" echo " Trocando permissoes da pasta para grupo developers" sudo chgrp -R developers /opt/ sudo chown -R isf0516:developers * echo " " echo " ______________________________________________________________________________________ --- instalado - Spring Tools Suite IDE --- ______________________________________________________________________________________ " } install_eclipse() { echo " ______________________________________________________________________________________ 07- Instalando eclipse IDE --- ______________________________________________________________________________________ " echo " " echo "downloading... " file="eclipse-jee-oxygen-1a-linux-gtk-x86_64.tar.gz" if [ -f "$file" ]; then echo " ja foi feito o download verificar a integridade do arquivo" else #http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/oxygen/1a/eclipse-jee-oxygen-1a-linux-gtk-x86_64.tar.gz&mirror_id=576 # --user-agent="Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.3) Gecko/2008092416 Firefox/3.0.3" \ wget --verbose --debug --no-proxy --output-document="eclipse-jee-oxygen-1a-linux-gtk-x86_64.tar.gz" \ http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/oxygen/1a/eclipse-jee-oxygen-1a-linux-gtk-x86_64.tar.gz&mirror_id=576 echo " " echo " download ok! " fi tar xvzf ~/Downloads/eclipse-jee-oxygen-1a-linux-gtk*tar.gz #-C ~/Downloads/eclipse-jee-oxygen echo "Relocating Eclipse to opt" sudo mv ~/Downloads/eclipse /opt/ #sudo mv ~/Downloads/eclipse-jee-oxygen/eclipse /opt/ echo "Symlinking Eclipse" sudo su -c "ln -s /opt/eclipse/eclipse /usr/local/bin/eclipse" #http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/oxygen/1a/eclipse-jee-oxygen-1a-linux-gtk-x86_64.tar.gz&mirror_id=576 echo " " echo " ______________________________________________________________________________________ --- instalado - eclipse IDE --- ______________________________________________________________________________________ " } install_chrome(){ echo " ______________________________________________________________________________________ 08- Instalando o Google Chrome Browser --- ______________________________________________________________________________________ " #sudo echo " [google64] # name=Google - x86_64 # baseurl=http://dl.google.com/linux/rpm/stable/x86_64 # enabled=1 # gpgcheck=1 # gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub # " > /etc/yum.repos.d/google-chrome.repo #yum install google-chrome-stable sudo yum install -y https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm } install_apache_maven() { echo " ______________________________________________________________________________________ 09- Instalando o Apache Maven --- ______________________________________________________________________________________ " echo "Fazer o download do arquivo do Maven: https://maven.apache.org/download.cgi" file="apache-maven-3.5.2-bin.tar.gz" if [ -e "$file" ]; then echo " ja foi feito o download verificar a integridade do arquivo ! " else wget http://mirror.nbtelecom.com.br/apache/maven/maven-3/3.5.2/binaries/apache-maven-3.5.2-bin.tar.gz fi echo "Extraia o arquivo:" sudo tar -xvf $file -C /opt/ echo "Unix-based Operating System (Linux, Solaris and Mac OS X) Tips" echo $JAVA_HOME # /Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home echo "Adicionar ao PATH" export PATH=/opt/apache-maven-3.5.2/bin:$PATH sudo chgrp -R developers /opt echo " " echo " ______________________________________________________________________________________ --- instalado - o Apache Maven --- ______________________________________________________________________________________ " } install_node6() { echo " ______________________________________________________________________________________ 10- Instalando o nodejs 6 --- Referencia: https://nodejs.org/en/download/package-manager/ ______________________________________________________________________________________ " sudo yum install gcc-c++ make curl --silent --location https://rpm.nodesource.com/setup_6.x | sudo bash - sudo yum -y install nodejs } install_node8() { echo " ______________________________________________________________________________________ 11- Instalando o nodejs 8 --- Referencia: https://nodejs.org/en/download/package-manager/ ______________________________________________________________________________________ " sudo yum install gcc-c++ make curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash - sudo yum -y install nodejs echo " " echo " ______________________________________________________________________________________ --- instalado - o nodejs 8 --- ______________________________________________________________________________________ " } install_node_official() { echo " ______________________________________________________________________________________ 12- Instalando o nodejs official --- Referencia: https://nodejs.org/en/download/package-manager/ Enterprise Linux (RHEL and CentOS) users may use the Node.js and npm packages from the EPEL repository. ______________________________________________________________________________________ " sudo yum install nodejs npm --enablerepo=epel echo " " echo " ______________________________________________________________________________________ --- instalado - o nodejs official --- ______________________________________________________________________________________ " } install_docker_ce(){ echo " ______________________________________________________________________________________ 13- Instalando o docker ce ______________________________________________________________________________________ " #sudo yum list docker-ce --showduplicates | sort -r sudo yum install -y yum-utils \ device-mapper-persistent-data \ lvm2 sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo sudo yum install -y docker-ce sudo systemctl start docker # to remove # sudo yum remove docker-ce # sudo rm -rf /var/lib/docker echo " " echo " ______________________________________________________________________________________ --- instalado - o docker ce --- ______________________________________________________________________________________ " } update_git(){ echo " ______________________________________________________________________________________ 14- Atualizando git para 2 https://serverfault.com/questions/709433/install-a-newer-version-of-git-on-centos-7 _____________________________________________________________________________________ " sudo yum -y install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker sudo yum -y install autoconf libcurl-devel expat-devel gcc gettext-devel kernel-headers openssl-devel perl-devel zlib-devel sudo yum -y remove git sudo rpm -U http://opensource.wandisco.com/centos/7/git/x86_64/wandisco-git-release-7-2.noarch.rpm \ && yum install -y git # 1. Install a package with repository for your system: # On CentOS, install package centos-release-scl available in CentOS repository: sudo yum -y install centos-release-scl # On RHEL, enable RHSCL repository for you system: sudo yum-config-manager --enable rhel-server-rhscl-7-rpms # 2. Install the collection: sudo yum -y install rh-git29 # 3. Start using the software collection: scl enable rh-git29 bash sudo yum -y install gitflow echo " " echo " ______________________________________________________________________________________ --- instalado - o git 2 --- ______________________________________________________________________________________ " } install_snx(){ echo " ______________________________________________________________________________________ 15- SNX http://kenfallon.com/how-to-install-checkpoint-ssl-extender-vpn-snx-under-fedora-14/ ______________________________________________________________________________________ " sudo yum update sudo yum -y install libcanberra-gtk2.i686 pkgconfig.i686 compat-libstdc++-33.x86_64 compat-libstdc++-33.i686 audit-libs.i686 sudo sh +x snx_install.sh } install_openshift_client_tools(){ echo " ______________________________________________________________________________________ 16- Install openshift-client-tools openshift-origin-client-tools-v3.7.0-rc.0-e92d5c5-linux-64bit.tar.gz ______________________________________________________________________________________ " wget https://github.com/openshift/origin/releases/download/v3.7.0-rc.0/openshift-origin-client-tools-v3.7.0-rc.0-e92d5c5-linux-64bit.tar.gz tar -xvf openshift-origin-client-tools-v3.7.0-rc.0-e92d5c5-linux-64bit.tar.gz -C /opt/openshift-client sudo ln -s /opt/openshift-client/oc /usr/local/bin/oc } install_insync(){ echo " ______________________________________________________________________________________ 17- Install insync - google drive openshift-origin-client-tools-v3.7.0-rc.0-e92d5c5-linux-64bit.tar.gz ______________________________________________________________________________________ " sudo rpm --import https://d2t3ff60b2tol4.cloudfront.net/repomd.xml.key #sudo echo " [insync] # name=insync repo # baseurl=http://yum.insynchq.com/centos/$releasever/ # gpgcheck=1 # gpgkey=https://d2t3ff60b2tol4.cloudfront.net/repomd.xml.key # enabled=1 # metadata_expire=120m" > /etc/yum.repos.d/insync.repo sudo yum install insync } ############################################################################### # Main body of script starts here ############################################################################### echo "Start of script..." echo " ______________________________________________________________________________________ ************************ instalações Disponiveis ************************ ______________________________________________________________________________________ " echo " MENU PRINCIPAL Escolha uma opção pelo numero: 01- tools: wget, subversion, git, gitk, gitg, htop, glances 02- Visual Code 03- Sublime text 3 04- Java 8 05- WildFly Application Server 06- Spring Tools Suite IDE 07- eclipse IDE + **Sonar Lint 08- Google Chrome Browser 09- Apache Maven 10- Node 6 11- Node 8 12- Node official 13- Docker ce 14- Update Git to 2.9 from RedHat 15- Install SNX client 16- Install openshift_client_tools 17- Install insync - google drive OBS. pressione 'ctrl+c' p/ sair sem reiniciar o Linux ______________________________________________________________________________________ " INSTALACAO=$(whiptail --title "instalações Disponiveis" --radiolist \ "O que deseja instalar agora?" 25 130 18 \ "0" "criar usuarios equipe SUCAN" ON \ "1" "wget, subversion, git, gitk, gitg, htop, glances" OFF \ "2" "Visual Code" OFF \ "3" "Sublime text 3" OFF \ "4" "Java 8" OFF \ "5" "WildFly Application Server" OFF \ "6" "Spring Tools Suite IDE" OFF \ "7" "eclipse IDE" OFF \ "8" "Google Chrome Browser" OFF \ "9" "Apache Maven" OFF \ "10" "nodejs 6" OFF \ "11" "nodejs 8" OFF \ "12" "nodejs official" OFF \ "13" "docker ce" OFF \ "14" "Update Git to 2.9 from RedHat" OFF \ "15" "Install SNX client" OFF \ "16" "Install openshift_client_tools" OFF \ "17" "Install insync - google drive" OFF 3>&1 1>&2 2>&3) exitstatus=$? if [ $exitstatus = 0 ]; then echo "Sua vc escolheu instalar: " $INSTALACAO case $INSTALACAO in 0) add_users_sucan;; 1) install_tools;; 2) install_visualcode;; 3) install_sublime3;; 4) install_java8;; 5) install_wildfly;; 6) install_spring_studio;; 7) install_eclipse;; 8) install_chrome;; 9) install_apache_maven;; 10) install_node6;; 11) install_node8;; 12) install_node_official;; 13) install_docker_ce;; 14) update_git;; 15) install_snx;; 16) install_openshift_client_tools;; 17) install_insync;; *) echo "Opcao Invalida!" ;; esac else echo "Você cancelou." fi echo "**********************************End of script****************************************"