Skip to content

Commit a8e63fb

Browse files
committed
The rest of Chris's suggestions
1 parent 7c17a7c commit a8e63fb

File tree

1 file changed

+25
-3
lines changed

1 file changed

+25
-3
lines changed

second-analysis-steps/containers.md

Lines changed: 25 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ The simulation framework is a common place where older operating systems are nee
2929
| Simulation framework | Required OS |
3030
| -------------------- | ----------- |
3131
| Sim10 | Centos7 |
32-
| Sim09 | SL6 |
32+
| Sim09 | SLC6 |
3333
```
3434

3535
{% endcallout %}
@@ -41,7 +41,7 @@ Containers are [virtualisation](https://en.wikipedia.org/wiki/OS-level_virtualiz
4141
The software used on lxplus to jump from one OS to another is called `apptainer`. To be able to run centos7 software on a RHEL9 machine the following command can be used and adapted:
4242

4343
```bash
44-
apptainer exec --env LBENV_SOURCED= -B /eos -B /afs/cern.ch/work -B /cvmfs -e /cvmfs/lhcb.cern.ch/containers/os-base/centos7-devel/prod/amd64 bash --rcfile /cvmfs/lhcb.cern.ch/lib/LbEnv
44+
apptainer exec --env LBENV_SOURCED= -B /afs/cern.ch/user -B /afs/cern.ch/work -B /cvmfs -e /cvmfs/lhcb.cern.ch/containers/os-base/centos7-devel/prod/amd64 bash --rcfile /cvmfs/lhcb.cern.ch/lib/LbEnv
4545
```
4646

4747
We can break down this command in the following way:
@@ -54,12 +54,34 @@ We can break down this command in the following way:
5454
| -B <directory> | These are 'binds', any directory (and its subdirectories) which |
5555
| | should be visible within the container need to be specified. |
5656
| --rcfile <group_login> | Specifies that LbEnv should be sourced. |
57+
| --env LBENV_SOURCED= | Resets the LBENV_SOURCED environment variable to reload LbEnv |
58+
```
59+
60+
The full list of available platforms is listed here[^1]:
61+
62+
```
63+
| Platform | Location |
64+
| -------- | --------------------------------------------------------------- |
65+
| slc5 | /cvmfs/lhcb.cern.ch/containers/os-base/slc6-devel/prod/amd64 |
66+
| slc6 | /cvmfs/lhcb.cern.ch/containers/os-base/slc6-devel/prod/amd64 |
67+
| centos7 | /cvmfs/lhcb.cern.ch/containers/os-base/centos7-devel/prod/amd64 |
68+
| el9 | /cvmfs/lhcb.cern.ch/containers/os-base/alma9-devel/prod/amd64 |
5769
```
5870

5971
{% challenge "Checking your OS" %}
6072

61-
At any point the OS you are using can be checked with the command `cat /etc/os-release`
73+
At any point the OS you are using can be checked with the command `cat /etc/system-release`
6274

6375
* Try it now both in a RHEL9 environment and a singularity running Centos7 to see the operating system change!
6476

6577
{% endchallenge %}
78+
79+
{% callout "Warning: minimal use and stability" %}
80+
81+
One thing to bear in mind about using containers is that they will be less stable than the default OS on your machine.
82+
For this reason it is recommended to only use the containers to run code requiring that OS and do everything else (e.g. git stuff) outside of the container.
83+
This is especially true for containers of older systems such as SLC5 and SLC6.
84+
85+
{% endcallout %}
86+
87+
[^1]: It's also possible to get an el9 (i.e. RHEL9) platform. This allows a system running a different linux distro locally (e.g. Ubuntu, Fedora, Arch, ...) to run software compiled for EL9!

0 commit comments

Comments
 (0)