Skip to content

Instantly share code, notes, and snippets.

@lmgeorge
Last active August 29, 2015 14:24
Show Gist options
  • Save lmgeorge/1e408fddee4c146bd05e to your computer and use it in GitHub Desktop.
Save lmgeorge/1e408fddee4c146bd05e to your computer and use it in GitHub Desktop.
#!/usr/bin/env bash
apt_update () {
sudo apt-get --yes update
}
apt_install () {
sudo apt-get --yes install $*
}
add_repo () {
sudo add-apt-repository $1
}
pkg_config () {
sudo dpkg --configure -a
}
cleanup(){
sudo apt-get autoremove -y # remove obsolete packages
}
install_java8 () {
# Install Oracle Java 8
add_repo ppa:webupd8team/java
apt_update
debconf-set-selections <<< 'oracle-java8-installer shared/accepted-oracle-license-v1-1 select true'
apt_install oracle-java8-installer oracle-java8-set-default
export JAVA_HOME="/usr/lib/jvm/java-8-oracle/"
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=$CLASSPATH:$JAVA_HOME/bin
export PATH=$PATH:$JAVA_HOME/bin
java -version
}
install_maven () {
local mvn_version="3.3.3"
echo "Installing Maven ${mvn_version}"
local mvn_file="apache-maven-${mvn_version}"
local mvn_tarball="$mvn_file-bin.tar.gz"
local mvn_link="http://www.carfab.com/apachesoftware/maven/maven-3/${mvn_version}/binaries/${mvn_tarball}"
sudo apt-get purge maven maven2 maven3
wget -nv --no-check-certificate $mvn_link
tar -zxf $mvn_tarball
sudo mv $mvn_file /usr/local/maven
sudo ln -s /usr/local/maven/bin/mvn /usr/bin/mvn
sudo ln -s /usr/local/maven/bin/mvnDebug /usr/bin/mvnDebug
export M2_HOME="/usr/local/maven"
mvn -version
}
config_oracle11g (){
local chkconfig =/sbin/chkconfig
local initfile=/etc/init.d/oracle-xe
local conffile=/etc/systctl.d/60-oracle.conf
sudo touch $chkconfig
if [[ ! `tail -n1 $initfile | grep INIT` ]]; then
echo >> $initfile
echo '### BEGIN INIT INFO' >> $initfile
echo '# Provides: OracleXE' >> $initfile
echo '# Required-Start: $remote_fs $syslog' >> $initfile
echo '# Required-Stop: $remote_fs $syslog' >> $initfile
echo '# Default-Start: 2 3 4 5' >> $initfile
echo '# Default-Stop: 0 1 6' >> $initfile
echo '# Short-Description: Oracle 11g Express Edition' >> $initfile
echo '### END INIT INFO' >> $initfile
fi
update-rc.d oracle-xe defaults 80 01
sudo chmod 755 $chkconfig
sudo touch $conffile
echo '# Oracle 11g XE kernel parameters' >> $conffile
echo 'fs.file-max=6815744' >> $conffile
echo 'net.ipv4.ip_local_port_range=9000 65000' >> $conffile
echo 'kernel.sem=250 32000 100 128' >> $conffile
echo 'kernel.shmmax=536870912' >> $conffile
sudo service procps start
sudo sysctl -q fs.file-max #test that the conf file loaded properly
sudo ln -s /usr/bin/awk /bin/awk
mkdir /var/lock/subsys
touch /var/lock/subsys/listener
}
install_oracle_11g() {
local version="11g"
local oldpkg = "oracle-xe-11.2.0-1.0.x86_64"
local newpkg = "oracle-xe-11.2.0-2_amd64"
local download_link = "http://download.oracle.com/otn/linux/oracle11g/xe/oracle-xe-11.2.0-1.0.x86_64.rpm.zip"
local g_bashrc = /etc/bash.bashrc
apt_install alien libaio1 unixodbc
wget --no-cookies --no-check-certificate \
--header "Cookie: oraclelicense=accept-securebackup-cookie" $download_link -O "${oldpkg}.rpm.zip"
unzip $oldpkg
cd Disk1
sudo alien --scripts -d ${oldpkg}.rpm
sudo dpkg --install ${newpkg}.deb
sudo rm -rf /dev/shm
sudo mkdir /dev/shm
sudo mount -t tmpfs shmfs -o size=4096m /dev/shm
sudo touch /etc/rc2.d/S01shm_load
case "$1" in
start) sudo mkdir /var/lock/subsys 2>/dev/null
touch /var/lock/subsys/listener
rm /dev/shm 2>/dev/null
mkdir /dev/shm 2>/dev/null
mount -t tmpfs shmfs -o size=4096m /dev/shm ;;
*) echo error
exit 1 ;;
esac
sudo chmod 755 /etc/rc2.d/S01shm_load
sudo /etc/init.d/oracle-xe configure
echo "export ORACLE_HOME=/u01/app/oracle/product/11.2.0/xe" >> $g_bashrc
echo "export ORACLE_SID=XE" >> $g_bashrc
echo "export NLS_LANG=`$ORACLE_HOME/bin/nls_lang.sh`" >> $g_bashrc
echo "export ORACLE_BASE=/u01/app/oracle" >> $g_bashrc
echo "export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH" >> $g_bashrc
echo "export PATH=$ORACLE_HOME/bin:$PATH" >> $g_bashrc
source $g_bashrc
echo $ORACLE_HOME # => /u01/app/oracle/product/11.2.0/xe
echo "Start Oracle Express using \"sudo service oracle-xe start\""
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment