Alma9 Updates, master branch (2023.10.19.)
As a follow-up to !68 (merged), pruned the alma9-atlasos
image a bit.
The setup previously was indeed absolutely unacceptably slow. It took me ~20 minutes to build the base image.
[bash][atspot01]:docker > docker build -t gitlab-registry.cern.ch/atlas-sit/docker/alma9-atlasos:1.0.0-gcc13 -t gitlab-registry.cern.ch/atlas-sit/docker/alma9-atlasos:1.0.0 -t gitlab-registry.cern.ch/atlas-sit/docker/alma9-atlasos:latest-gcc13 -t gitlab-registry.cern.ch/atlas-sit/docker/alma9-atlasos:latest --build-arg GCCPACKAGES="gcc_13.1.0_x86_64_el9 binutils_2.40_x86_64_el9" --build-arg GCCVERSION=13.1.0 --compress --squash ./docker/alma9-atlasos/
WARNING: experimental flag squash is removed with BuildKit. You should squash inside build using a multi-stage Dockerfile for efficiency.
[+] Building 71.3s (14/14) FINISHED docker:default
=> [internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 2.24kB 0.0s
=> [internal] load metadata for docker.io/cern/alma9-base:latest 1.1s
=> [auth] cern/alma9-base:pull token for registry-1.docker.io 0.0s
=> [1/8] FROM docker.io/cern/alma9-base:latest@sha256:ba1abac0ee0be222e46b986d8381a60fe688ddf8e63 0.0s
=> [internal] load build context 0.0s
=> => transferring context: 658B 0.0s
=> CACHED [2/8] WORKDIR /root 0.0s
=> [3/8] COPY *.repo /etc/yum.repos.d/ 0.0s
=> [4/8] RUN dnf -y update && dnf -y install --disablerepo=tdaq* --disablerepo=atlas* --d 65.9s
=> [5/8] COPY atlas_prompt.sh cmake-3.27.5.sh /etc/profile.d/ 0.0s
=> [6/8] RUN echo '%wheel ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers && adduser atlas && chmod 777 0.6s
=> [7/8] RUN mkdir -p /alrb /cvmfs /afs /eos 0.4s
=> [8/8] COPY motd /etc/ 0.0s
=> exporting to image 3.1s
=> => exporting layers 3.0s
=> => writing image sha256:06be397d029a1367eb2157797a50cd1217df094f05ddcfbc9467d3de9b299f91 0.0s
=> => naming to gitlab-registry.cern.ch/atlas-sit/docker/alma9-atlasos:1.0.0-gcc13 0.0s
=> => naming to gitlab-registry.cern.ch/atlas-sit/docker/alma9-atlasos:1.0.0 0.0s
=> => naming to gitlab-registry.cern.ch/atlas-sit/docker/alma9-atlasos:latest-gcc13 0.0s
=> => naming to gitlab-registry.cern.ch/atlas-sit/docker/alma9-atlasos:latest 0.0s
[bash][atspot01]:docker >
I.e. it's just over 1 minute.
In the previous setup the main reason for the image being huge was:
[bash][root]:~ > cd /opt
[bash][root]:opt > ls -l
total 0
drwxr-xr-x 3 root root 20 Oct 19 13:49 cmake
drwxr-xr-x 6 root root 61 Oct 19 13:43 lcg
[bash][root]:opt > du -sh *
162M cmake
2.1G lcg
[bash][root]:opt > cd lcg/
[bash][root]:lcg > ls
binutils clang gcc gettext
[bash][root]:lcg > ls -l
total 0
drwxr-xr-x 4 root root 36 Oct 19 13:43 binutils
drwxr-xr-x 4 root root 40 Oct 19 13:43 clang
drwxr-xr-x 4 root root 58 Oct 19 13:49 gcc
drwxr-xr-x 3 root root 26 Oct 19 13:43 gettext
[bash][root]:lcg > du -sh *
48M binutils
1.6G clang
441M gcc
33M gettext
[bash][root]:lcg > cd clang/
[bash][root]:clang > ls
16.0.3 16.0.3-9dda8
[bash][root]:clang >
Somehow Clang 16 ended up being installed.
Note that I completely turned off the http://cern.ch/lcgpackages/rpms and http://cern.ch/lcgpackages/rpms_updates repositories. I think they don't contain any packages for EL9. But I'm not sure, so I kept them in place, just in a disabled way. (So that downstream images could still enable them with dnf config-managed --set-enabled lcg lcg-updates
.
Pinging @tadej.