Frequently Asked Questions

We have divided the FAQs by the type of work you are doing. Please see the child pages below.

FAQs: Getting Started

What basic configuration do I need to run EFS?

You need a Linux server with some storage. If you want some disaster recovery, you will need at least 2 Linux servers.

What benefits will I see if I use EFS?

There are 2 main benefits: easy of deployment and reuse. EFS is designed to make deploying your software quick and easy across an enterprise or global structure. This is its main benefit. To make this work, it standardizes the environment. This standardization has a secondary benefit of making reuse easy. Since the code is always in the same place on every machine and is globally available, it makes reuse of even small utilities easy.

Should I even consider using EFS on a stand-alone machine? Are there any benefits?

At this point, no. This is enterprise-level software. Unless you are trying to address deployment issues, it is not the software for you. The current ALPHA version is really for those familiar with AFS and who already know the software from working within the corporate environment where it is already installed.

Why should I use EFS for my development purposes?

  • Spend your time developing your code — not managing the dependencies you need to run your code.
  • Deploy your software globally
  • Utilize intelligent software dependency management

what platforms does EFS support?

Currently, EFS is designed to support Linux v. xxx and Solaris on Sparc v. xxx. It is possible that EFS could be modified to work with other UNIX flavors, such as HP, Solaris on Intel, but this has not been done so far.

Does EFS work with Windows?

Because of the structure of Windows, and the basic assumption that all applications are installed locally, EFS does not fit well into the Windows paradigm. However, it is possible to set up a Samba mount and access the read-only information from the PROD environment. This has not currently been tested, nor is this an endorsement.

Does an application need to be specifically designed for EFS?

Not specifically. EFS does not need newly development, but you need to take into account certain aspects. First, the target EFS environment is read-only. That means that any read/write space needs to be taken care of outside of EFS. This read-only attribute allows EFS to allow all users connecting to an EFS Cell to look at the same binary copy.

Second, the software cannot assume certain paths, since they will probably not be available. Also, the area where the software installs (/efs/dev/) is not the same as the location where the software will be run (/efs/dist/). These all need to be taken into consideration as software moves into the EFS space.

Does EFS scale? How large an installation can EFS support?

Yes! This is the point of the software. We have used the software in a corporate environment with hubs (or “EFS Cells”) in New York, London, Hong Kong, Singapore, Korea and soon other Asia/Pacific Rim locations.

Should I use EFS or Subversion?

Both. EFS is not a source-control system, it’s a deployment-control system. Maintain your code in Subversion and deploy your code with EFS.

What license does EFS use?

EFS uses the <href=”http://git.openefs.org/efs-core/tree/source/LICENSE”>Apache 2.0 license.

FAQs: Contribution

How do I contribute?

Our Get Involved page in the Developers’ Zone gives you information on how to contribute to the EFS code base.

What is the release process?

FAQs: Development

Can I write my application data and logs into EFS?

No, EFS is not designed as a general purpose file system. It’s used to store and distribute read-only binaries, libraries, configuration files and other data that is not changing.

For development using GCC from EFS, do I need locally installed libraries/headers?

When using GCC from EFS, please make sure that the machine you’re building on contain a locally installed copy of the glibc and glibc-devel headers. These packages will be called glibc-x.y.z and glibc-devel-x.y.z as well as glibc-common-x.y.z and glibc-headers-x.y.z. On one of our compile servers for example, the following packages are installed. Your versions may vary, depending on the version of the distribution you’re using (RHEL4 vs. RHEL5 for example).

  • glibc-2.3.2-95.44
  • glibc-devel-2.3.2-95.44
  • glibc-kernheaders-2.4-8.34.2
  • glibc-common-2.3.2-95.44
  • glibc-headers-2.3.2-95.44

FAQs: Deployment

Can I dist only to a specific cell?

Yes. Use the -cells argument and specify the specific cells.