四、在singularity安装举例:使用yum安装自己的gcc8(二)
四、安装高版本的GCC
1、在singularity使用yum安装高版本的gcc需要本地系统,所以需要进入本地系统安装,如果不涉及安装内核的内容,可以不用本地系统
我们在login05,login06,login07,login12均安装了本地系统,直接执行这个命令就可以进入
cd ~/docker
或者:
cd /docker/dockerpath/`groups |awk '{print $1}'`
2、拉取centos,推荐使用北极星集群,比较快,在login06上执行
singularitybuild --no-https --sandbox gcc8 docker://bjxdockerfast:5000/centos7.6_bjx:latest
或者其他登陆节点:
singularitybuild --no-https --sandbox gcc8 docker://bjxdocker:5000/centos7.6_bjx:latest
或者从官网上获取:
singularitybuild --sandbox gcc8 docker://centos:7.6.1810
查看tags https://hub.docker.com/_/centos/tags
3、创建文件夹和加载文件,这个是方便将来在北极星集群使用软件,也可以不创建
mkdir gcc8/appsnew
4、进入系统安装相关软件,以虚拟root的身份进入的
singularityshell -B /appsnew -w gcc8
Apptainer>yum install -y gcc gcc-c++ gcc-gfortran readline-devel bzip2-devel libXt-devel fonts-chinese tcl tcl-devel tclx tk tk-devel
Apptainer>yum install -y mesa-libGLU mesa-libGLU-devel libcurl libcurl-devel xz-devel.x86_64 pcre2-devel libicu wget which perl libgfortran5
Apptainer>yum install epel-release centos-release-scl -y
Apptainer>yum install devtoolset-8 -y
Apptainer>source /opt/rh/devtoolset-8/enable
Apptainer>echo "source /opt/rh/devtoolset-8/enable" >> /environment
Apptainer>gcc -v
5、退出后,打包或者直接挪走
因为本地docker有配额限制,请安装完打包删除,或者直接挪走
见前面打包的内容,为标题:三
Apptainer>exit
singularitybuild gcc8.sif gcc8
singularityexec gcc8.sif gcc -v
很小: 291M Dec 7 21:34 gcc8.sif
6、删除
删除前需要给文件夹写的权限,否则会报错
chmod -R a+w gcc8
rm -rf gcc8