Is is feasible to run apps on remote machine via NFS?
Linux - SoftwareThis forum is for Software issues.
Having a problem installing a new program? Want to know which application is best for the job? Post your question in this forum.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Is is feasible to run apps on remote machine via NFS?
In my little home network I have three Slack 12.2 boxes. One is a file 'server' running NFS, the other two are clients.
Just for funsies, I exported /usr/bin from the server and mounted it on the clients at /mnt/tmp. I then created desktop shortcuts to /mnt/tmp/kedit and opened kedit on each client. I'm assuming in each case that I've opened the instance of kedit on the server. I repeated the procedure with firefox and had the same result.
If the above is valid, it would seem possible to install an application on the server and run that application on 1 or more client machines.
At this point I'm just looking for 'proof of concept'. I'm sure that there are security and other issues inherent in such an arrangement but is the above scenario feasible? If it is, I can seem some advantages regarding a SOHO network setup.
It stuck me as being too easy, so doubtless there's a fatal flaw somewhere.
No, that is pretty much how it works. In large Unix/Linux networks, it is very common go have most software installed on an NFS server and just have the clients run it from the mounted shares.
It cuts down considerably on administration difficulty, as you don't need to update software on hundreds of computers, you just update the copy on the main server.
In an ideal setup, each client would have a minimal install on the local machine, and mount /usr as NFS share. In this scenario, you are almost talking about a thin client, as alone the systems only have basic functionality, but when you populate the NFS share with software and libraries you can replicate whatever functionality you wish between all the client machines.
I really appreciate your reply and confirmation. I may have the opportunity in the near future so setup a SO Linux network for a (hopefully) client. Even if I do full blown installs on the client machines the maintenance factor alone would be well worth going the NFS route.
Distribution: Ubuntu 11.4,DD-WRT micro plus ssh,lfs-6.6,Fedora 15,Fedora 16
Posts: 3,233
Rep:
heck, if you really want to save on maintenance, you could take it one step farther and make the workstations BOOT off the server and have the entire filesystem be run off nfs, though possible that would probably be overkill but with that setup you woudnt even have to have a hard drive at all in your workstation to wory about, only the server's drives
Distribution: Debian /Jessie/Stretch/Sid, Linux Mint DE
Posts: 5,195
Rep:
Just one thing, you did not run the program on the server. When mouting an NFS share, you make the share part of you local filesystem. So instead of running a program on your own machine off /usr/bin, you run if off /share/usr/bin. But still in your own machine.
If you have your home directories on the server, and the user uses his mounted home directory, in theory it doesn't matter on which machine he works. I think for most command line apps this just works fine. But having your ~/.kde share on a single home dir on the server is not always succesful.
"But having your ~/.kde share on a single home dir on the server is not always successful."
Out of curiosity, if every user had their own directory under /home on the server, and they each use their mounted directory, wouldn't there be an instance of .kde in each one? I guess I'm trying to figure out what all the potential pitfalls would be before I try this in the real world.
Distribution: Debian /Jessie/Stretch/Sid, Linux Mint DE
Posts: 5,195
Rep:
Correct -- each user has his own ~/.kde on the server. There is no problem among different users. However if you have different KDE installed on different machines, those different KDE installs try to use the same ~/.kde directory. Given the differences between the .kde config and settings files for different KDE versions this could create problems. KDE is pretty sensitive about this, some applications run erronously, and you might even not notice at first.
If you have identical machines, clones, there should be no problem.
A server mount for storing user files in the server is mandatory of course, no one wants to have the data stored on local machines.
A solution could be to put your .kde settings somewhere else (locally that is), but you have to configure that on every machine for every user, and that isn't great. In addition, there are tens of other 'dot files' in the home directory which might or might not be stored succesfully in the server located home directory.
Be aware that in certain industries (pharmaceutical) the applications are actually required to run on certain (certified) machines. In those instances you can just VNC into the designated machine and run the application remotely. This is always another option to your "thin client" type solutions.
As lazlow mentioned, it is possible to run programs on another machine (call it a server if you like); it's just that you won't be doing it via NFS. NFS is a Network File System, and as such, it acts like a directory on a disk drive. If you have XWindows programs that need to be run remotely, you'd need to set up the various configuration files to allow that.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.