惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

阮一峰的网络日志
阮一峰的网络日志
博客园 - 司徒正美
D
DataBreaches.Net
宝玉的分享
宝玉的分享
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
博客园 - 【当耐特】
人人都是产品经理
人人都是产品经理
博客园 - Franky
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
IT之家
IT之家
博客园 - 三生石上(FineUI控件)
J
Java Code Geeks
腾讯CDC
博客园_首页
The Cloudflare Blog
S
SegmentFault 最新的问题
C
Check Point Blog
美团技术团队
爱范儿
爱范儿
大猫的无限游戏
大猫的无限游戏
Hugging Face - Blog
Hugging Face - Blog
T
The Blog of Author Tim Ferriss
A
About on SuperTechFans
Blog — PlanetScale
Blog — PlanetScale

See you soon

哟,好久不见,无线打印 | See you soon 试试将文章版本化管理吧 | See you soon 使用 Quadlet 将 Podman 中的 Postgres 当作 systemd 服务运行 | See you soon 大他者,那个无时无刻都在盯着你的东西 | See you soon Laws of Software Engineering,软件工程定律 | See you soon 浅记多因素身份认证 | See you soon Linux 内核中的度量单位 | See you soon 重置 GPG 智能密钥 | See you soon 向 NAS 引入 samba | See you soon 无法重复键入的 Fcitx5 | See you soon ZFS 降级事故 | See you soon 记被 XanMod Kernel 和 AppArmor 联合坑的一次踩坑 | See you soon agent 的 skill 与 toolcall | See you soon 记一次服务器被挂恶意挖矿二进制 | See you soon 活着的 Arc | See you soon 令 acme.sh 使用 Cloudflare 的 DNS API 签发与续签证书 | See you soon 于 Tokio 中卸载 CPU Bound 任务 | See you soon 如我所见,梦破碎的时候 | See you soon 74LS 家族手册 | See you soon JDK Projects 备忘录 | See you soon 关于历史 | See you soon 用 curl 下载 OnePlus 的 ROM | See you soon 实用命令切片 | See you soon 再见,Oh My Zsh。 | See you soon 你不应该复用 strings.Builder | See you soon 博客的明日 | See you soon 被 AppArmor 击杀的 Dockge | See you soon AI 时代的自我 | See you soon 支持删除的布隆过滤器 | See you soon 基于栈的虚拟机与基于寄存器的虚拟机 | See you soon
使用 debootstrap 与 schroot 构建一个纯净环境 | See you soon
Krysztal Huang · 2024-07-12 · via See you soon

chroot 在系统工程和系统架构方面有很重大的作用,可以创建一个不是那么隔离的纯净环境,用于调试一些可能会污染宿主机环境的程序是十分方便的。

为什么不使用虚拟机?

使用虚拟机说实话挺不方便的,如果使用虚拟机的话需要单独开一片磁盘空间和各种配置。

很多环境下不需要如虚拟机那样的隔离空间(例如软件包构建与打包等),在这种环境下使用 chroot 就可以了。

事实上,在 Debian 的官方打包流程里也推荐使用 chroot 的派生工具 schroot 来打包程序1,这样打包出来的程序可以认为在所有 Debian 基础系统上是幂等的。

下一步…

我们接下来制作的,DebianWiki 里称之为 Caged Debian.

Caged Debian

首先需要安装两个必要软件包

apt install debootstrap schroot

然后变更 schroot 的配置

cp /etc/schroot/schroot.conf /etc/schroot/schroot.conf.old

nano /etc/schroot/schroot.conf

接下来填入这些内容,填的时候记得改用户名

[unstable-amd64]

description=debian unstable amd64

type=directory

directory=/srv/chroot/unstable-amd64

users=<YOUR_NAME>

root-groups=root

preserve-environment=true

在完成上一步后,就可以开始准备安装了

mkdir -p /srv/chroot/unstable-amd64

debootstrap --arch amd64 unstable /srv/chroot/unstable-amd64 https://deb.debian.org/debian

请注意,如果你使用的底层系统版本出现在 Debian UsrMerge 之前那么你只能使用本文发出时的 Debian Stable (Debian12)版本,否则你会遇到很多奇怪的问题比如说无法解压。

完成这一步后需要准备一下 Caged Debian:

chroot /srv/chroot/unstable-amd64

echo proc /proc proc defaults 0 0 >> /etc/fstab

在上一步是写的挂载 /proc 虚拟文件系统,这一步必须要做。

然后就可以进入环境了

schroot -c unstable-amd64 -u root

  1. DebianWiki: SchrootPackageing