Last active
June 22, 2016 16:31
-
-
Save nurfarazi/88ac973005f802e89050 to your computer and use it in GitHub Desktop.
complete installation of ubuntu 15
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# Ubuntu Developer Script For complete installation of ubuntu 15 | |
# | |
# chmod 775 thescript.sh | |
#sudo ./thescript.sh | |
# | |
# | |
# Downloads and configures the following: | |
# | |
# Java JDK | |
# Apache Ant | |
# Android | |
# NPM | |
# Apache Cordova | |
# Ionic Framework | |
# Gradle | |
# mongodg | |
HOME_PATH=$(cd ~/ && pwd) | |
INSTALL_PATH=/opt | |
ANDROID_SDK_PATH=/opt/android-sdk | |
NODE_PATH=/opt/node | |
GRADLE_PATH=/opt/gradle | |
# x86_64 or i686 | |
LINUX_ARCH="$(lscpu | grep 'Architecture' | awk -F\: '{ print $2 }' | tr -d ' ')" | |
# Latest Android Linux SDK for x64 and x86 as of 12-19-2015 | |
ANDROID_SDK_X64="http://dl.google.com/android/android-sdk_r24.4.1-linux.tgz" | |
ANDROID_SDK_X86="http://dl.google.com/android/android-sdk_r24.4.1-linux.tgz" | |
# Latest NodeJS for x64 and x86 as of 12-19-2015 | |
#NODE_X64="https://nodejs.org/download/release/v0.12.9/node-v0.12.9-linux-x64.tar.gz" | |
NODE_X64="https://nodejs.org/download/release/v5.8.0/node-v5.8.0-linux-x64.tar.gz" | |
#NODE_X86="https://nodejs.org/download/release/v0.12.9/node-v0.12.9-linux-x86.tar.gz" | |
NODE_X86="https://nodejs.org/download/release/v5.8.0/node-v5.8.0-linux-x86.tar.gz" | |
# Latest Gradle as of 12-19-2015 | |
GRADLE_ALL="https://services.gradle.org/distributions/gradle-2.9-all.zip" | |
if [ "$LINUX_ARCH" == "x86_64" ]; then | |
# Add i386 architecture | |
dpkg --add-architecture i386 | |
fi | |
# Update all Ubuntu software repository lists | |
apt-get update | |
cd ~/Desktop | |
if [ "$LINUX_ARCH" == "x86_64" ]; then | |
wget -c "$NODE_X64" -O "nodejs.tgz" --no-check-certificate | |
wget -c "$ANDROID_SDK_X64" -O "android-sdk.tgz" --no-check-certificate | |
wget -c "$GRADLE_ALL" -O "gradle.zip" --no-check-certificate | |
tar zxf "nodejs.tgz" -C "$INSTALL_PATH" | |
tar zxf "android-sdk.tgz" -C "$INSTALL_PATH" | |
unzip "gradle.zip" | |
mv "gradle-2.9" "$INSTALL_PATH" | |
cd "$INSTALL_PATH" && mv "android-sdk-linux" "android-sdk" | |
cd "$INSTALL_PATH" && mv "node-v5.8.0-linux-x64" "node" | |
cd "$INSTALL_PATH" && mv "gradle-2.9" "gradle" | |
# Android SDK requires some x86 architecture libraries even on x64 system | |
apt-get install -qq -y libc6:i386 libgcc1:i386 libstdc++6:i386 libz1:i386 | |
else | |
wget -c "$NODE_X86" -O "nodejs.tgz" --no-check-certificate | |
wget -c "$ANDROID_SDK_X86" -O "android-sdk.tgz" --no-check-certificate | |
wget -c "$GRADLE_ALL" -O "gradle.zip" --no-check-certificate | |
tar zxf "nodejs.tgz" -C "$INSTALL_PATH" | |
tar zxf "android-sdk.tgz" -C "$INSTALL_PATH" | |
unzip "gradle.zip" | |
mv "gradle-2.9" "$INSTALL_PATH" | |
cd "$INSTALL_PATH" && mv "android-sdk-linux" "android-sdk" | |
cd "$INSTALL_PATH" && mv "node-v5.8.0-linux-x86" "node" | |
cd "$INSTALL_PATH" && mv "gradle-2.9" "gradle" | |
fi | |
cd "$INSTALL_PATH" && chown root:root "android-sdk" -R | |
cd "$INSTALL_PATH" && chmod 777 "android-sdk" -R | |
cd ~/ | |
# Add Android and NPM paths to the profile to preserve settings on boot | |
echo "export PATH=\$PATH:$ANDROID_SDK_PATH/tools" >> ".profile" | |
echo "export PATH=\$PATH:$ANDROID_SDK_PATH/platform-tools" >> ".profile" | |
echo "export PATH=\$PATH:$NODE_PATH/bin" >> ".profile" | |
echo "export PATH=\$PATH:$GRADLE_PATH/bin" >> ".profile" | |
# Add Android and NPM paths to the temporary user path to complete installation | |
export PATH=$PATH:$ANDROID_SDK_PATH/tools | |
export PATH=$PATH:$ANDROID_SDK_PATH/platform-tools | |
export PATH=$PATH:$NODE_PATH/bin | |
export PATH=$PATH:$GRADLE_PATH/bin | |
# Install JDK and Apache Ant | |
apt-get -qq -y install default-jdk ant | |
# Set JAVA_HOME based on the default OpenJDK installed | |
export JAVA_HOME="$(find /usr -type l -name 'default-java')" | |
if [ "$JAVA_HOME" != "" ]; then | |
echo "export JAVA_HOME=$JAVA_HOME" >> ".profile" | |
fi | |
# Install Apache Cordova and Ionic Framework | |
npm install -g cordova | |
npm install -g ionic | |
cd "$INSTALL_PATH" && chmod 777 "node" -R | |
cd "$INSTALL_PATH" && chmod 777 "gradle" -R | |
# Clean up any files that were downloaded from the internet | |
cd ~/Desktop && rm "android-sdk.tgz" | |
cd ~/Desktop && rm "nodejs.tgz" | |
cd ~/Desktop && rm "gradle.zip" | |
echo "----------------------------------" | |
npm install -g nodemon | |
npm install -g mocha | |
npm install -g gulp | |
#install brew | |
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Linuxbrew/install/master/install)" | |
sudo apt-get install build-essential curl git python-setuptools ruby | |
export PATH="$HOME/.linuxbrew/bin:$PATH" | |
export MANPATH="$HOME/.linuxbrew/share/man:$MANPATH" | |
export INFOPATH="$HOME/.linuxbrew/share/info:$INFOPATH" | |
echo "Restart your Ubuntu session for installation to complete..." |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment