Bootstrap命令详解

在debian/ubuntu系统中可以使用bootstrap命令用来构造一套定制化debian文件系统。该命令会生成的目录符合Linux文件系统标准(FHS)的一套文件目录,同时安装基本linux命令。bootstrap命令可以将之视为一个标准的bebian安装程序,但不同于ISO镜像安装,我们可以通过命令筛选我们需要的命令组。
不过虽然看很多人在用bootstrap实现各种效果,但是炫技的各种参数可怜的我是不会用的,所以今天逼着自己把所有的参数变量翻译了一遍统统加深了该参数的使用方式。

安装:
安装debootstrap命令非常简单,可以使用apt进行依赖安装

sudo apt-get install debootstrap

语法:

debootstrap [命令] [发行版本代号] [指定存放目录] [指定源]

示例如下:

debootstrap --arch=armel --variant=minbase stretch fs_debian_stretch https://mirrors.cloud.tencent.com/debian

debootstrap命令集

参数名 默认 说明
--help 帮助
--version 打印出Bootstrap版本号
--verbose 不打印wget等包下载数据,进行静默安装
--download-only 仅下载安装包,但不进行安装
--print-debs 输出本次默认需要安装的deb包,并退出安装程序
--arch=A 选择安装目标架构,包含i368、armel
--include=A,B,C 可以将一些额外的软件包引入到此次安装中,每个软件以逗号分隔,该命令的含义类似于直接运行了apt-get install命令去安装这些软件。
--exclude=A,B,C --include相反,可以通过该命令移除默认安装的软件包,具体可以通过--print-debs输出所有的安装包。不过值得注意的是,每个发行版并没有标示出关键软件,若移除了这些关键软件有可能会导致该系统出现崩溃或生成失败。
--components=A,B,C main
non-free
contrib
restricted
universe
multiverse
选择该系统使用的组件。
Debian系统将软件分为main(自由软件)、non-free(非自由软件)和contrib(依赖非自由软件),可以把组件许可加入到该系统。
Ubuntu分类略有差异,它将软件分为4类main组件、restricted组件、universe组件、multiverse组件。
--variant=X minbase
buildd
fakechroot
scratchbox
variant参数的原意是“Name of the bootstrap script variant to use”我理解为是选择该系统的包管理方式,该管理方式分为四种:
1、minbase:安装基本的apt工具及本发行版需要的基础安装包。
2、buildd:将所有基础安装包编译成所选择目标架构的软件并安装。
3、fakechroot:生成用于fakechroot环境所需要的软件体系,并且该体系不会安装任何基础软件包。
4、scratchbox:生成用于scratchbox环境所需要的软件体系。
--merged-usr 将安装到{bin,sbin,lib}文件夹的库和程序链接到/usr文件夹下
--keyring=K 根据Release文件下载签名并和指定的gpg密钥文件对比签名。默认不检测
--no-check-gpg 关闭检查软件的签名
--force-check-gpg --no-check-gpg命令相反,该命令为强制检查软件的签名
--no-resolve-deps 禁用依赖包检测。在生成系统时,bootstrap会检测安装软件时可能产生的依赖项,若存在这些依赖包,会弹出警告。但这种依赖项检测是不同于apt那种依赖包检测的,所以是不建议使用这个属性来禁止依赖包检测的
--unpack-tarball=T 通过指定的tar文件中获取deb安装包,而不是通过wget去下载官方deb包
--make-tarball=T --download-only命令相似,但该命令是将所有deb包下载至本地后,打包成tar并输出至指定目标,该tar文件可以传递给--unpack-tarball命令使用
--second-stage-target=DIR 该命令是和--second-stage命令配合,一般进入系统执行该命令需要在root下执行,但若指定该目录,需要进入指定子目录执行。
执行该命令需要chroot进入系统后执行。
--extractor=TYPE dpkg-deb
ar
选择deb安装包的解包器,是通过dpkg-deb工具还是通过tar工具进行解包
--debian-installer 指定该系统为debian-installer程序专用
--private-key=file 设置该系统的私钥证书
--certificate=file 指定该系统用户登陆时所需要验证的pem公钥私钥证书
--no-check-certificate 客户端登陆时不进行证书检查
--foreign 若目标架构与本机架构不符时,需要携带该参数。该参数作用是仅对下载的deb包进行初始化解包,若完成安装需要配合--second-stage命令完成后续的引导安装。
--second-stage 若在安装时执行--foreign时,系统安装不会自动进行引导安装,所以需要进入系统执行/debootstrap/debootstrap --second-stage命令完成剩余的引导程序。
--keep-debootstrap-dir 进入系统执行完系统安装后,不删除/debootstrap/文件夹
发布了56 篇原创文章 · 获赞 57 · 访问量 33万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 编程工作室 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览