Share files between Mac and Linux

Hello friends,

May I use my recently bought Turris Omnia to share files between a Mac and a Linux system?

Turris Omnia is advertised as working as a sort of NAS, so I wonder if there is some simple way to get this working connecting a USB hard drive to it.

I lost 3 hours looking at the documentation and there is nothing updated.

This old thread points to this page that reports that it is only relevant for version 3 and points to the general documentation.

Follows on the next post:

If you search for NAS on the general documentation you are directed to this page which is archived under a “deprecated” tab.

But even if deprecated, it seems there is nothing more updated, so tried to study it. The suggestion seems to be the mode “Turris as a computer”:

“The computer means it acts as a normal computer in the LAN. You should prefer the latter role if you want to use your Turris only as a NAS, DVB tuner, print server and so on.”

But other that DHCP and Static IP settings there is no other information.

So, my first question is: will “Turris as a computer” still provide internet to all connected users as a router normally does?

Second: Will this allow to share files between MAC and Linux

Third: Is it just enough to plug the USB hard drive into any USB port and it will work, as it seems from this documentation?

Fourth: Is there more updated documentation somewhere for this and for the printer server which I would need too?

Best
Franz

The page is part of a Wiki for version 3.x of Turris OS, but in this case it is absolutely valid and you can use it.

This other page is in a deprecated tab, because the Foris interface has been completely replaced by reForis, and you find the exact same thing here LAN - Turris Documentation

It will no longer act as a router if set up as a computer. It will be a computer like any other on the LAN.

Depending on how you need to use it, also consider using the syncthing service, which has recently been in the Turris OS repos https://syncthing.net/

If you want some kind of gui I guess nextcloud would be an option.

Regarding disk it can be as simple as plug in a usb drive, or install an internal drive.
It really depend on your requirements in terms of speed and capacity

TOS is based on openwrt. You will not find everything that is possible to do with an omnia in turris documenttion

Many many thanks for your prompt replies!
What I want to do?
I want to have it possibly working as a router, sharing files between Mac and Linux and working as a print server, with a solution simple, reliable and easy to maintain.

The syncthing service seems exactly what I need: a simple shared folder between two or more devices.

But, is this possible to do and at the same time keep the router function?

Best

Absolutely no need for you to give up the router function. You can use Omnia as a router (and I highly recommend you do) and at the same time you can share files, use the router as a print server, etc. etc. For some things you can use the Wiki, although it is no longer officially supported, for others you can read the OpenWrt documentation (the basis of Turris OS), as many services are the same as OpenWrt, for other things you can use a search engine or the upstream manuals of the apps you want to use.
Omnia is a router and a mini-computer, in terms of CPU and RAM, so for what you want to do it is just fine.

2 Likes

Maybe a little offtopic but sharing between Mac and Linux is not possible, apple works only in its eco-system, even bluetooth doesnt work between Mac and other operating systems :grin: Shame on you Apple.

With syncthing you can.

Vanilla MacOS is perfectly capable of mounting NFS.
How in earth did you come to above conclusion?

EDIT:
And if I recall correct you can mount smb shares out of the box as well

NFS is a good suggestion. Not too heavy on server side and both linux and mac OS can access shares very easily. Needs a bit of initial setup.

First, sorry for not providing screenshots with exact settings, but I am not at home now, but I will try my best :slight_smile:

You have to look into reForis packages and allow Samba there: Package management → Packages - NAS → Samba

Hit save and wait while Samba is installed.

Then you have to go to LuCi (Advanced administration) and there look into System → Mount points, where you should see your connected disk - e.g. something like /dev/sda. If not, you have to create (add) mount point for that disk.

After that go to Services → Network Shares and set there your preferred share directories.

Don´t forget (!!!) to enable Samba service autostart in System → Startup. Hit restart button for restarting Samba service too.

Now everything should work. To access shared folder you have to visit smb://your_router_ip/Shared_folder_name from your Mac or Linux PC.

To be sure everything will be working, you can try to reboot your router and check if your shared folder is accessible after reboot.

If something is not clear, let me know, I will add some screenshots or config files with exact settings.

1 Like

Many many thanks for the rich discussion.

So, resuming, 3 linux-mac compatible suggestions surfaced
Syncthing
NFS
SAMBA

So there is an opportunity to choose!
I am not sure, but imagine the Syncthing will depend on either NFS or Samba, but if I am wrong and Syncthing .is an autonomous solution it would be ideal because it seems done exactly for what I need.

@Lucenera, do you know that?

And the print server? Does it need either NFS or Samba?

Print server would have nothing to do with NFS. NFS is exclusively about file shares.

I use LXC container with CUPS installed and it shares the printer just fine. I can even print directly from Android phone.

Network File System (NFS) is a distributed file system protocol originally developed by Sun Microsystems in 1984, allowing a user on a client computer to access files over a network in a manner similar to how local storage is accessed.

Samba is the standard Windows interoperability suite of programs for Linux and Unix. Since 1992, Samba has provided secure, stable and fast file and print services for all clients using the SMB/CIFS protocol, such as all versions of DOS and Windows, OS/2, Linux and many others.

Syncthing is an open-source file synchronization client/server application written in Go, which implements its own - equally free - Block Exchange Protocol. All transit communications between syncthing nodes are encrypted using TLS and all nodes are uniquely identified with cryptographic certificates.

All three descriptions come from wiki.archlinux.org and serve their very purpose, which is to be descriptions. For the various configurations I suggest the official OpenWrt documentation at openwrt.org.
For file sharing I suggest you see which solution is right for you, because each solution, independent of the other has pros and cons, going by the use case.
I would add that the print server is an additional stand-alone protocol [OpenWrt Wiki] p910nd Print Server (installable from reForis).
Enjoy reading and experimenting (it’s all quite simple).

All of the mentioned network filie access systems (NFS, SMB/SAMBA, Syncthing) are fine for novice level quick and easy random file access between any of the prevailing computer based operating systems but if you are looking to do large or many-multiple (i.e. directory copies) then ftp-like utilities (sftp, scp, etc) in my experience are much more reliable and efficient. Think cross platform utilites like Filezilla for example rather than command lines. I use ssh/sftp to access my Omnia this way routinely without the overhead of running Samba.

So filezilla allows to connect with ssh and run its GUI to use sftp to sync folders?

But as far as I remember Filezilla does nothing automatically. You have to manually copy de files, remember what you have done (rather impossible for me), then integrate what you have done with Linux with what you are going to do with Mac.

I can imagine doing that for a few files to finish a project, but keeping a synced folder with a lot of files updated seems difficult.

But it sounds very robust. Many thanks

Best I’ve tried for cross platform directory synchronizing is Syncovery. It uses any of a number of standard transfer protocols to synchronize directories over LANs or WANs with/without cloud services. Others I havn’t tried would be Syncrify, FreeFileSync etc.

I finally was able to get an external sata SSD working, so now I can begin testing sync solutions.

I let Turris Omnia install Syncthing, but it is very unripe. It is not even able to login. I have seen there are workarounds, but these things require time and may break with each new update.

I had a look at Syncovery and FreeFileSync and they seem much more developed, but:

  1. There is no Turris Omnia package for them, so how do you install the server? No mention whatsoever on google search. Do you have any idea?
  2. I am not sure if I need NFT/SAMBA to get them working, but it seems I do not.
  3. Apparently FreeFileSync is open source and Syncovery is not. For me this is a huge incentive to go for FreeFileSync, but if it cannot be too difficult.

I am not sure which fixes you mean by this, the only ones I know about are in config files which wouldn’t be reverted on the next update. Could you describe a bit more what you mean?
In the next Turris OS version (6.2.4), there will be some fixes for syncthing that should make sure that it works out of the box when it’s installed through reForis - enabling the service by default and enabling it in /etc/config which was previously necessary to do manually.