diff --git a/pom.xml b/pom.xml
index d4c4a80867a768e355a376fc5e116c9e7e3bbeb3..e3c4a518b142b83fe280cc1af6e800c6352ca0e9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -20,6 +20,8 @@
 		<jre8mac64url>https://download.oracle.com/otn-pub/java/jdk/8u191-b12/2787e4a523244c269598db4e85c51e0c/jre-8u191-macosx-x64.tar.gz</jre8mac64url>
 		<jre8win64file>jre-8u191-windows-x64</jre8win64file>
 		<jre8win64url>https://download.oracle.com/otn-pub/java/jdk/8u191-b12/2787e4a523244c269598db4e85c51e0c/jre-8u191-windows-x64.tar.gz</jre8win64url>
+		<jre8linux64file>jre-8u191-linux-x64</jre8linux64file>
+		<jre8linux64url>https://download.oracle.com/otn-pub/java/jdk/8u191-b12/2787e4a523244c269598db4e85c51e0c/jre-8u191-linux-x64.tar.gz</jre8linux64url>
 		<dist>${project.build.directory}/dist</dist>
 	</properties>
 	<repositories>
@@ -247,6 +249,66 @@
 								<delete dir="${dist}/windows/temp" />
 								<delete file="${dist}/windows/${jre8win64file}.tar.gz" />
 								<delete file="${dist}/windows/${jre8win64file}.tar" />
+								
+								<!-- Linux package -->
+								<echo
+									message="building Linux package with 64 bit Java 8 Runtime..." />
+
+								<mkdir dir="${dist}/linux" />
+								<mkdir dir="${dist}/linux/temp" />
+								<mkdir
+									dir="${dist}/linux/temp/unimelb-mf-clients-${project.version}" />
+								<mkdir
+									dir="${dist}/linux/temp/unimelb-mf-clients-${project.version}/bin" />
+								<mkdir
+									dir="${dist}/linux/temp/unimelb-mf-clients-${project.version}/bin/unix" />
+								<mkdir
+									dir="${dist}/linux/temp/unimelb-mf-clients-${project.version}/lib" />
+								<copy
+									file="${project.build.directory}/unimelb-mf-clients-${project.version}-jar-with-dependencies.jar"
+									tofile="${dist}/linux/temp/unimelb-mf-clients-${project.version}/lib/unimelb-mf-clients.jar" />
+								<copy file="${project.build.directory}/mexplorer.jar"
+									tofile="${dist}/linux/temp/unimelb-mf-clients-${project.version}/lib/mexplorer.jar" />
+								<copy
+									todir="${dist}/linux/temp/unimelb-mf-clients-${project.version}/bin/unix">
+									<fileset dir="${project.basedir}/src/main/scripts/unix" />
+								</copy>
+								<exec executable="curl" dir="${dist}/linux">
+									<arg value="-L" />
+									<arg value="-O" />
+									<arg value="-H" />
+									<arg value="Cookie: oraclelicense=accept-securebackup-cookie" />
+									<arg value="-k" />
+									<arg value="${jre8linux64url}" />
+								</exec>
+								<gunzip src="${dist}/linux/${jre8linux64file}.tar.gz"
+									dest="${dist}/linux" />
+								<untar src="${dist}/linux/${jre8linux64file}.tar"
+									dest="${dist}/linux/temp/unimelb-mf-clients-${project.version}" />
+								<dirset
+									dir="${dist}/linux/temp/unimelb-mf-clients-${project.version}"
+									id="linuxJreDirId">
+									<include name="jre*" />
+								</dirset>
+								<property name="linuxJreDir" refid="linuxJreDirId" />
+								<property name="linuxJavaHome"
+									value="${linuxJreDir}" />
+								<replace
+									dir="${dist}/linux/temp/unimelb-mf-clients-${project.version}/bin/unix"
+									token="@JAVA_HOME@" value="${linuxJavaHome}" />
+								<replace
+									dir="${dist}/linux/temp/unimelb-mf-clients-${project.version}/bin/unix"
+									token="#export JAVA_HOME=" value="export JAVA_HOME=" />
+								<replace
+									dir="${dist}/linux/temp/unimelb-mf-clients-${project.version}/bin/unix"
+									token="#export PATH=" value="export PATH=" />
+								<zip
+									destfile="${dist}/linux/unimelb-mf-clients-${project.version}-linux-x64.zip">
+									<zipfileset dir="${dist}/linux/temp" filemode="755" />
+								</zip>
+								<delete dir="${dist}/linux/temp" />
+								<delete file="${dist}/linux/${jre8linux64file}.tar.gz" />
+								<delete file="${dist}/linux/${jre8linux64file}.tar" />
 							</target>
 						</configuration>
 						<goals>
diff --git a/src/main/scripts/unix/unimelb-mf-check b/src/main/scripts/unix/unimelb-mf-check
index a72dca3c5d9541ce4850150a50a9d2bfe3d25e3b..4a63f0cb52b9da53a4a8a60b2c529cf88efcb4f2 100644
--- a/src/main/scripts/unix/unimelb-mf-check
+++ b/src/main/scripts/unix/unimelb-mf-check
@@ -25,4 +25,4 @@ JAR=${LIB}/unimelb-mf-clients.jar
 [[ -z $(which java) ]] && echo "Java is not found." >&2 && exit 1
 
 # execute the command
-java -Xmx200m -cp "${JAR}" unimelb.mf.client.sync.cli.MFCheck ${1+"$@"}
+java -Xmx1024m -cp "${JAR}" unimelb.mf.client.sync.cli.MFCheck ${1+"$@"}
diff --git a/src/main/scripts/unix/unimelb-mf-upload b/src/main/scripts/unix/unimelb-mf-upload
index b82ac386214c41ac0db619ed74a8d96b5f871ad2..d1435762db81bb07d0ebd4afa66d6cd5dfc42246 100644
--- a/src/main/scripts/unix/unimelb-mf-upload
+++ b/src/main/scripts/unix/unimelb-mf-upload
@@ -25,4 +25,4 @@ JAR=${LIB}/unimelb-mf-clients.jar
 [[ -z $(which java) ]] && echo "Java is not found." >&2 && exit 1
 
 # execute the command
-java -Xmx200m -cp "${JAR}" unimelb.mf.client.sync.cli.MFUpload ${1+"$@"}
+java -Xmx1024m -cp "${JAR}" unimelb.mf.client.sync.cli.MFUpload ${1+"$@"}
diff --git a/src/main/scripts/windows/unimelb-mf-check.cmd b/src/main/scripts/windows/unimelb-mf-check.cmd
index 88264330039d2461c04efbe99149c6181c4eda02..f7ba1bad800a28a5b48eedffa763fbf3d094cfa6 100644
--- a/src/main/scripts/windows/unimelb-mf-check.cmd
+++ b/src/main/scripts/windows/unimelb-mf-check.cmd
@@ -9,4 +9,4 @@ popd
 
 set JAR=%ROOT%\lib\unimelb-mf-clients.jar
 
-java -Xmx200m -cp "%JAR%" unimelb.mf.client.sync.cli.MFCheck %*
+java -Xmx1024m -cp "%JAR%" unimelb.mf.client.sync.cli.MFCheck %*
diff --git a/src/main/scripts/windows/unimelb-mf-upload.cmd b/src/main/scripts/windows/unimelb-mf-upload.cmd
index 8412c85efcca44fea2cecd67a463e3aaf6bf2c4c..639f27c647faa4438c999cc588db932452d4819f 100644
--- a/src/main/scripts/windows/unimelb-mf-upload.cmd
+++ b/src/main/scripts/windows/unimelb-mf-upload.cmd
@@ -9,4 +9,4 @@ popd
 
 set JAR=%ROOT%\lib\unimelb-mf-clients.jar
 
-java -Xmx200m -cp "%JAR%" unimelb.mf.client.sync.cli.MFUpload %*
+java -Xmx1024m -cp "%JAR%" unimelb.mf.client.sync.cli.MFUpload %*