Some tips about package management.
There are two key point that push you to improve the devopts capability. The first is start to build software without the root capabilities on supercomputer. The second is to build softwares on a machine without network connection.
preparation
最理想的环境是在测试环境装一个和部署环境一模一样的虚拟机,或者是真实的节点,这样就能在测试环境中反复演练发现的问题,然后到了真实环境下及时没有网络,也能一下把所有的内容给部署起来。
注意安装虚拟环境的时候,下载对应的节点的时候,需要留意一下对应的节点是x86的架构还是arm的架构,如何是arm的结构,就必须找一个arm的机器,来安装虚拟机,比如mac的UVM,通过qume来模拟不同的架构的硬件。如果自己的机器是一个x86的windows的话,就不太好直接安装arm的操作系统的镜像了。
yum and apt-get
一个无网的机器,安装MPI,能不能在一个网的环境把MPI build好然后直接把binary拷过去,是否存在依赖问题。直接copy也最好是copy完整的安装目录,就是同时包含bin lib share的这个目录
chcecking cache place
/etc/yum.conf 可以设置是否缓存了pkg
download the depedencies
注意一下 apt (apt 是 apt-get的升级版) 与 dpkg 的区别,apt在安装的时候帮忙检测了依赖,但是dpkg不检测,就是安装,如何安装完成之后配置时发现依赖不work,这个时候就会报一些错误。
如果在有网的环境直接apt install … 这个时候会自动把所有的相关的包装好,如果想把这些包同时下载下来的话,目前我的操作流程是这样的:机器A和机器B是同样的OS,机器B不能联网,在机器A上首先 apt install dpkg -i *.deb
或者是 apt install ./*.deb
从而安装全部的内容。
注意删除的时候 使用 apt purge
在yum的环境下时,yum 是基于rpm进行的管理,方法上与上述的类似,下载的是rpm的包,然后在手动在另外一个机器上安装rpm的包。
transfer rpm to dep
单独安装于系统安装的区别
单独安装是推荐的,可以用 module 加载
一般目录是
$ 某个自定义的目录 |
系统安装时候bin用的是/usr/bin,share可能用途的是/opt/share,然后lib是/usr/lib,都是系统级的,不方便管理。