一直喜欢在手机下用termux的原因是,我随时可以采用anlinux的方式,来在proot的容器下运行一套linux, 然后做各种验证,不会污染别的系统。可是必竟手机的限制还是大啊。总想着我的PC机上能不能装termux,今天竟让我找到了,原来linux原生就有这种功能的软件,它就是Distrobox
一 简介
- distrobox create 创建一个新的容器环境
- distrobox enter 进入一个己创建的容器环境
- distrobox list 列出所有由distrobox创建过的容器
- distrobox stop 停止一个正在运行的容器
- distrobox rm 删除一个容器
- distrobox upgrade 升级容器内的软件包
二 创建容器常用参数
- –name :为容器指定一个名字,如 ubuntu20,debian12等
- –image: 指定要使用的镜像 (如 ubuntu:22.04, archlinux:latest)
- –home:为容器指定一个独立的Home目录,以免污染宿主机的home目录
- –additional-packages / -ap: 在创建时预装软件包(如 git vim curl)。
- –init-hooks: 在容器初始化完成后执行的命令。
- –root / -r: 以 root 权限启动容器。
- –nvidia: 尝试集成主机的 NVIDIA 驱动,用于 GPU 加速
三 列子
例子 1.
1 | # 创建一个名为 my-ubuntu 的 Ubuntu 22.04 环境,并预装 git 和 vim |
例子 2.
1 | $ distrobox create \ |
参数解释
- –memory 4G –cpus 2:限制资源,防止测试程序吃光机器性能
- –mount ~/work/testdata:/opt/testdata:ro:只读挂载你宿主机测试素材;不需要可以删掉
- –no-home:不把宿主~目录直接映射进容器,防止容器内误删宿主文件(安全推荐)
四 更安全的参数
- distrobox ephemeral 创建一个临时容器,退出 shell 后自动销毁,适合一次性任务
1 | distrobox ephemeral \ |
ephemeral 环境内所有修改,exit 之后全部消失,不要存放重要数据,不留任何痕迹
2. –network none 容器无法联网,防止恶意程序外联下载、窃取信息
1 | distrobox ephemeral \ |
