是什么 ? | : | a tool for installing a Debian GNU/Linux based system into a subdirectory of another, already installed system |
开发语言 | : | C |
支持系统 | : | GNU/Linux、FreeBSD |
官方主页 | : | https://wiki.debian.org/Debootstrap |
操作系统 | 包管理器 | 安装命令 |
---|---|---|
apt | sudo apt-get install -y debootstrap | |
CentOS | yum | sudo yum install -y debootstrap |
dnf | sudo dnf install -y debootstrap | |
openSUSE | zypper | sudo zypper install -y debootstrap |
Alpine Linux | apk | sudo apk add debootstrap |
pacman | sudo pacman -Syyu --noconfirm | |
FreeBSD | pkgng | sudo pkg install -y debootstrap |
debootstrap
命令的使用格式如下:
debootstrap --help
debootstrap --version
debootstrap [option]... <versionCodeName> <targetPath> <repoURL>
查看debootstrap
的使用帮助。
查看debootstrap
的版本号。
打印出更详细的内容,当使用wget下载包的时候。
不对下载的包进行gpg签名检测。
minbase | 只安装必须的软件包和apt |
buildd | 安装build-essential 包和apt |
fakechroot | 安装的软件都没有root 权限 |
scratchbox | 用于scratchbox 交叉编译环境 |
设置target
的CPU架构。
不设置的话,就是当前机器的CPU架构。
component
是apt仓库中的概念。
示例:
debootstrap --components=main,restricted,universe,multiverse bionic boinic-root/ https://mirrors.tuna.tsinghua.edu.cn/ubuntu
打印出默认会安装的软件包的名称。
这个操作会从repoURL
中下载元数据到targetPath
中, 分析他们之间的依赖关系,最后会把targetPath
删除掉。如果同时使用了--keep-debootstrap-dir
就不会删除掉targetPath
。
示例:
debootstrap --arch=amd64 --print-debs bionic boinic-root/ https://mirrors.tuna.tsinghua.edu.cn/ubuntu
指定要安装的软件的包名称。
示例:
debootstrap --arch=amd64 --include=curl,vim bionic boinic-root/ https://mirrors.tuna.tsinghua.edu.cn/ubuntu
排除一些包,也就是指定的包不安装。
注意:可能会把某些必须的包排除掉,这样会导致出现错误。
示例:
debootstrap --arch=amd64 --exclude=curl,vim bionic boinic-root/ https://mirrors.tuna.tsinghua.edu.cn/ubuntu
step1、在本地文件系统中创建Ubuntu18.04文件目录层次结构
sudo debootstrap \
--variant=minbase \
--components=main,restricted,universe,multiverse \
bionic \
bionic-root/ \
https://mirrors.tuna.tsinghua.edu.cn/ubuntu
step2、查看bionic-root
目录中的内容
step3、使用chroot将bionic-root
目录切换为根目录
step4、在bionic
子系统里做一些操作
step5、将bionic-root
目录中的内容打包成tar包, 以此包作为Docker镜像导入到Docker镜像列表
中
sudo tar c -C bionic-root . | sudo docker import - bionic
step6、以bionic
镜像运行一个容器
docker run --tty --interactive --rm bionic /bin/bash