Created
September 8, 2013 14:13
-
-
Save clobrano/6485001 to your computer and use it in GitHub Desktop.
Post installer script for Fedora 19
This file contains hidden or 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 | |
| # Post installer scritp for Fedora 19 | |
| # author: Carlo Lobrano | |
| # e-mail: c.lobrano@gmail.com | |
| # blog: www.bytefalls.com | |
| ################################ | |
| ## Base functions | |
| ################################ | |
| log() | |
| { | |
| echo "[+]" $1 | |
| } | |
| logImportant() | |
| { | |
| log "-----------------------------------------" | |
| log "$1" | |
| log "-----------------------------------------" | |
| } | |
| myselect() | |
| { | |
| select choice in "yes" "no" "exit"; do | |
| case $choice in | |
| "yes") | |
| $1 $2 | |
| break | |
| ;; | |
| "no") | |
| break | |
| ;; | |
| "exit") | |
| exit | |
| ;; | |
| *) | |
| log "Bad reply. Please answer yes/no" | |
| ;; | |
| esac | |
| done | |
| } | |
| isSystem64() | |
| { | |
| case `uname -m` in | |
| "x86_64") | |
| SYSTEM64=1 | |
| ;; | |
| *) | |
| SYSTEM64=0 | |
| ;; | |
| esac | |
| } | |
| detectDE() | |
| { | |
| if [ x"$KDE_FULL_SESSION" = x"true" ]; then DE=kde; | |
| elif [ x"$GNOME_DESKTOP_SESSION_ID" != x"" ]; then DE=gnome; | |
| elif xprop -root _DT_SAVE_MODE | grep ' = \"xfce4\"$' >/dev/null 2>&1; then DE=xfce; | |
| fi | |
| } | |
| ########################### | |
| ## INSTALLERS | |
| ########################### | |
| logImportant "Just few questions to speed up the install process" | |
| logImportant "Do you want to update the system now?" | |
| updateFedora() | |
| { | |
| case $1 in | |
| "install") | |
| log "Updating Fedora" | |
| echo sudo yum -y update | |
| ;; | |
| "set") | |
| log "The system will be updated" | |
| UPDATE_FEDORA="install" | |
| ;; | |
| *) | |
| UPDATE_FEDORA="not install" | |
| ;; | |
| esac | |
| } | |
| myselect updateFedora "set" | |
| log "" | |
| logImportant "Add RPMFusion repository (multimedia codecs)." | |
| logImportant "Install RPMFusion free?" | |
| addRPMFusionFree() | |
| { | |
| case $1 in | |
| "install") | |
| log "RPMFusion Free" | |
| sudo yum localinstall --nogpgcheck http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-19.noarch.rpm | |
| ;; | |
| "set") | |
| log "Set RPMFusion free to be installed" | |
| RPM_FUSION_FREE="install" | |
| ;; | |
| *) | |
| RPM_FUSION_FREE="not install" | |
| ;; | |
| esac | |
| } | |
| myselect addRPMFusionFree "set" | |
| log "" | |
| logImportant "Install RPMFusion non-free?" | |
| addRPMFusionNonFree() | |
| { | |
| case $1 in | |
| "install") | |
| log "RPMFusion Non-Free" | |
| sudo yum localinstall --nogpgcheck http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-19.noarch.rpm | |
| ;; | |
| "set") | |
| log "Set RPMFusion free to be installed" | |
| RPM_FUSION_NON_FREE="install" | |
| ;; | |
| *) | |
| RPM_FUSION_NON_FREE="not install" | |
| ;; | |
| esac | |
| } | |
| myselect addRPMFusionNonFree "set" | |
| log "" | |
| logImportant "Install DVD support?" | |
| installDVDSupport() | |
| { | |
| case $1 in | |
| "install") | |
| log "Installing dvd support" | |
| sudo yum localinstall --nogpgcheck http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-19.noarch.rpm | |
| ;; | |
| "set") | |
| log "DVD support to be installed" | |
| DVD_SUPPORT="install" | |
| ;; | |
| *) | |
| DVD_SUPPORT="not install" | |
| ;; | |
| esac | |
| } | |
| myselect installDVDSupport "set" | |
| log "" | |
| logImportant "Install Multimedia codecs? (You need RPMFusion support do do that)" | |
| installMultimediaCodecs() | |
| { | |
| case $1 in | |
| "install") | |
| log "Installing multimedia codecs" | |
| sudo yum localinstall --nogpgcheck http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-19.noarch.rpm | |
| ;; | |
| "set") | |
| log "DVD support to be installed" | |
| MULTIMEDIA_CODECS="install" | |
| ;; | |
| *) | |
| MULTIMEDIA_CODECS="not install" | |
| ;; | |
| esac | |
| } | |
| myselect installMultimediaCodecs "set" | |
| log "" | |
| logImportant "Install flash-support?" | |
| installFlash() | |
| { | |
| isSystem64 | |
| case $1 in | |
| "install") | |
| if [ $SYSTEM_64 -eq 0 ]; then | |
| log "Installing flash for 32bit" | |
| sudo yum -y localinstall http://linuxdownload.adobe.com/adobe-release/adobe-release-i386-1.0-1.noarch.rpm | |
| else | |
| log "Installing flash for 64bit" | |
| sudo yum -y localinstall http://linuxdownload.adobe.com/adobe-release/adobe-release-x86_64-1.0-1.noarch.rpm | |
| fi | |
| sudo yum -y install flash-plugin | |
| ;; | |
| "set") | |
| log "Flash support to be installed (64bit is " $SYSTEM64 ")" | |
| MULTIMEDIA_CODECS="install" | |
| ;; | |
| *) | |
| MULTIMEDIA_CODECS="not install" | |
| ;; | |
| esac | |
| } | |
| myselect installFlash "set" | |
| log "" | |
| detectDE | |
| if [ $DE=="gnome" ]; then | |
| logImportant "Install gnome-tweak-tools?" | |
| installGnomeTweakTools() | |
| { | |
| case $1 in | |
| "install") | |
| log "Installing gnome-tweak-tools" | |
| sudo yum -y install gnome-tweak-tool | |
| ;; | |
| "set") | |
| log "Gnome-tweak-tool to be installed" | |
| GNOME_TWEAK_TOOL="install" | |
| ;; | |
| *) | |
| GNOME_TWEAK_TOOL="not install" | |
| ;; | |
| esac | |
| } | |
| myselect installGnomeTweakTools "set" | |
| log "" | |
| fi | |
| logImportant "Install Chrome browser?" | |
| installChrome() | |
| { | |
| isSystem64 | |
| case $1 in | |
| "install") | |
| if [ $SYSTEM64 -eq 1 ]; then | |
| log "Installing chrome browser 64" | |
| sudo yum -y localinstall https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm | |
| else | |
| log "Installing chrome browser 32" | |
| sudo yum -y localinstall https://dl.google.com/linux/direct/google-chrome-stable_current_i386.rpm | |
| fi | |
| ;; | |
| "set") | |
| log "chrome browser to be installed (64bit is " $SYSTEM64 ")" | |
| INSTALL_CHROME_BROWSER="install" | |
| ;; | |
| *) | |
| INSTALL_CHROME_BROWSER="not install" | |
| ;; | |
| esac | |
| } | |
| myselect installChrome "set" | |
| log "" | |
| logImportant "Install Dropbox?" | |
| installDropbox() | |
| { | |
| isSystem64 | |
| case $1 in | |
| "install") | |
| cwd=`pwd` | |
| if [ $SYSTEM64 -eq 1 ]; then | |
| log "Installing Dropbox 64bits" | |
| cd ~ && wget -O - "https://www.dropbox.com/download?plat=lnx.x86_64" | tar xzf - | |
| else | |
| log "Installing Drobpox 32bits" | |
| cd ~ && wget -O - "https://www.dropbox.com/download?plat=lnx.x86" | tar xzf - | |
| fi | |
| ~/.dropbox-dist/dropboxd | |
| cd $cwd | |
| ;; | |
| "set") | |
| log "Dropbox to be installed (64bit is " $SYSTEM64 ")" | |
| INSTALL_DROPBOX="install" | |
| ;; | |
| *) | |
| INSTALL_DROPBOX="not install" | |
| ;; | |
| esac | |
| } | |
| myselect installDropbox "set" | |
| log "" | |
| logImportant "Recap the choices" | |
| log "Update fedora: $UPDATE_FEDORA" | |
| log "RPM Fusion free: $RPM_FUSION_FREE" | |
| log "RPM Fusion non-free: $RPM_FUSION_NON_FREE" | |
| log "DVD Support: $DVD_SUPPORT" | |
| log "Multimedia Codecs: $MULTIMEDIA_CODECS" | |
| log "Flash Support: $FLASH_SUPPORT" | |
| log "Install chrome browser: $INSTALL_CHROME_BROWSER" | |
| log "Install Dropbox: $INSTALL_DROPBOX" | |
| logImportant "Continue with installation?" | |
| select choice in "yes" "no"; | |
| do | |
| case $choice in | |
| "no") | |
| exit | |
| ;; | |
| "yes") | |
| break | |
| ;; | |
| esac | |
| done | |
| logImportant "Start installing..." | |
| updateFedora $UPDATE_FEDORA | |
| addRPMFusionFree $RPM_FUSION_FREE | |
| addRPMFusionNonFree $RPM_FUSION_NON_FREE | |
| installDVDSupport $DVD_SUPPORT | |
| installMultimediaCodecs $MULTIMEDIA_CODECS | |
| installFlash $FLASH_SUPPORT | |
| installChrome $INSTALL_CHROME_BROWSER | |
| installDropbox $INSTALL_DROPBOX |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment