如何在 OpenFOAM docker-machine - boot2docker: bash: tce-load: command not found 上安装包
How to install packages on OpenFOAM docker-machine - boot2docker: bash: tce-load: command not found
我正在尝试在 the OpenFOAM docker-machine image 上安装一些基于 boot2docker 的软件包。当 运行 uname -a
命令时,我得到信息:
Linux default 4.4.111-boot2docker #1 SMP Thu Jan 11 16:25:31 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
在 this page 中已经解释了 boot2docker 发行版是基于 Tiny Core Linux
发行版的,所以要安装一个包必须:
- 检查the Tiny Core Linux software repository page
- 使用命令
tce-load -w -i packagename.tcz
安装
我按照这些步骤安装了 git。但我收到错误:
bash: tce-load: command not found
我进行了搜索,并按照说明提供了 here apparently the official repository is offline. There a list of mirrors。但是我不知道如何从这些镜像安装包!
P.S。或者,OP 的 a bizarre answer 已被投票,但尚不清楚 he/she 对 运行 boot2docker ssh
的含义
如果您能帮助我了解问题所在以及如何解决,我将不胜感激。
2021 年 12 月更新:
现在我对 uname -a
returns 的作用有了更好的理解。基本上,所有 docker 容器与主机 Linux OS (reference). To know what is the container's OS, a safe option is the cat /etc/issue
(reference) 共享相同的内核。此外,似乎一些新的“官方”OpenFOAM 容器是基于 Ubuntu,没有任何管理员密码。因此,可以使用 apt
/apt-get
/...
安装新软件包
new/correct:
感谢 Pawan Ghildiyal from ESI Group and Karen Kettle from OpenCFD Limited 我找到了正确的解决方案。
似乎整个 OpenFOAM docker 图像都是基于 CentOS
而不是 boot2docker
并且可以使用 yum
轻松安装新包!因为启用docker到运行的小虚拟盒子接口被命名为boot2docker它returns当被uname -a
询问时被命名为boot2docker
。
您只需要在 docker 终端中使用 root
用户:
- 运行
Docker QuickStart Terminal
(我用的是windows)
docker start of_1712
docker exec -ti of_1712 /bin/bash
su -
然后是默认密码,在本例中为 fuser2017
!
yum install packageName
old/wrong:
如前所述,here it turns out that Docker deprecates the Boot2Docker
command line in favor of docker-machine
. So the answer provided here 也已贬值。
解法:
使用命令 docker-machine ssh machinename
(在我的例子中 machinename
是 default
)连接到 docker-机器映像。
如说明here run the command version
and look for the package name in the right repository. in my case the version is 8.2.1
and the repository is http://repo.tinycorelinux.net/8.x/x86/tcz/
然后 运行 命令 tce-load -w -i packagename.tcz
.
由于某种原因,OpenFOAM 团队提供的官方 OpenFOAM_Start
批处理文件不起作用!
我正在尝试在 the OpenFOAM docker-machine image 上安装一些基于 boot2docker 的软件包。当 运行 uname -a
命令时,我得到信息:
Linux default 4.4.111-boot2docker #1 SMP Thu Jan 11 16:25:31 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
在 this page 中已经解释了 boot2docker 发行版是基于 Tiny Core Linux
发行版的,所以要安装一个包必须:
- 检查the Tiny Core Linux software repository page
- 使用命令
tce-load -w -i packagename.tcz
安装
我按照这些步骤安装了 git。但我收到错误:
bash: tce-load: command not found
我进行了搜索,并按照说明提供了 here apparently the official repository is offline. There a list of mirrors。但是我不知道如何从这些镜像安装包!
P.S。或者,OP 的 a bizarre answer 已被投票,但尚不清楚 he/she 对 运行 boot2docker ssh
如果您能帮助我了解问题所在以及如何解决,我将不胜感激。
2021 年 12 月更新:
现在我对 uname -a
returns 的作用有了更好的理解。基本上,所有 docker 容器与主机 Linux OS (reference). To know what is the container's OS, a safe option is the cat /etc/issue
(reference) 共享相同的内核。此外,似乎一些新的“官方”OpenFOAM 容器是基于 Ubuntu,没有任何管理员密码。因此,可以使用 apt
/apt-get
/...
new/correct:
感谢 Pawan Ghildiyal from ESI Group and Karen Kettle from OpenCFD Limited 我找到了正确的解决方案。
似乎整个 OpenFOAM docker 图像都是基于 CentOS
而不是 boot2docker
并且可以使用 yum
轻松安装新包!因为启用docker到运行的小虚拟盒子接口被命名为boot2docker它returns当被uname -a
询问时被命名为boot2docker
。
您只需要在 docker 终端中使用 root
用户:
- 运行
Docker QuickStart Terminal
(我用的是windows) docker start of_1712
docker exec -ti of_1712 /bin/bash
su -
然后是默认密码,在本例中为fuser2017
!yum install packageName
old/wrong:
如前所述,here it turns out that Docker deprecates the Boot2Docker
command line in favor of docker-machine
. So the answer provided here 也已贬值。
解法:
使用命令
docker-machine ssh machinename
(在我的例子中machinename
是default
)连接到 docker-机器映像。如说明here run the command
version
and look for the package name in the right repository. in my case the version is8.2.1
and the repository ishttp://repo.tinycorelinux.net/8.x/x86/tcz/
然后 运行 命令
tce-load -w -i packagename.tcz
.
由于某种原因,OpenFOAM 团队提供的官方 OpenFOAM_Start
批处理文件不起作用!