| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117 |
- #! /bin/bash
- # - Take new tar file as argument DONE
- # - Verify argument is valid DONE
- # - Verify script is running as sudo DONE
- # - Move existing firefox to firefox.OLD DONE
- # - create directory for new installation DONE
- # - unpack tar file to new location DONE
- # - Optional, verify desktop file extsts
- helpFunction()
- {
- echo " "
- echo "Provides convenient means to install a new Firefox tar file."
- echo "Pass new tar file as argument and this script will handle backing up the current installation and unpacking the new installation."
- echo "This script will prompt before deleting a previous archive."
- echo "Must run with root privileges."
- echo " "
- echo "Usage: $0 [filename]"
- echo " "
- }
- ## Take input and verify file and root user##
- filename=$1
- if [ "$filename" = "-h" ] || [ "$filename" = "--help" ]; then
- helpFunction
- exit 0
- fi
- if ! [ -f "$filename" ]; then
- echo "$1 not found."
- helpFunction
- exit 1
- fi
- if [ -z "$filename" ]
- then
- echo " "
- echo "No filename given. Aborting."
- helpFunction
- exit 1
- fi
- if [ "$USER" != "root" ]; then
- echo "Must be running as root to install new software. Use sudo or root user"
- helpFunction
- exit 1
- fi
- echo "$1 file found"
- ## Move existing folder to .OLD and delete existing .OLD if needed ##
- echo "Checking for old installations"
- if [ -d "/opt/firefox.OLD" ]; then
- read -p "firefox.OLD already exists? Should I delete it? ENTER to continue or CTRL+C to abort." input
- fi
- echo "Deleting existing firefox.OLD folder"
- rm -rf /opt/firefox.OLD
- echo "Moving Existing firefox to firefox.OLD"
- mv /opt/firefox /opt/firefox.OLD
- echo "Making new firefox directory"
- mkdir /opt/firefox
- echo "unpacking "$filename" to /opt/firefox"
- ## Check file type and unpack accordingly ##
- if [[ "$filename" == *.tar.xz ]]; then
- echo "Unpacking as tar.xf file"
- tar -xvf "$filename" -C "/opt/"
- elif [[ "$filename" == *.tar.bz2 ]]; then
- echo "Unpacking as tar.bz2 file"
- tar -xjvf "$filename" -C "/opt/"
- else
- echo "WARNING: Unknown Compression Type. Aborting."
- exit 1
- fi
- # ensure symlink is set
- ln -fs /opt/firefox/firefox /usr/local/bin/firefox
- echo "Symlink /usr/local/bin/firefox set."
- # ensure /opt permissions are set correctly
- chown mike:mike /opt/firefox
- echo "/opt/firefox permissions set"
- # ensure .desktop file is set
- if [ -f "firefox.desktop" ]; then
- echo "Setting .desktop file."
- ln -fs /home/mike/Software/firefox/firefox.desktop /usr/local/share/applications
- echo "Done."
- else
- echo ""
- echo "WARNING: firefox.desktop not found. Could not install desktop file."
- echo "Check for existence of firefox.desktop file in this folder."
- exit 1
- fi
|