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:
- Download the latest version of Filezilla
- Uncopmress the downloaded files
- Copy the files to the right directory, most of time /opt/filezilla
- 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
I think I will make my own PPA for Filezilla for this purpose.
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
The installer copies the filezilla.desktop file to
/usr/share/applications/ to enable the user to add Filezilla icon to the Ubuntu dock panel.
[…] Almost five years ago, I wrote this blog post Making an installer/updater for Filezilla on Ubuntu Linux […]