Andrew Moa Blog Site

Ubuntu安装MSC.Nastran

目前能找到的支持Linux的最新版MSC.Nastran是2024.2版。安装说明挺简单的,先安装许可证服务器,再安装程序本体,接着设置许可证服务器。实际上有不少容易踩坑的点需要注意。

1. 安装MSC许可证服务器

进入程序所在文件夹,运行许可证守护进程安装文件。默认情况下会启动图形安装界面,提示不支持Ubuntu。这里通过--mode console进入文本安装界面。

./msc_licensing_lithium_linux64.bin --mode console

输入Y或直接回车确认进入安装程序。

7cb70d28ddfa6b682a6021c05be14388.png

显示本机名称和硬件信息,按空格键继续。

e2ae7d8009941db67d375e153e29bceb.png

输入安装路径,根据自己的需要输入安装位置的绝对路径。如果安装在${HOME}目录以外的位置,需要注意登陆用户在该路径下是否有读写权限,否则需要通过管理员权限重新运行安装程序。

767247b5c262a22534f5e11661e8b274.png

输入日志文件保存路径。

ff6776d7dc24ff1b0616d4bb15af573e.png

阅读时长1分钟
Andrew Moa

超算平台安装Abaqus

最近因为业务关系和某家超算供应商有合作,使用过程中涉及到Abaqus软件部署问题。虽然平台客服提供了安装方案,但对于我这种爱瞎折腾的人来说不自己亲自动手解决是不会善罢干休的,而且还可以顺便水篇文章。

1. 平台配置

哪家平台就不细说了,反正又没给我付广告费。

这里用的安装包是SIMULIA 2024,系统要求GLIBC>=2.281GLIBCXX>=3.4.21CXXABI>=1.3.9。后两个好解决,可以通过LD_PRELOAD载入高版本的libstdc++.so暂时绕过限制。但是GLIBC涉及到底层动态库,除非升级发行版或者重新编译,否则真没什么好的解决办法。

用以下命令查看当前登陆节点的GLIBC版本。

getconf GNU_LIBC_VERSION

55457d02888d05e9fb7428ba2edf2ee6.png

注意这是登陆节点的GLIBC版本,计算节点和登陆节点的GLIBC甚至发行版未必一致,需要和平台确认清楚。

按这些平台的尿性,部署节点安装的大多数是CentOS 7或者对应版本的RHEL发行版,版本号不会太高,毕竟要优先保证兼容性。

uname -r -v

032011cce7ff5fddfd34c28306d2353b.png

2. GLIBC切换

好在我用的这个平台推出了GLIBC版本热切换功能2,搭配slurm在计算脚本头部添加两行注释即可,也算是十分方便了。

...
#SBATCH --comment={glibcVersion:2.31} # 指定使用glibc 2.31环境
#SBATCH --exclusive # 独占节点
...

至于哪个分区支持哪些GLIBC版本,可以通过whichpartition命令查看。

5e9eea6bc8bc9f5d8e3f323d00bcdbe9.png

阅读时长1分钟
Andrew Moa

Ubuntu通过Docker运行macOS

最近由于开发需求,需要在macOS平台下测试和验证开发的应用。奈何手头上没有苹果电脑,又囊中羞涩。于是考虑在单位工作站上安装macOS虚拟机以解燃眉之急。

之前尝试了通过VirtualBox安装,无奈以失败告终。后来看到有大佬通过Docker安装macOS12,遂尝试下。

1. 安装Docker

通过以下命令安装Docker Engine。

sudo apt update
sudo apt install docker.io
sudo systemctl start docker
sudo systemctl enable docker

需要确保宿主机上的KVM虚拟化已开启并已添加权限,运行以下命令。

sudo chmod 666 /dev/kvm

2. 拉取macOS镜像

运行以下命令拉取 dockurr/macos 镜像:

docker pull dockurr/macos

国内可以通过镜像地址加速3

docker pull docker.1ms.run/dockurr/macos

3. Docker运行权限问题

如果出现permission denied的问题,除了提权sudo运行外,可以将当前用户加入docker组内,重启后解决。

# 检查是否存在 Docker 用户组
cat /etc/group | grep docker
# 如果不存在,则创建 Docker 用户组
sudo groupadd docker
# 将当前用户添加到 Docker 用户组
sudo gpasswd -a $USER docker
# 更新用户组
newgrp docker

4. 运行 Docker 容器

使用以下命令启动 macOS 容器,可以将其保存为脚本方便调用。如果是国内使用镜像地址下载的话,记得把最后的dockurr/macos换成带镜像地址的链接,例如docker.1ms.run/dockurr/macos

阅读时长1分钟
Andrew Moa