Ubuntu 上线虫模拟程序 OpenWorm 的安装、运行及源码查看
安装 VMWare 虚拟机及 Ubuntu 系统
VMWare
在 此处 下载 VMWare Workstation Pro。可参照 B站up主 Micro_Frank 的视频教程 并安装。对于 Windows 系统,建议不要装在 C 盘。
Ubuntu
在 此处 下载 Ubuntu 桌面版,例如 Ubuntu 24.04.2 LTS 。你将得到一个 .iso 镜像文件,同样建议不要放于 C 盘。
请注意, OpenWorm 要求您的机器(或虚拟机)至少有 60 GB 的可用空间和至少 2GB 的 RAM 。建议在新建虚拟机时选择 100 GB 及以上的硬盘大小和 4096 MB 以上的内存。
可参照 B站up主 嘿黑哥 的视频教程 ,在 VMWare 上安装 Ubuntu 虚拟机。安装时选择“交互安装”,并建议选择附带安装额外的格式支持服务。
在 Ubuntu 上安装 Docker Engine
注意: Docker Destop(桌面版)与 Docekr Engine (引擎)不同,前者包含后者,前者在后者的基础上增加了桌面化窗口。二者不能同时安装及运行!否则会发生冲突。以下介绍后者的安装过程。
注意:许多错误可能都是由于权限不足所致。
- 短暂获取 root 权限:在命令前加上
sudo。 - 直接以 root 身份运行终端:
sudo su。
参照 此处 (来自 Docker 官网,需要使用魔法),使用 apt 方法安装 Docker Engine。
# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
# Add the repository to Apt sources:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Docker Hub 已经被神秘的墙屏蔽(安装后进行 HelloWorld 测试发现无法连接即可能由于此原因,但此测试不通过貌似无影响),导致镜像无法获取,因此需要配置国内镜像源。
目前,国内已知的常规镜像源均已被屏蔽,请使用第三方镜像源,参见 此处 。
(注意:进行以下步骤前请先获取超级用户权限,即使用sudo su)
- 创建目录:
sudo mkdir -p /etc/docker。 - 创建 "daemon.json" 文件并写入(参照以下格式):
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": [
"https://可用镜像源1",
"https://可用镜像源2",
"https://可用镜像源3"
]
}
EOF
注意测试 Docker 是否正常工作:sudo systemctl status docker,需要保证其状态为 active 。
(test)在 Windows 上安装 Docker Desktop
在 Docker Desktop 的 Settings 页面修改 Docker Engine:
{
"builder": {
"gc": {
"defaultKeepStorage": "20GB",
"enabled": true
}
},
"experimental": false,
"registry-mirrors": [
"https://可用镜像源1",
"https://可用镜像源2",
"https://可用镜像源3"
]
}
之后进行了蜜汁操作(也许是梯子开了全局,也许是等了一会然后 restart 了一下 Docker 引擎),总之就可以成功地拉取镜像了(无需梯子)。(在 Docker Desktop 查询并加载镜像信息需要梯子甚至可能要开全局,但由于加上了几条可用镜像源,在命令行窗口下载镜像时却不用梯子。)
注意:每次结束后再直接运行是没用的(否则会继续运行之前未完成的任务或不运行),要先./stop.sh后才能再次 run 。( stop 之后 output 中的数据会保留)
获取 OpenWorm
参照 OpenWorm 的官方介绍。
安装 Git
命令:sudo apt install git
获取 OpenWorm 终端
命令:git clone http://github.com/openworm/openworm
运行或编译运行 OpenWorm
参照 YumNope 的知乎文章 。YumNope 的知乎文章
首先在终端 cd 到 OpenWorm 的目录下: cd openworm。
运行 OpenWorm 终端:./run.sh。或者可以指定模拟时间:./run.sh -d [time],将 [time] 替换为时间(单位:毫秒)即可。终端会下载约 3GB 的镜像文件,下载完成后直接进行模拟。
- 表 1 运行时间参考
| 配置 | 模拟时间 | 运行时间 | 运行速度 |
|---|---|---|---|
| 个人电脑 ( 轻薄本,集显 ) | 4ms | 1min | 0.004spm |
| 实验室 ( 4 张 4090 ) | 300s | 1440min | 0.208spm |
你也可以选择先手动编译:./build.sh,如果跳过这一步直接 run 的话,它也会直接获取已经编译好的最新镜像,没有太大区别。(可能时间较长)
运行结束后,你会发现 openworm 目录里的 output 文件夹下多了一个文件夹,即此次模拟的成果。
参照 YumNope 的文章,每次输出结果包含以下内容:
- 一个原始视频
- 一个前缀为 cut_ 剪去开头黑场的视频
- 一个前缀为 speeded_ 以正常速度播放的视频
- 一些(96个)肌肉的活动图,钙离子浓度、活动性之类
- 名为 report 的文件(存放模拟的一些信息)
源码查看
-
运行:
./run-shell-only.sh。 -
加载完成后,另开一个终端,输入:
docker ps,记住 CONTAINER 的前 4 位。 -
新建一个目录准备存放源码,在终端中 cd 到该目录,输入:
docker cp xxxx:/home/ow ow,其中 xxxx 为上述 CONTAINER 的前 4 位值。
以上 3 个步骤完成后,源码已经存放到你设置的目录中。
附录
与虚拟机的文件夹共享
以 Windows 上通过 VMWare 安装的 Ubuntu 虚拟机为例。
- 右键 VMWare 左侧你的主机名称,选择“设置”。
- 打开“选项”界面,选中“共享文件夹”,改为“总是启用”。
- 在 Windows 上新建一个文件夹作为预备的共享文件夹。
- 选择“添加”共享文件夹,选中刚刚新建的文件夹,输入文件夹名。
- 完成向导,设置完成,注意不要选择只读。
此后, Windows 上该文件夹的内容会同步出现在 Ubuntu 上 \mnt\hgfs\ 的对应文件夹中, Ubuntu 上对应文件夹的内容也会同步出现在 Windows 上,即实现了和虚拟机之间的文件夹共享。
浙公网安备 33010602011771号