Linux平台多种软件环境动态共存

本文针对没有root权限的Linux计算平台用户,介绍了一种简单有效的自维护软件环境管理方法。通过编写和运行shell脚本,用户可以在不同计算任务中切换不同版本的软件,如g09和g16,而无需修改~/.bashrc或创建多个用户ID。这种方法特别适合需要在不同软件版本间切换的计算模拟场景,如化学和材料科学的计算。此外,还提到了如何处理不同软件对OpenMPI版本的需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这是写给生、化、环、材做计算模拟的硕士、博士新生看的. Linux运维大佬请绕道看别的去吧.

其实Environment Module是非常不错的方案, 即使不会tcl语言, 照着范例改改也能解决问题. 那么问题在于, 如果系统本来就没有预装module模块呢? 而且, 你就是一个普通用户呢?

以下提供一种, 在Linux计算平台上, 不需要root权限, 自己维护和配置多种软件环境的简单且有效方案.

一个简单例子.

比如是要g09.d01算某某性质; 而后使用g09.e01再算XX性质, 而后使用g16计算激发态频率.

如果采用愚蠢的~/.bashrc来配置, 可能某些大聪明会告诉你, 搞三个用户ID, 每个ID启用一个版本的软件. 然后呢, 你又没有root权限, 添加不了用户, 然后就死循环了....

一个简单的做法如下:

清空~/.bashrc任何自定义软件的设定. 使用下面一个简单的SHELL脚本来运行你的计算.

#!/bin/bash

# run with g09d01
source /path/to/script/enable_g09d01.sh
g09 input.com 

wait

# run with g09e01
source /path/to/script/enable_g09e01.sh
g09 input-XX.com 

wait

# run with g16C01
source /path/to/script/enable_g16c01.sh
g16 another_input.com

wait

echo "done"

#EOF

 至于enable_g16c01.sh文件内容, 当然是把原来写在~/.bashrc文件中的相关内容抄写在这里呀. 这应该比配置module要简单很多的. 

再比如, ORCA 4.2.1 需要OpenMPI 3.1.4; ORCA 5.0.3 需要OpenMPI 4.1, 也可以采用类似的方案来处理呀. 

即使有root权限, 也勿使用/etc/profile做全局设定, 除非这个机器就你一个人使用, 就用一个版本的软件. 

更多信息, 看这里的讨论:

cp2k-8.2编译 - 第一性原理 (First Principle) - 计算化学公社 - 第2页icon-default.png?t=M3C8http://bbs.keinsci.com/thread-23579-2-1.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值