ATLAS software may run on a machine installed with these OS flavors and versions with a few additional installations or configurations as described below.
These are for run-time compatibility and not full release build environments which may require development software.
ATLAS supports RedHat Enterprise Linux and its derived flavors (e.g. RockyLinux and AlmaLinux) for both x86_64
and aarch64
architectures. Users of other OS versions and Linux/non-Linux flavors, or who do not have root privileges, should consider running on supported default containers; e.g.
setupATLAS -c centos6
for a centos6 container compatible with slc6setupATLAS -c centos7
for a centos7 containersetupATLAS -c el9
for an el9 container.If you are looking for a build environment, the recommendation is to use containers. More information is available from the Containers in the Nightly System documentation where the Dockerfiles are referenced and also instructions on how to build your own containers.
This includes derived flavors such as AlmaLinux and RockyLinux as per CERN Recommendations.
Enable the CRB Repo:
dnf config-manager --set-enabled crb
Install the HEP_OSlibs metarpm:
yum install https://linuxsoft.cern.ch/wlcg/el9/`uname -m`/wlcg-repo-1.0.0-1.el9.noarch.rpm
Install Kerberos:
yum install krb5-workstation
Configure Kerberos; for example a minimal configuration in /etc/krb5.conf
should have:
[libdefaults]
default_realm = CERN.CH
ticket_lifetime = 24h
renew_lifetime = 7d
forwardable = true
proxiable = true
[realms]
CERN.CH = {
default_domain = cern.ch
kpasswd_server = afskrb5m.cern.ch
admin_server = afskrb5m.cern.ch
kdc = cerndc.cern.ch
}
[domain_realm]
cern.ch = CERN.CH
.cern.ch = CERN.CH
Installation of CVMFS is strongly recommended and requires root privileges.
However if that is not possible (e.g. no root privileges), atlas-cvmfsexec can be used.
By default user namespace is enabled on EL9. This can be verified by:
sysctl user.max_user_namespaces
If the resulting user.max_user_namespaces
is set to 0, that means that user namespace is disabled and Apptainer container runtimes from CVMFS will not work. There are 2 solutions to this which require root privileges:
echo "user.max_user_namespaces = 30561" > /etc/sysctl.d/90-max_user_namespaces.conf
sysctl -p /etc/sysctl.d/90-max_user_namespaces.conf
By default, Apptainer from CVMFS will be used if user namespace is enabled. However other runtimes such as Docker, Podman, Shifter and Singularity are also supported. Nested containers (running a container within a container) is only possible with Apptainer from CVMFS which in turn requires user namespace be enabled.