The upgrade process is now ready for release. Let me state that this has
only been tested on a fresh install of Linux Lite 2.0, not on an existing machine.
Disclaimer:
This is provided as beta quality. The upgrader backs up any files that it changes so things can be restored if needed. If you have more than 1 LL 2.0 machine, do this on one to start with and assess the results. You should also do a full system back up before proceeding. Systemback or Timeshift as have been previously discussed in these Forums is advised.
There are 2 files.
lite-upgrade, this is run first and upgrades your system files to Linux Lite 2.2 and
home-upgrade, this updates your home folder as well.
Let's go.
1.) Open a terminal and do:
Code:
touch home-upgrade lite-upgrade
2.) Open home-upgrade with your text editor and fill with the following contents:
Code:
#!/bin/bash
#----------------------------------------------------------------
# Description: Linux Lite Upgrade Script
# Authors: Misko_2083, Jerry Bezencon 2015
# Website: https://www.freecinema2022.gq
#----------------------------------------------------------------
# Ensure multi-language support
export LANG=C
# Linux Lite default dialog icon
ic="/usr/share/icons/zenity-llcc.png"
# First dialogue box
zenity --question --title="Linux Lite Upgrade Utility" --window-icon="/usr/share/icons/zenity-llcc.png" --text="We will now complete the Upgrade to Linux Lite 2.2\n\nPlease ensure ALL applications are closed.\n\nClick Yes to continue or No to abort."
if [ "$?" -eq "0" ];then
# Create Backup folders first
mkdir -p /home/$USER/.llupgradebackup/2.0-2.2
mkdir -p /etc/skel/.llupgradebackup/2.0-2.2
# Copy all original files from /home/user and /etc/skel to their respective backup folders and versions
# Backup /home/$USER/ first
cp /home/$USER/.config/xfce4/panel/whiskermenu-1.rc /home/$USER/.llupgradebackup/2.0-2.2
cp /home/$USER/.local/share/applications/exo-terminal-emulator.desktop /home/$USER/.llupgradebackup/2.0-2.2
cp /home/$USER/.local/share/applications/alacarte-made-2.desktop /home/$USER/.llupgradebackup/2.0-2.2
cp /home/$USER/.local/share/applications/alacarte-made-4.desktop /home/$USER/.llupgradebackup/2.0-2.2
cp /home/$USER/.local/share/applications/alacarte-made-5.desktop /home/$USER/.llupgradebackup/2.0-2.2
cp /home/$USER/.local/share/applications/alacarte-made-6.desktop /home/$USER/.llupgradebackup/2.0-2.2
cp /home/$USER/.local/share/applications/alacarte-made-7.desktop /home/$USER/.llupgradebackup/2.0-2.2
cp /home/$USER/.config/Thunar/uca.xml /home/$USER/.llupgradebackup/2.0-2.2
# Then backup /etc/skel/
cp /etc/skel/.config/xfce4/panel/whiskermenu-1.rc /etc/skel/.llupgradebackup/2.0-2.2
cp /etc/skel/.local/share/applications/exo-terminal-emulator.desktop /etc/skel/.llupgradebackup/2.0-2.2
cp /etc/skel/.local/share/applications/alacarte-made-2.desktop /etc/skel/.llupgradebackup/2.0-2.2
cp /etc/skel/.local/share/applications/alacarte-made-4.desktop /etc/skel/.llupgradebackup/2.0-2.2
cp /etc/skel/.local/share/applications/alacarte-made-5.desktop /etc/skel/.llupgradebackup/2.0-2.2
cp /etc/skel/.local/share/applications/alacarte-made-6.desktop /etc/skel/.llupgradebackup/2.0-2.2
cp /etc/skel/.local/share/applications/alacarte-made-7.desktop /etc/skel/.llupgradebackup/2.0-2.2
cp /etc/skel/.config/Thunar/uca.xml /etc/skel/.llupgradebackup/2.0-2.2
# Set lite-welcome to autostart on first boot
ln -s /usr/share/applications/lite_welcome.desktop /home/$USER/.config/autostart
# Whisker Menu - changes /home/$USER/.config/xfce4/panel/whiskermenu-1.rc
sed -i "s/command-lockscreen=xflock4/command-lockscreen=light-locker-command -l/g" /home/$USER/.config/xfce4/panel/whiskermenu-1.rc
dbus-send --print-reply --dest=org.xfce.Panel /org/xfce/Panel org.xfce.Panel.Terminate boolean:true
cp /home/$USER/.config/xfce4/panel/whiskermenu-1.rc /etc/skel/.config/xfce4/panel/
# Change launchers from xdg-open to exo-open - to do (path is /home/$USER/.local/share/applications/)
# In 32bit version, file are: exo-terminal-emulator.desktop, alacarte-made-2.desktop, alacarte-made-4.desktop, alacarte-made-5.desktop, alacarte-made-6.desktop
# In 64bit version, file are: exo-terminal-emulator.desktop, Thunar.desktop, alacarte-made-2.desktop
sed -i "s/Exec=xdg-open/Exec=exo-open/g" /home/$USER/.local/share/applications/exo-terminal-emulator.desktop
sed -i "s/Exec=xdg-open/Exec=exo-open/g" /home/$USER/.local/share/applications/alacarte-made-2.desktop
sed -i "s/Exec=xdg-open/Exec=exo-open/g" /home/$USER/.local/share/applications/alacarte-made-4.desktop
sed -i "s/Exec=xdg-open/Exec=exo-open/g" /home/$USER/.local/share/applications/alacarte-made-5.desktop
sed -i "s/Exec=xdg-open/Exec=exo-open/g" /home/$USER/.local/share/applications/alacarte-made-6.desktop
cp /home/$USER/.local/share/applications/exo-terminal-emulator.desktop /etc/skel/.local/share/applications/
cp /home/$USER/.local/share/applications/alacarte-made-2.desktop /etc/skel/.local/share/applications/
cp /home/$USER/.local/share/applications/alacarte-made-4.desktop /etc/skel/.local/share/applications/
cp /home/$USER/.local/share/applications/alacarte-made-5.desktop /etc/skel/.local/share/applications/
cp /home/$USER/.local/share/applications/alacarte-made-6.desktop /etc/skel/.local/share/applications/
# Implement new Create System Report changes - to do (path is /home/$USER/.local/share/applications/)
# In 32bit version, file is: alacarte-made-7.desktop
# In 64bit version, file is: alacarte-made-8.desktop
# Change - Exec=x-terminal-emulator --geometry=95x25 -t "Create System Report" -e /usr/scripts/info ##to## Exec=gksudo /usr/scripts/systemreport
mv /home/$USER/.local/share/applications/alacarte-made-7.desktop /home/$USER/.local/share/applications/alacarte-made-7.desktop.backup
touch /home/$USER/.local/share/applications/alacarte-made-7.desktop
echo "[Desktop Entry]" > /home/$USER/.local/share/applications/alacarte-made-7.desktop
echo "Comment=Create a detailed System Report of your computer" >> /home/$USER/.local/share/applications/alacarte-made-7.desktop
echo "Terminal=false" >> /home/$USER/.local/share/applications/alacarte-made-7.desktop
echo "Name=Create System Report" >> /home/$USER/.local/share/applications/alacarte-made-7.desktop
echo "Exec=gksudo /usr/scripts/systemreport" >> /home/$USER/.local/share/applications/alacarte-made-7.desktop
echo "Type=Application" >> /home/$USER/.local/share/applications/alacarte-made-7.desktop
echo "Icon=evolution-tasks" >> /home/$USER/.local/share/applications/alacarte-made-7.desktop
cp /home/$USER/.local/share/applications/alacarte-made-7.desktop /etc/skel/.local/share/applications/
# Add new right click actions to Thunar - to do (path is /home/$USER/.config/Thunar/uca.xml)
sed -i '$ d' /home/$USER/.config/Thunar/uca.xml
echo '<action>' >> /home/$USER/.config/Thunar/uca.xml
echo ' <icon>media-optical</icon>' >> /home/$USER/.config/Thunar/uca.xml
echo ' <name>Check MD5SUM</name>' >> /home/$USER/.config/Thunar/uca.xml
echo ' <unique-id>1422219337486382-1</unique-id>' >> /home/$USER/.config/Thunar/uca.xml
echo ' <command>zenity --info --title="Check MD5 for %n" --text="$(md5sum %f)"</command>' >> /home/$USER/.config/Thunar/uca.xml
echo ' <description>Checks the MD5SUM of an image file</description>' >> /home/$USER/.config/Thunar/uca.xml
echo ' <patterns>*.iso;*.ISO;*.img;*.IMG</patterns>' >> /home/$USER/.config/Thunar/uca.xml
echo ' <audio-files/>' >> /home/$USER/.config/Thunar/uca.xml
echo ' <image-files/>' >> /home/$USER/.config/Thunar/uca.xml
echo ' <other-files/>' >> /home/$USER/.config/Thunar/uca.xml
echo ' <text-files/>' >> /home/$USER/.config/Thunar/uca.xml
echo ' <video-files/>' >> /home/$USER/.config/Thunar/uca.xml
echo '</action>' >> /home/$USER/.config/Thunar/uca.xml
echo '</actions>' >> /home/$USER/.config/Thunar/uca.xml
cp /home/$USER/.config/Thunar/uca.xml /etc/skel/.config/Thunar/
thunar -q
# Clean up
rm -rf /home/$USER/.local/share/applications/xarchiver.desktop
rm -rf /etc/skel/.local/share/applications/xarchiver.desktop | zenity --progress --title="Upgrade test..." --window-icon="/usr/share/icons/zenity-llcc.png" --text="Please wait whilst the upgrade completes..." --pulsate --width=400 --auto-close --auto-kill
if [ "${PIPESTATUS[0]}" -ne "0" ]; then
zenity --error \
--title="Error" --text="Upgrades could not be installed."
exit 0
fi
else
exit 0
fi
# Ask to view upgrade log - TO DO
# example of log inclusion - x=$( stdbuf -oL /bin/bash \-c '(sudo DEBIAN_FRONTEND=noninteractive apt-get upgrade \-y )' 2>&1 | tee /var/log/llupdates.log |
# PROCEED=$(zenity --question --title="$APPNAME Updates" --window-icon=/usr/share/icons/zenity-llcc.png --text="Updates have finished installing.\n\nWould you like to view the $APPNAME Updates log?"; echo $?)
# if [ ${PROCEED} -eq 1 ]; then
# zenity --info --title="$APPNAME Updates" --window-icon="${INSTALL_ICON}" --text="$APPNAME Updates Complete."
# exit;
# else
# zenity --text-info --ok-label="Quit" --cancel-label="Cancel" --title="Updates Log" --width=700 --height=300 --filename="/var/log/llupdates.log"
# fi
# exit 0
# End dialogue
PROCEED=$(zenity --info --title="Upgrade Complete" --window-icon=/usr/share/icons/zenity-llcc.png --text="The upgrade has finished.\nYou can start using your computer straight away."; echo $?)
if [ ${PROCEED} -eq 1 ]; then
zenity --info --title="Upgrade Complete" --window-icon="${INSTALL_ICON}" --text="The upgrade has finished.\nYou can start using your computer straight away"
exit;
else
lite-welcome
fi
exit 0
Save and close. Then right click on the file and select 'Make file executable'
3.) Open lite-upgrade with your text editor and fill with the following contents:
Code:
#!/bin/bash
#----------------------------------------------------------------
# Description: Linux Lite Upgrade Script
# Authors: Misko_2083, Jerry Bezencon 2015
# Website: https://www.freecinema2022.gq
#----------------------------------------------------------------
# Ensure multi-language support
export LANG=C
# Kill off any package managers that may be running
if [ "$(pidof synaptic)" ]
then
sudo killall -9 synaptic
else
echo""
fi
if [ -z "$(pgrep gdebi-gtk)" ]
then
echo ""
else
killall -9 gdebi-gtk
fi
# Linux Lite default dialog icon
ic="/usr/share/icons/zenity-llcc.png"
# Get list of available updated packages
zenity --question --title="Linux Lite Upgrade Utility" --window-icon="/usr/share/icons/zenity-llcc.png" --text="We will now Upgrade your system to Linux Lite 2.2\n\nPlease ensure you are connected to the internet before you start.\n\nAt the end of this upgrade, please reboot and complete the upgrade process.\n\nClick Yes to continue or No to abort."
if [ "$?" -eq "0" ];then
x=$( stdbuf -oL /bin/bash \-c '(sudo apt-get update \-y )' 2>&1 |
stdbuf -oL sed -n -e '/\[*$/ s/^/# /p' -e '/\*$/ s/^/# /p'|
zenity --progress --title="Updating package information..." --pulsate \
--width=600 --auto-close )
# Erase existing available info
sudo dpkg --clear-avail
else
exit 0
fi
# Create /etc/apt/apt.conf.d/local to leave /etc/issue and /etc/lsb-release defaults (only needed in LL 2.2)
x=$( stdbuf -oL /bin/bash \-c '(cd /tmp && wget http://repo.linuxliteos.com/upgrade/local && sudo mv local /etc/apt/apt.conf.d/ && sudo chown root:root /etc/apt/apt.conf.d/local && sleep 2 )' 2>&1 |
stdbuf -oL sed -n -e '/\[*$/ s/^/# /p' -e '/\*$/ s/^/# /p'|
zenity --progress --title="Automating default configuration..." --pulsate \
--width=600 --auto-close )
# Install new packages, remove obsolete packages, clean up
x=$( stdbuf -oL /bin/bash \-c '(sudo DEBIAN_FRONTEND=noninteractive apt-get upgrade \-y && sudo apt-get install inxi libreoffice-gnome dmz-cursor-theme file-roller lite-welcome lite-cleaner catfish deja-dup system-config-date light-locker thunar-archive-plugin whiskermenu \-y && sudo apt-get update \-y && sudo apt-get remove xarchiver \-y && sudo apt-get autoremove \-y && sudo apt-get clean )' 2>&1 |
stdbuf -oL sed -n -e '/\[*$/ s/^/# /p' -e '/\*$/ s/^/# /p'|
zenity --progress --title="Upgrading to Linux Lite 2.2..." --pulsate \
--width=600 --auto-close )
# Add new wallpapers
x=$( stdbuf -oL /bin/bash \-c '(cd /tmp && wget http://repo.linuxliteos.com/upgrade/2.0-2.2/walls-2.2.tar.gz && sudo tar -xvf walls-2.2.tar.gz -C /usr/share/backgrounds/xfce/ && cd /usr/share/backgrounds/xfce/ && sudo chown root:root *.jpg && sudo chown root:root *.png && sleep 2 )' 2>&1 |
stdbuf -oL sed -n -e '/\[*$/ s/^/# /p' -e '/\*$/ s/^/# /p'|
zenity --progress --title="Adding new wallapapers..." --pulsate \
--width=600 --auto-close )
# Update plymouth, lsb_release and issue files /etc changes
x=$( stdbuf -oL /bin/bash \-c '(sudo sed -i "s/Linux Lite 2.0/Linux Lite 2.2/g" /etc/llver && sudo sed -i "s/Linux Lite 2.0/Linux Lite 2.2/g" /etc/lsb-release && sudo sed -i "s/Linux Lite 2.0/Linux Lite 2.2/g" /etc/issue && sleep 2 )' 2>&1 |
stdbuf -oL sed -n -e '/\[*$/ s/^/# /p' -e '/\*$/ s/^/# /p'|
zenity --progress --title="Updating version information..." --pulsate \
--width=600 --auto-close )
# /lib/plymouth/themes/ubuntu-text/ changes
x=$( stdbuf -oL /bin/bash \-c '(sudo sed -i "s/Ubuntu 14.04/Linux Lite 2.2/g" /lib/plymouth/themes/ubuntu-text/ubuntu-text.plymouth && sudo sed -i "s/black=0x2c001e/black=0x000000/g" /lib/plymouth/themes/ubuntu-text/ubuntu-text.plymouth && sudo sed -i "s/white=0xffffff/white=0xffffff/g" /lib/plymouth/themes/ubuntu-text/ubuntu-text.plymouth && sudo sed -i "s/brown=0xff4012/brown=0xffff00/g" /lib/plymouth/themes/ubuntu-text/ubuntu-text.plymouth && sudo sed -i "s/blue=0x988592/blue=0x000000/g" /lib/plymouth/themes/ubuntu-text/ubuntu-text.plymouth && sudo update-initramfs -u )' 2>&1 |
stdbuf -oL sed -n -e '/\[*$/ s/^/# /p' -e '/\*$/ s/^/# /p'|
zenity --progress --title="Updating boot configuration please wait..." --pulsate \
--width=600 --auto-close )
# Update to new login screen
x=$( stdbuf -oL /bin/bash \-c '(cd /tmp && wget https://github.com/linuxlite/litelogin/archive/master.zip && unzip master.zip && sudo cp /tmp/litelogin-master/usr/share/lightdm-webkit/themes/linuxlite/index.theme /usr/share/lightdm-webkit/themes/linuxlite && sudo cp /tmp/litelogin-master/usr/share/lightdm-webkit/themes/linuxlite/index.html /usr/share/lightdm-webkit/themes/linuxlite && sudo cp /tmp/litelogin-master/usr/share/lightdm-webkit/themes/linuxlite/low_contrast_linen.png /usr/share/lightdm-webkit/themes/linuxlite && sudo cp /tmp/litelogin-master/usr/share/lightdm-webkit/themes/linuxlite/style.css /usr/share/lightdm-webkit/themes/linuxlite && sudo rm -rf master.zip && sudo rm -rf litelogin-master/ && sleep 2 )' 2>&1 |
stdbuf -oL sed -n -e '/\[*$/ s/^/# /p' -e '/\*$/ s/^/# /p'|
zenity --progress --title="Updating to new login theme..." --pulsate \
--width=600 --auto-close )
# Ask to view upgrade log - TO DO
# example of log inclusion - x=$( stdbuf -oL /bin/bash \-c '(sudo DEBIAN_FRONTEND=noninteractive apt-get upgrade \-y )' 2>&1 | tee /var/log/llupdates.log |
# PROCEED=$(zenity --question --title="$APPNAME Updates" --window-icon=/usr/share/icons/zenity-llcc.png --text="Updates have finished installing.\n\nWould you like to view the $APPNAME Updates log?"; echo $?)
# if [ ${PROCEED} -eq 1 ]; then
# zenity --info --title="$APPNAME Updates" --window-icon="${INSTALL_ICON}" --text="$APPNAME Updates Complete."
# exit;
# else
# zenity --text-info --ok-label="Quit" --cancel-label="Cancel" --title="Updates Log" --width=700 --height=300 --filename="/var/log/llupdates.log"
# fi
# exit 0
# Reboot dialogue
# Credit to xunil: http://bbs.archbang.org/viewtopic.php?id=279
title="Select Reboot to complete the System Upgrade"
exit_type=`zenity --width="400" --height="220" --title="$title" --list --radiolist --column="Select" \
--column="Exit Type" --column="Description" \
TRUE "Reboot" "Reboot your computer"\
FALSE "Shutdown" "Shutdown your computer"\
FALSE "Cancel" "Continue using your computer" `
# User must select a target type (Check if they cancelled)
if [ ! "$exit_type" ]; then
zenity --error --title="Error" --text="You must make a selection"
exit
fi
# Action to perform by user
if [ "$exit_type" = "Reboot" ]
then
# Do Reboot here
sudo shutdown -r now | zenity --progress --percentage=95 --title=Reboot --auto-close --auto-kill --no-cancel --width=300
elif [ "$exit_type" = "Shutdown" ]
then
# Do Shutdown here
sudo shutdown -h now | zenity --progress --percentage=95 --title=Shutdown --auto-close --auto-kill --no-cancel --width=300
else
# Do Cancel here
exit 0
fi
Save and close.
4.) With your terminal still open do:
Code:
sudo cp lite-upgrade /usr/bin && sudo chmod +x /usr/bin/lite-upgrade
5.) Click on
Menu, in the run box type in:
gksudo lite-upgrade and follow the onscreen instructions.
When that process is complete and you have rebooted, go to your home folder and double click on
home-upgrade to complete the upgrade.
If there is more than one user on your computer, you need to run the
home-upgrade installer for each user. No need to run
lite-upgrade for each user.
Looking forward to see how this goes.