Making an installer/updater for Filezilla on Ubuntu Linux3 min read

In

I use Filezilla extensively. I have been using it since almost the first version. It’s really simple. Plus, 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://dl1.cdn.filezilla-project.org/client/FileZilla_3.52.2_x86_64-linux-gnu.tar.bz2?h=DFoebf-Nv20UnqZoxcYomg&x=1612947940"

#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

#Copy the filezilla.desktop file to /usr/share/applications/ to enbale you to bookmark filezilla (add it to Ubuntu dock)
sudo cp /opt/FileZilla3/share/applications/filezilla.desktop /usr/share/applications/

#Make the filezilla.desktop executable
sudo chmod +x /usr/share/applications/filezilla.desktop


#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

Update 11/02/2021
The installer copies the filezilla.desktop file to /usr/share/applications/ to enable the user to add Filezilla icon to the Ubuntu dock panel.

One response

  1. […] Almost five years ago, I wrote this blog post Making an installer/updater for Filezilla on Ubuntu Linux […]

Leave a Reply

Your email address will not be published. Required fields are marked *

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

Peshmerge.io-logo
Privacy Overview

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.