Skip to main content

Featured post

Deployment of Wine

The project is to build a Linux Mint machine to have the identical functionality and ergonomics as the existing Windows 10 machine.
Having established that there is no way to migrate fully from Windows to Linux, the project now needs to consider running Windows apps in Linux.This is a big change to the strategy of the project.This is a big change to the deployment of a Linux workstation, a crushing admission of failure, and the opening of a whole new world of risks to an otherwise secure operating system. Environment & required functionalityFor this blog post, Wine was tested on: The Linux Mint Xfce 19 virtual machine "Bilbo", on host Windows 10 laptop "Saruman"The Linux Mint Xfce 18.3 virtual machine "Gimli", on host Windows 10 host "Legolas".
Alternatives There are alternatives to Wine/PlayOnLinux, notably the paid software Crossover. Software selection Wine and PlayOnLinux are present in Linux Mint by default.  If uninstalled following advice fr…

FreeFileSync: data synchronisation over the local area network

The project is to build a Linux Mint machine to have the identical functionality and ergonomics as the existing Windows 10 machine.

This stage relates to data synchronisation over the local area network (now that, at last, a useful network connection has been established!)

Environment & required functionality

The network should be a local network - to share files and folders - between the following machines:
  • The Linux Mint Xfce 18.3 laptop "Gandalf";
  • The Windows 10 laptop "Legolas".
The network is a local area network from a domestic router, the usual 192.168.x.x thing.

Alternatives

Peer-to-peer networking (file sharing, simple two-way server-and-client relationship) is the most efficient way for bulk data transfers, so if the network doesn’t work, then the test has failed.

One alternative is already successfully tested and in use: Google Drive (via Backup & Sync for Windows and grive2 for Linux Mint).  However, this is limited to the capacity of Google Drive.  The capacity is 15Gb for free, then payable thereafter.  This is a relatively expensive way of backing up >15Gb data and is no protection against undetected, unintended deletion of data.  The sync agent is also quite unreliable, occasionally creating duplicate files in Windows (suffixed by "(1)" etc).

The only other alternative is to use a physical drive to copy data from one machine, then plug the physical drive into the destination machine and copy data for a second time.

The network needs to be secure, otherwise it would broadcast the data to any eavesdropper on the network.

Software selection

The following table summarises the scope of this test.

ApplicationOn Windows?On Linux?Requires
rsync and cwRsyncYYSSH (which works) and/or Samba (which doesn't work)
WinScpYNSSH (which works)
FileZillaYYSSH (which works)
SyncBack FreeYNNFS (which doesn't work)
FreeFileSyncYYSSH (which works)

The winner was FreeFileSync.  Judgements follow.

SyncBack

SyncBack is software I've used before, so that was the first to test.

It failed on the first hurdle, because it cannot handle transfer protocol SFTP in its free version.  It can handle a network file share (NFS) or insecure file transfer protocol (FTP), but not secure file transfer protocol (SFTP) over SSH.  So SyncBack fell out of the running.

Source: vendor.

rsync & cwRsync

rsync is a CLI tool native to Linux and cwRsync is a GUI tool for Windows that uses SFTP over SSH, so theoretically could work on either machine.  As the successful test has Legolas/Windows accessing Gandalf/Linux Mint over SSH, then cwRsync would have been a good candidate for testing.  But rsync is linked to Samba, and Samba doesn't work.  Samba's failure is ultimately down to over-engineering, over-complexity, over-choice, over-customisation and unfocussed to the end user's objective requirements (i.e. obsessing with an obscure technical challenge in the middle of a process instead of actually fulfilling the end-user's objective demands).  All of these issues flourish from woolly-headedness and sloppy design objectives, so any app associated with Samba - and therefore the same/similar development team - is likely to suffer the same problem.

cwRsync was supposedly free, but needed a fee of USD 6 to download the product.  That didn't help sell it: the competition is free from end-to-end!

So rsync and cwRsync fell out of the running.

Sources: itefix.net, serverfault.com,

For rsync, the comment on serverfault with 48 votes is absolutely spot on.  The author notes, that "I would say that rsync is just too freaking complicated," and "Windows users generally expect, well, windows, and menus, and to have a single app be an all-in-one solution, not just an independent piece of a tool chain."

WinScp

WinScp is a Windows-only app.  It landed in second place, and remains a potential replacement for the winner of this test.  It seems to meet all of the functional requirements, but fell out of the running because it had no Linux version to hand and seems to have no prospect of having a Linux version to hand.

This lack of Linux version should not undermine the user's required functionality on Windows.  This is because, with a connection of SFTP-over-SSH, it doesn't matter which machine pushes the data.  That said, it is easier to connect from a Windows machine to a Linux machine.  This means that one would need to spend time one doesn't have to test the program; there is a fair probability that WinScp would need to be running as a service on both machines to ensure that both machines are listening to eachother and have configured eachother's firewalls to ensure that listening is possible.

WinScp probably does not need to be installed on both machines, if it uses SFTP and therefore is compatible with the OpenSSH service already installed on Gandalf/Linux.  But it's not worth the time finding out.  Better to carry on looking for a program that sells itself better.

Filezilla

Filezilla is an app that runs on all three major platforms (Windows, Linux, Apple/iOS).  It met all of the functional requirements.  Being available for Linux meant that it would have been available to the ex-Windows user having migrated to Linux Mint.

But it fell out of the running because of its poor security.  Incredibly, it does not support an SSH password management tool (such as Pageant).  Worse, it stores users' passwords in plain-text!

Sources: Slant.coWebXen, vendor.

FreeFileSync

FreeFileSync won the software selection in this test, found by Googling "alternatives to SyncBack".

It met the core functional requirements, and looks likely to meet future requirements too.  It is available in both platforms Windows and Linux Mint, so works for the ex-Windows user migrating to Linux Mint (during the transitional period of the migration).

Screenshots are always a good way of selling a GUI program, because the user can imply a lot of functionality and clear-headedness of the developers by looking at the screens that emerged from the developers' design process.  FreeFileSync's screenshots suggested a great deal of real-life experience in handling data and a mentality of continuous service improvement in the design of the app.

FreeFileSync's online manual was also a key attraction.  If the developer can spell out the "how to" story to the end-user quickly, it allows for a much quicker buy-in.  And it also points again to clear-headedness of the developers' design process.  The developer himself said this in his vision:
"I like to think that good software design is finding the base vectors of the problem domain: If you have too few "vectors" (= program capability), your software doesn't satisfy enough of your users' needs. If you have too many, you are bloating the software with redundant options."
Finally, FreeFileSync is open source, publishes its source code and applies the GNU Licence v3 of 29 June 2007.  This is superb, because it means that the code is open to constant peer-review.

Installation experience

FreeFileSync uses SFTP over SSH.  Therefore:
Dead easy in both cases.

User experience

Because FreeFileSync is a Windows app and designed by somebody who know what they are doing, the use of FreeFileSync is so simple that the user could figure it out from the screen without needing to refer to the user manual.  As with all GUI, the end-user just needs to fill in the on-screen forms and the application does what it needs to do.

The program successfully transferred a large library of photographs from Legolas to Gandalf, without incident.

The program also successfully reconciled a large library of music files from Legolas to Gandalf, previously synced by PSFTP and found no differences.  This reconciliation prove that both FreeFileSync and PSFTP are consistent and, from this, arguably reliable.

Conclusion

FreeFileSync enables data synchronisation over secure file transfer protocol (SFTP) over secure shell SSH.

With data able to flow freely between the two platforms Windows and Linux Mint, the project can now proceed.


Completed June 2018.

Comments