Cogito ergo sum

Making an installer/updater for Filezilla on Ubuntu Linux

I use Filezilla extensively. I have been using it since almost the first version. It’s really simple. In addition, it’s an Open Source software 🙂
On my Linux machine (Ubuntu 16.04) I use always the latest version of it. I find it really important to keep the program up to date. I don’t use a PPA repository or the default version which can be found in Ubuntu Software Center, because it’s not the latest version. So every time when I get notified about an update, I download it from the official website, uncompress it, then install it. What I mean by installing it, is copy the downloaded files to the /opt/filezilla3  directory and replacing the older files with the newer ones.

This process is really time consuming. It’s sometimes annoying, because you have to repeat all this steps. So I was thinking about making an installer/updater for Filezilla. The script should be able to do the following:

  1. Download the latest version of Filezilla
  2. Uncopmress the downloaded files
  3. Copy the files to the right directory, most of time /opt/filezilla
  4. Verify that the symlink is correctly created which enables the user to run filezilla from the command-line by typing filezilla

Here is the shell script which performs the mentioned steps above , except the the first step. The latest version of FileZilla (FileZilla 3.28.0) doesn’t run correctly on my Ubuntu 16.04. In addition, I have to find a way to get the latest version without hardcoding it in the script (I have to find a creative way to do it).

#Download using wget
wget -O filezilla "https://sourceforge.net/projects/filezilla/files/FileZilla_Client/3.27.1/FileZilla_3.27.1_x86_64-linux-gnu.tar.bz2"

#Uncompress the file 
tar xvf filezilla

#Check if the dir already exists
if [ -d "/opt/FileZilla3" ]
 then
 sudo rm -r /opt/FileZilla3
 fi
#Move the dir to /opt/
sudo mv -v FileZilla3/ /opt/

#Check if the symlink already exists
if [ -e /usr/local/bin/filezilla ]
 then
 sudo rm /usr/local/bin/filezilla
 fi

#Create a new symlink 
sudo ln -s /opt/FileZilla3/bin/filezilla /usr/local/bin/filezilla

#Remove the downloaded file from 
sudo rm -r filezilla*

echo "Finished installing"

#Run Filezilla
filezilla &

#This should be done, because somehow the the original tar file is still present in the dir
sudo rm -r Filezilla*

This code download the 3.27.1 of Filezilla. If you want to download the latest version you have to replace the url in this line wget -O filezilla “https://sourceforge.net/projects/filezilla/files/FileZilla_Client/3.27.1/FileZilla_3.27.1_x86_64-linux-gnu.tar.bz2”
You can check this link for the latest version of Filezilla which is hosted on Sourceforge.net
https://sourceforge.net/projects/filezilla/files/FileZilla_Client/

Update 22/10/2017

I think I will make my own PPA for Filezilla for this purpose.

Update 21/04/2018
If you get an error like:
filezilla: error while loading shared libraries: libpng16.so.16: cannot open shared object file: No such file or directory
Then you have to run the following command: sudo apt-get install libpng16-16

About the author

Peshmerge Morad

A IT-student and a programmer based in the Netherlands whose interests span multiple fields.

Add comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.

By Peshmerge Morad
Cogito ergo sum