Page 1 of 2

terrafs

Posted: Tue Mar 29, 2016 3:30 am
by IAHM-COL
Hi All

For the Flightgear users on a Linux Operating System

https://sourceforge.net/p/flightgear/terrafs/ci/master/tree/

TERRAFS (Read, terra-file-system)

A new method of fetching terrasync scenery has been developed by Torsten Dreyer.
It is, amazingly, simple to compile, and of using. Just follow the instructions on the README file.

I tested it and it works flawlessly out of the box, and it surpasses the features of SVN mediated terrasync by lots.
It needs compilation, and it depends on fuse filesystems, so it will not work under Windows or MacOS X (*footnote).

Have Fun!
IH-COL

------
* For those in MacOS X that want try something, you may consider using
https://osxfuse.github.io/

I warn thou, that MacOS is as foreign to me as it gets, so I wont be able to offer support.

==============

README

This is terrafs - a fuse base file system for FlightGear scenery
Mount terrasync scenery as a file system.

Usage

To mount the scenery file system

Code: Select all

terrafs -oserver=http://flightgear.sourceforge.net/scenery /path/to/my/scenery


To use the mounted scenery

Code: Select all

fgfs --fg-scenery=/path/to/my/scenery


To umount the scenery use fuse

Code: Select all

fusermount -u /path/to/my/scenery


Build

Prerequisites
You need libcurl and fuse installed along with their devel packages (header files)
There is no make script (yet) but it's easy:

Code: Select all

g++ -std=c++0x -c ../src/terrafs.cpp
g++ -o terrafs terrafs.o -lfuse -lcurl

Re: terrafs

Posted: Tue Mar 29, 2016 3:39 am
by IAHM-COL
Image

Re: terrafs

Posted: Tue Mar 29, 2016 12:23 pm
by legoboyvdlp
You do need good internet, right?

Re: terrafs

Posted: Tue Mar 29, 2016 4:20 pm
by IAHM-COL
not right. Not particularly.
If it works for terrasync, it will for terrafs.

I mean, maybe not if you are in dialing-up internet, but over any regular broadband you are good to go -- and plenty of speed.

talking about internet speed over terrafs is like talking about the "diving rudder". Weird to say the least, and very likely uninformed :lol:

So, just to clarify, the entry barrier is OS: You need a GNU/Linux.

Re: terrafs

Posted: Thu Mar 31, 2016 10:32 pm
by IAHM-COL
IAHM-COL wrote:So, just to clarify, the entry barrier is OS: You need a GNU/Linux.


Image

Re: terrafs

Posted: Thu Mar 31, 2016 10:54 pm
by IAHM-COL
Image

Something this cool NEEDS an icon!

Re: terrafs

Posted: Thu Mar 31, 2016 11:38 pm
by legoboyvdlp
I don't understand it.

Does it pre download or what?

Re: terrafs

Posted: Thu Mar 31, 2016 11:52 pm
by IAHM-COL
No. It "fuse-mounts" a remote drive. And it uses curl for data transfer.

https://en.wikipedia.org/wiki/Filesystem_in_Userspace

FUSE is particularly useful for writing virtual file systems. Unlike traditional file systems that essentially save data to and retrieve data from disk, virtual filesystems do not actually store data themselves. They act as a view or translation of an existing file system or storage device.


In other words is like virtually having all data available on a non-existing hard-drive.
curl, in the back-end does the transfer while you are unaware of it doing it.
Any operation on the filesystem will cause curl to act on your behalf. If per example you attempt copying the content of your virtual File system into another _non virtual_ hard drive, then curl will be active downloading all the data --several GiGs. But if you just need a 1x1 degree tile available, curl will, again exert the transfer for you.

Curl (https://en.wikipedia.org/wiki/CURL) is a multiplatform/multiprotocol remote transfer library for linux. And thus, it is meant to do the task at hand -- different to the un-ortodox usage of subversion (terrasync), which IS NOT a transfer protocol, but contains ssh tunnels for data transfer.

Since FUSE is unavailable for other OS, that is why the core developers are trying to wrap a curl around the terrasync transfers, to make it http-able.

I know this answer is a bit overwhelmingly technical, but it means that minimal data transfer occurs, while curl smartly accounts for what is needed and gets it for you un-queried (that is you don't have to ask for it, just let Flightgear do the querying)

Re: terrafs

Posted: Fri Apr 01, 2016 1:08 am
by legoboyvdlp
All greek to me.

So it basically downloads in the background just what you need? And does it take less time or is it the same?

Re: terrafs

Posted: Fri Apr 01, 2016 1:17 am
by IAHM-COL
it takes same time with transfer, possibly faster. It is limited by your ISP speed, but usually you have more bandwidth than ever possibly needed.
Downloading implies writing to your hard drive? right? It does not copy or write anything to the hard drive! :P

In other words it transfers only as needed to your virtual file system. It does not reside in hardware. It does not require read/copy operations to a physical hard drive, which is one of the most time expensive operations.

But in any case; AFAIK you are on Windows, so this is just way out of your tool=set. Sorry.