Synology NAS Windows Desktop client - How to use VM?

I have a Synology NAS with which I have been able to synchronise my desktop computer files using a client rpm package from Synology. for some time now, Synology no longer provides an rpm package for this, so that I am unable to synchronise my data with the NAS.

However, Synology does provide the desktop client package as a Windows exe file. (By the way also a .deb package as well). Is it conceivable that I use the Windows client to synchornise my files using the VM? What do I need to do to set it up? What may be the pitfalls?

I am running Gnome with btrfs on Leap 15.3.

Were you using the “Active Backup for Business” Synology App or, something else? – Possibly the Synology “Drive Client”?
[HR][/HR]Not that, that really matters –

  • The Synology NAS boxes usually have an NFS Server function.

The simple answer is, setup the NFS Server on the NAS to export the directory where the Linux files are located.

  • The not so simple part of this solution is that, the UID and GID of that directory and, all the sub-directories and, all the files in those directories, have to be changed to have the same UID and GID as that of the user on the Linux machine.

Usually, you’ll have to login to the admin user of the NAS box via SSH, to setup the UID and GID values – “chown … ” – the NAS boxes usually run Linux …
Then, simply mount the NAS box via NFS from the Linux machine – I use the Linux auto-mounter function.

 > systemctl list-unit-files | grep -i 'autofs'
autofs.service                                                            enabled         disabled     
 > 

The scripts I use to which invoke “rsync” to drop all the changed and new files onto my NAS box have a code section like this –


if  -d /mnt/NAS-Box/NFS/$effectiveUserID/$systemHostName ]]
then
 .
 .
 .
fi

Alternatively, you can enable the “rsync” daemon on the Synology NAS – <https://kb.synology.com/en-us/DSM/help/DSM/AdminCenter/file_rsync?version=7>

  • But, please be aware that, you’ll have to store the username and password of the NAS user being served by the rsync daemon in your backup scripts.

Thanks for your input.

I used the Synology Drive Client, and would hope to use the .exe version of it, if that were possible.

The rsync route seems rather daunting to me.

Just in case the following is of interest to you…
https://forums.opensuse.org/showthread.php/559542-Using-Wine-for-NAS-synchronisation?p=3065169#post3065169

Just realised it was you who I was advising in that thread!lol!

My bad. I have to confess that I abandoned that one because I couldn’t figure out how to a) progress from a one-shot synchronisation to a permanent synchronisation service, b) be sure of its robust treatment of all files, and c) integrate it as a background task that needs almost no attention from me, i.e. just like the Synology Drive Client. So much for my initial enthusiasm for your suggestions…:shame:. Thank you for your patience with me!

My question with this thread is perhaps a total pipe-dream. Is it possible that “Synology Drive Client-xxx.exe” might work somehow under Leap 15.3./Gnome desktop just as the equivalent “Synology Drive Client-xxx.rpm” used to? What is required to achieve that?

FWIW, I stumbled across this reddit thread re RPM package…
https://www.reddit.com/r/synology/comments/ejumga/synology_drive_client_for_fedora_linux/
…one kind user has provided a recent RPM packages that may (or may not) work for you…

https://github.com/EmixamPP/synology-drive/releases/tag/3.0.3-12923

YMMV

Thank you. That was an excellent tip. This Synology-Drive app seems to work as hoped:) Your help is much appreciated

Yes, it’s not simple – except as a Bash script – the options which need to be set are many …Be that as it may, an example – I automount the NFS Server on the NAS box –


#!/bin/bash

echo " \"Archiv_Users_Home_NAS\""
echo ""

systemHostName=$(hostname --short)
effectiveUserID=$(whoami)

#
# Cannot use -a --archive: both imply -rlptgoD
# -g --group "preserve group" is possibly not supported by a QNAP TS-131P.

cd
pwd
echo ""

if  -d /mnt/NAS-001/NFS/$effectiveUserID/$systemHostName ]]
then

  echo "Mounted NAS NFS $effectiveUserID $systemHostName"
  echo ""

  echo "** .config/:"
  /usr/bin/rsync -rlpt --backup --update --8-bit-output --omit-dir-times --omit-link-times --one-file-system --whole-file --progress --stats --human-readable /home/$effectiveUserID/.config/ /mnt/NAS-001/NFS/$effectiveUserID/$systemHostName/dot.config
  echo ""

  echo "** .local/share/:"
  /usr/bin/rsync -rlpt --backup --update --exclude=gegl-0.?/*** --exclude=gvfs-metadata/*** --exclude=flatpak/*** --8-bit-output --omit-dir-times --omit-link-times --one-file-system --whole-file --progress --stats --human-readable /home/$effectiveUserID/.local/share/ /mnt/NAS-001/NFS/$effectiveUserID/$systemHostName/dot.localShare
  echo ""

  echo "** .mozilla/:"
  /usr/bin/rsync -rlpt --backup --update --8-bit-output --omit-dir-times --omit-link-times --one-file-system --whole-file --progress --stats --human-readable /home/$effectiveUserID/.mozilla/ /mnt/NAS-001/NFS/$effectiveUserID/$systemHostName/dot.mozilla
  echo ""

  echo "** User files:"
  /usr/bin/rsync -rlpt --cvs-exclude --backup --update --exclude=.* --exclude=.*/*** --exclude=public_html --8-bit-output --cvs-exclude --omit-dir-times --omit-link-times --one-file-system --whole-file --progress --stats --human-readable /home/$effectiveUserID/ /mnt/NAS-001/NFS/$effectiveUserID/$systemHostName/home
  echo ""

  echo "** User .* files:"
  /usr/bin/rsync -lpt --backup --update --8-bit-output --omit-link-times --one-file-system --whole-file --progress --stats --human-readable /home/$effectiveUserID/.bashrc /mnt/NAS-001/NFS/$effectiveUserID/$systemHostName/home
  /usr/bin/rsync -lpt --backup --update --8-bit-output --omit-link-times --one-file-system --whole-file --progress --stats --human-readable /home/$effectiveUserID/.profile /mnt/NAS-001/NFS/$effectiveUserID/$systemHostName/home
  /usr/bin/rsync -lpt --backup --update --8-bit-output --omit-link-times --one-file-system --whole-file --progress --stats --human-readable /home/$effectiveUserID/.signature /mnt/NAS-001/NFS/$effectiveUserID/$systemHostName/home
  /usr/bin/rsync -lpt --backup --update --8-bit-output --omit-link-times --one-file-system --whole-file --progress --stats --human-readable /home/$effectiveUserID/.emacs /mnt/NAS-001/NFS/$effectiveUserID/$systemHostName/home
  /usr/bin/rsync -lpt --backup --update --8-bit-output --omit-link-times --one-file-system --whole-file --progress --stats --human-readable /home/$effectiveUserID/.vimrc /mnt/NAS-001/NFS/$effectiveUserID/$systemHostName/home
  echo ""

  echo "** Finished!!"
  echo ""

else

  echo ""
  echo "NFS NAS is not available"
  echo ""

fi

exit 0

# End of Archiv_Users_Home_NAS


[HR][/HR]Which only begs the question –

  • Is a GUI application better than a script?

With a script, I can backup a user’s Home directory from a Virtual Terminal or, a SSH session.

…the answer to which will obviously depend on the skills and preferences of the user, maybe even his ideological tendencies…:\

I use the synology drive client.

Synology Drive Client: Download → Ubuntu 64 bits, deb

alien -r synology-drive-client-*.deb
rpmrebuild -enp synology-drive-*.rpm

uncomment all lines with ‘(Qt_5_PRIVATE_API)(64bit)’
then you can install the rpm package without errors.

1 Like

Is alien an OpenSUSE package?

You can get alien form here:
https://software.opensuse.org/package/alien

PS: Do not uncomment but comment out all lines with ‘(Qt_5_PRIVATE_API)(64bit)’

1 Like

Where (when?) do the lines to be commented out appear?

The rpmrebuild command opens a config file in the vim editor. Search for (Qt_5_PRIVATE_API)(64bit) and put a # in front of each line that matches.

Otherwise, you can download the resulting rpm file directly from here:
https://boeni.com/downloads/synology-drive-7.2.1-13272.x86_64.rpm

1 Like

Either I did not wait long enough, or the config file was not opened for editing.

Hm, maybe you are using a different version to me. Or are you using rpmbuild instead of rpmrebuild?