我试图在基于OpenFOAM对接机图像的boot2docker上安装一些软件包。在运行uname -a命令时,我会得到以下信息:
Linux 4.4.111-boot2docker #1 SMP清华1月11日16:25:31 UTC 2018 x86_64 GNU/Linux
在此页中,已经解释过boot2docker发行版是基于Tiny Core Linux发行版的,因此要安装软件包,必须:
tce-load -w -i packagename.tcz安装我按照这些步骤安装git。但我知道错误是:
bash: tce-load:未找到命令
我搜索并解释说,这里显然是离线的官方存储库。在那里提供了镜像列表。但我不知道如何从这些镜子中安装一个软件包!
或者,在这里,OP中的奇怪的回答被选中了,而他/她运行boot2docker ssh的含义还不清楚
如果你能帮我知道问题是什么以及我如何解决这个问题,我将不胜感激。
发布于 2018-01-23 19:24:34
更新10-12-2021:
现在,我更好地理解了为什么uname -a会返回它所做的事情。基本上,所有的坞容器都与主机Linux (参考文献)共享同一个内核。要知道容器的操作系统是什么,一个安全的选项是cat /etc/issue (参考文献)。此外,一些新的“官方”OpenFOAM容器似乎是基于Ubuntu的,没有任何管理密码。所以我们可以用apt/apt-get/安装新的软件包.
新建/更正:
多亏了来自ESI集团的Pawan Ghildiyal和OpenCFD有限公司凯伦·凯特尔,我找到了正确的解决方案。
看起来整个OpenFOAM码头映像都是基于CentOS而不是boot2docker的,我们可以使用yum轻松地安装新的软件包!由于支持码头运行的小型虚拟盒接口名为boot2docker,所以当uname -a询问时,它返回为boot2docker。您只需在停靠终端中使用root用户:
Docker QuickStart Terminal (我在使用windows)docker start of_1712docker exec -ti of_1712 /bin/bashsu -,然后是默认密码,在本例中是fuser2017!yum install packageName旧/错:
正如解释过的这里一样,Docker反对Boot2Docker命令行以支持docker-machine。因此,如果这里也被贬值的话,答案就是。
解决方案:
docker-machine ssh machinename (在我的例子中是machinename is default)连接到对接机映像。version命令,并在正确的存储库中查找包名。在我的例子中,版本是8.2.1,存储库是http://repo.tinycorelinux.net/8.x/x86/tcz/tce-load -w -i packagename.tcz。由于某些原因,OpenFOAM_Start团队提供的正式OpenFOAM批处理文件无法工作!
https://stackoverflow.com/questions/48409083
复制相似问题