Running third party apps in openfiler?

Soldato
Joined
1 Sep 2005
Posts
10,001
Location
Scottish Highlands
Im considering installing openfiler on my server, but I have a few questions first;

I mainly want my server to act as a fileserver to share all my music, films, isos etc. But at the moment I also use it as a torrentbox to download stuff during the middle of the night and when im at work. Is it possible to run a torrent client (ideally utorrent) on a server running openfiler? As its just a version of Linux im guessing it is possible, but how easy is it and are there better alternatives. Any comments or suggestions are welcome. :)
 
To install anything you're probably going to have to compile it from source. To do this you need to be sure you've got GCC installed. To use uTorrent you'll have to have Wine and an X Server running, both of which will also have to be properly compiled from source, neither of which you probably have as it is.

An easier option would be to compile and install rtorrent and GNU Screen. Rtorrent is a CLI-based torrent client that has, arguably, the highest performance of any torrent client. You'd access it remotely over SSH, which probably is already installed, and run it within a Screen session so that when you want to disconnect the SSH session you can keep the program running as long as the server's on. With minimal effort you can also get it running as a daemon that starts and stops with the system.
 
...woooosh!

That was the sound of it going over my head.:p Im pretty much a total noob to linux. What does compiling involve in terms of a Linux install?
 
Compiling is how software is converted from human-readable code a person wrote to machine-readable instructions called binaries. For the most part you'll need a compiler. GCC, the GNU Compiler Collection, is most common. There may be other prerequisite programs or libraries that you might need as well. You'll download the software you want using something like curl or wget. You'll extract the archive, probably a tar.gz, into a directory. In that directory there will be a file called readme that you should read as it will contain instructions on how to compile that program. The compiler and other bits are usually all called using a scripted build system called Make. You use the make utility on your computer to automatically compile and link the code. A few minutes later it'll spit out a usable binary. You then use Make with a particular flag to install the program system-wide.

Many times, executed as root, it's:
make config
make
make install

Bang, you're done.


********************
How basic do I need to get? Do you know what Wine is? Do you know what an X server is? Do you know about the CLI or SSH?
 
Compiling is how software is converted from human-readable code a person wrote to machine-readable instructions called binaries. For the most part you'll need a compiler. GCC, the GNU Compiler Collection, is most common. There may be other prerequisite programs or libraries that you might need as well. You'll download the software you want using something like curl or wget. You'll extract the archive, probably a tar.gz, into a directory. In that directory there will be a file called readme that you should read as it will contain instructions on how to compile that program. The compiler and other bits are usually all called using a scripted build system called Make. You use the make utility on your computer to automatically compile and link the code. A few minutes later it'll spit out a usable binary. You then use Make with a particular flag to install the program system-wide.

Many times, executed as root, it's:
make config
make
make install

Bang, you're done.


********************
How basic do I need to get? Do you know what Wine is? Do you know what an X server is? Do you know about the CLI or SSH?


Thanks for the explanation. I realise what compiling is in general terms, but why do you have to compile Linux distros and apps? ie, why don't they come in neat little exe files like windows apps?

You need to get quite basic im afraid. I think Wine is for running windows apps in *nix. Am I half right? No idea what X server is, and my knowledge of CLI and SSH stretches as far as believing they are command line programs (And the idea of that scares me somewhat. Im only just beginning to overcome my fear of DOS). So basically talk to me like im a 5 year old. :p

I've had another idea though, which may be simpler, although more expensive. It is to have a rackmount NAS/SAN running openfiler, then have another cheap 1U rackmount with something like server 2003 running as a general server with utorrent etc. I think this would give more ease of use, although the extra cost of running another server all the time is a downside.
 
Openfiler, like most single-purpose distros, is not designed to have a lot of features. It's designed to do one thing and not waste time or resources on anything else. I'm willing to bet that many common Linux programs that you might find on a desktop will NOT be present in an Openfiler installation, simply because the guys who put the distro together didn't think it was necessary.

To have those programs you obviously have to install them. Most Linux distros use what is called package management with automatic dependency resolution. This means that there is a set of servers that contain vast quantities of software prepared specifically for that distro, and that by requesting one the system can automatically see what prerequisites (dependencies) are required for it and grab those too.

Sometimes though the distro maintainers don't include this functionality. I'm willing to bet, again, that they saw package management as being unnecessary on a file server-specific setup. Therefore nobody has prepared ready-to-go binaries that will work with your system. If you were using a more general-purpose distribution like Debian or CentOS you'd be done by now. :p

The solution to this is to compile from source.

You're right about Wine. uTorrent is tested and works perfectly in it. The trouble here is that you need a graphical interface to use it. The GUI on Unix-like systems is generated using a system called X or X Windows. It allows windows and such to be drawn and a whole bunch of other GUI stuff. I'm, for a third time, willing to bet that Openfiler doesn't come with any GUI. You'd have to install it yourself.

Have you considered a virtual machine? Virtualize your Openfiler installation, install something easy like Debian, and use an easy VM like Virtualbox to hold the Openfiler install and also an XP or W2k install. I don't think there's any point in using up a Server license when all you want to use is a little torrent program.

Still I'd consider using rTorrent since it's faster and wouldn't require a VM or separate server.

EDIT: Whoops, forgot to address some things.
The CLI is the Command Line Interface. with a non-desktop distro like Openfiler you're most likely to just have this, no GUI. The Linux (and Unix-like in general) command line is extremely powerful. You can do all manner of activities from it, including downloading files, browsing the web, chatting on IRC, sending and receiving email, managing bittorrent downloads, creating and extracting archives, filesystem manipulation, text editing, programming, CD/DVD burning, media encoding, map network shares, mount and unmount virtual filesystems such as .iso disk images, even photo editing. Darn near anything you can think to do on a computer can, in some way, be done from the Linux command line. The DOS and NT command lines are not nearly as powerful. They are largely limited to basic file manipulation using an, IMO, bizarre syntax. check out the "What Have You Done With Linux Lately" thread a few down from here for an idea of what people are doing with the command line.

SSH is the Secure SHell. It allows you to log into a remote computer that accepts such connections over an encrypted link so that nobody can snoop on your communication. It's the easiest and best way to remotely manage Linux boxen. When you're in an ssh session it's like you're sitting directly at that machine. Since your server probably doesn't have a monitor or keyboard attached this is how you'll talk to it.
 
Last edited:
Thanks a lot for that. :) With things like drivers for graphics cards, raid cards etc etc, would these need to be compiled for integration with a distro like openfiler?
 
Back
Top Bottom