Files
gitea-pages/admin-guide/guidelines/conventions.rst

2.1 KiB

Conventions

Naming convention for servers

Server names have the form purpose[0-9][0-9]{,-test}.psi.ch, where purpose is the purpose of the server or the service provided by it. Examples are:

  • puppet01.psi.ch is the productive puppetmaster
  • repo00-test.psi.ch is the test Yum repository server

When putting system names into configuration files, we always use lower case and the fully qualified domain name. Good: puppet01.psi.ch. Bad: puppet01 or PUPPET01.PSI.CH.

Names for programs

The general conventions regarding filenames apply (see File system hierarchy and filenames). In addition, scripts should not include a suffix indicating the language they are written in. The latter is an implementation detail and does not matter to the caller of the script/program. A good name could be pli-system-info, a bad one would be pli-system-info.sh.

File system hierarchy and filenames

Files should generally be placed where the distribution and/or the FHS expect them. Deviations and clarifications are documented in this section.

The base directory for files is /usr if the files are relevant to end-users, /opt/pli if the files are relevant only to Linux administrators. This avoids polluting the PATH for end-users as well as naming conflicts.

Executables (scripts or otherwise) that are meant for interactive use should go into BASE/bin or BASE/sbin as appropriate.

Executables which are primarily called by other executables to implement part of their functionality should be place in BASE/libexec. This avoids polluting $PATH.

Files and directories should have names starting with pli- or be placed in a directory with such a name. This makes it obvious whether a file belongs to an internal package and avoids collisions.

Note: this section used to recommend psi- as the prefix. It turns out that this prefix is being used in various other places already, hence we use pli-, where PLI stands for PSI Linux Infrastructure.