Skip to content

File Services

The file services of the computer operating group are basically divided into home directories (homes) and volumes. Homes are intended for storing personal data and volumes for shared data. Both are limited in size by quotas.

Home directory

Internal Home

A home is created for each account to store private files, e.g. the .bashrc or private SSH keys. For projects with other users or locally installed software, Volumes should be used. The home is available everywhere within TechFak and is mounted by Netboot under /homes/USER by default. For security reasons, it cannot be accessed externally. However, the remote directory exists for this purpose.

remote directory

  • The remote directory is a normal and therefore permanent directory.
  • It is always located under /media/remote/USER.
  • It plays a special role in connection with files.techfak.de, as only this directory is accessible from outside the TechFak network.
  • The memory consumption is added to that of the home directory.

GPU cluster

On the GPU cluster there is a separate home on its own file server. This is encapsulated from the other home and from all PCs with Netboot. The separate file server enables a significantly higher data throughput with lower latency.

Volume

Volumes can be used in two different ways, either as a project volume or as a software volume. They are always located in the directory /vol/ and are usually linked to a Unix group of the same name.

Project volume

This is simple storage space that different people can share, e.g. to work together on a project or exercises. There are virtually no limits on when or for what a volume can be requested.

To apply for a project volume, simply send an email to support@techfak.net. A volume usually has a Unix group containing the people who can access the volume. It therefore makes sense to send a list of the people who should be in the group at the same time.

Software volume

A software volume is intended for programs that are not available in the standard package sources of Ubuntu

  • are not available at all,
  • are only available in an older version,
  • are only available in an insufficient or faulty version (possibly for functions that must be explicitly activated when compiling) or
  • cannot be available for licensing reasons (i.e. non-free software such as Adobe products).

Each software volume includes an RCINFO package to make it as easy as possible for users to select the software.

Software that is used by more than one user should never be used other than via a volume and RCINFO! If you set environment variables manually, the entire account may no longer function correctly if the software is changed. If a program is integrated via RCINFO, you can repair the corresponding variables for all subscribers.

Quota

To ensure that our storage space is always sufficient for all users, homes and volumes have so-called quotas. These are storage limits that prevent more than the allocated storage space from being used. However, to ensure that everyone always has enough storage space, employees can request a quota of 100 GiB. All they need to do is send an email to support@techfak.net. The quotas are currently as follows:

Category Quota
Student Homes 25 GiB
Employee Homes 25 GiB
On request 100 GiB
Volume 10 GiB - 5 TiB, depending on demand.

You will receive a warning by e-mail before the quota is reached. The current quota for a directory can be displayed with the command df -h /path/to/directory and is specified as 'size'. For example:

juser@host$df -h /vol/ghc

Filesystem Size Used Avail Use% Mounted on

vol.nfs.fs.cit-ec.net:/vol/ghc 100G 8.4G 92G 9% /vol/ghc

Request volume

If you need a software or project volume, you can request it by sending an e-mail to support@techfak.uni-bielefeld.de. A volume will then be set up in which you can install the relevant software or save data. Further information specifically for software volumes can be found below:

Software volume

You are the contact person for users in case of problems with the software you provide and ensure that updates within the version are provided promptly.

Structure

Software volumes are structured according to the usual FHS scheme:

bin/ programs of the software package
lib/ libraries of the software package
man/ man pages for the corresponding binaries
share/applications/ .desktop files to integrate GUI software into the menu
doc/ documentation of the software package
src/ source code including local patches

In addition to these directories, there is also the TechFak-specific .rcinfo with the following content

.rcinfo/description description of the volume (72 characters), which you get when you select the RCINFO package for this volume
.rcinfo/maintainer TechFak username who is responsible for this volume
.rcinfo/environment environment variables which are needed to use the software

To install into this structure, in most cases it is sufficient to use the --prefix switch in the compiler set: ./configure --prefix="/vol/acme" && make && make install

Environment variables

To allow users to choose between different versions of the software, RCINFO uses small packages that define the environment variables required to run the software. The default package we provide looks like this (where ${RCINFO_PACKAGE_NAME} is replaced by the name of your volume): PATH=/vol/${RCINFO_PACKAGE_NAME}/bin MANPATH=/vol/${RCINFO_PACKAGE_NAME}/man XDG_DATA_DIRS=/vol/${RCINFO_PACKAGE_NAME}/share

If it is unavoidable that your volume configuration deviates from this standard environment, you can overwrite the defaults; this also allows you to define additional variables or omit those that are not required: PATH="/vol/chaosvolume/ACME Programs" LD_LIBRARY_PATH="/vol/chaosvolume/ACME Libraries" JAVA_HOME="/vol/chaosvolume/ACME Java" Usual variables:

Variable Function
PATH search path for program binaries
LD_LIBRARY_PATH search path for program libraries
MANPATH search path for manpages
XDG_DATA_DIRS Search path for menu entries of the graphical user interface
#### Newer versions

For new versions, you will receive an additional volume (e.g. /vol/NAME-1.2.3) for parallel operation on request. The default /vol/NAME should always point to the version that most users need and should not be changed during a semester or before important dates such as project demos.

Alternative structure

My (proprietary) software bundle is not structured, but comes flat (everything in one directory). Can't I just get a flat volume?

**No

Flat volumes for software packages make it unnecessarily difficult to maintain the volumes and associated RCINFO packages.

Non-maintained RCINFO packages lead to users starting programs directly from the subdirectories or copying the long paths into their configuration, with the corresponding negative consequences when changes are made (e.g. upgrades or renaming of binaries).

The resulting errors not only affect the corresponding software, but also lead to faulty operation of the entire system. The problems often remain undetected for a long time, so that the connection cannot be established immediately, or the condition is considered normal by users (''Firefox always crashes, so I use Opera™'').

If your software is unstructured, we recommend placing it in a subdirectory in the lib/ directory:

/vol/acme/lib/all-in-all-15.0_en

and set a symlink to the available binaries in bin/: /vol/acme/bin/firered/vol/acme/lib/all-in-all-15.0_en/firered-en-15.0.98 /vol/acme/bin/marineblau/vol/acme/lib/all-in-all-15.0_en/marineblau-en-15.0.22

Of course, short bash scripts can also be used as starters.