位置: 编程技术 - 正文

在Ubuntu系统中配置chroot环境的教程(ubuntu20.04安装配置)

发布时间:2024-02-26

推荐整理分享在Ubuntu系统中配置chroot环境的教程(ubuntu20.04安装配置),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:ubuntu安装配置,ubuntu配置lib,ubuntu基本配置,配置ubuntu,ubuntu怎么配置环境,ubuntu怎么配置环境,ubuntu系统中配置环境变量,配置ubuntu,内容如对您有帮助,希望把文章链接给更多的朋友!

你可能会有很多理由想要把一个应用、一个用户或者一个环境与你的 linux 系统隔离开来。不同的操作系统有不同的实现方式,而在 linux 中,一个典型的方式就是 chroot 环境。

在这份教程中,我会一步一步指导你怎么使用 chroot 命令去配置一个与真实系统分离出来的独立环境。这个功能主要可以用于测试项目,以下这些步骤都在 Ubuntu . 虚拟专用服务器(VPS)上执行。

学会快速搭建一个简单的 chroot 环境是一项非常实用的技能,绝大多数系统管理员都能从中受益。Chroot 环境

一个 chroot 环境就是通过系统调用,将一个本地目录临时变成根目录。一般所说的系统根目录就是挂载点"/",然而使用 chroot 命令后,你可以使用其它目录作为根目录。原则上,任何运行在 chroot 环境内的应用都不能访问系统中其他信息(LCTT译注:使用 chroot 把一个目录变成根目录,在里面运行的应用只能访问本目录内的文件,无法访问到目录外的文件。然而,运行在 chroot 环境的应用可以通过 sysfs 文件系统访问到环境外的信息,所以,这里有个“原则上”的修饰语)。Chroot 环境的用处

测试一个不稳定的应用服务不会影响到整个主机系统。 就算使用 root 权限做了些不当的操作,把 chroot 环境搞得一塌糊涂,也不会影响到主机系统。 可以在你的系统中运行另外一个操作系统。

举个例子,你可以在 chroot 环境中编译、安装、测试软件,而不去动真实的系统。你也可以在位环境下使用 chroot 创建一个位环境,然后运行一个位的程序(LCTT泽注:如果你的真实环境是位的,那就不能 chroot 一个位的环境了)。

但是为了安全考虑,chroot 环境为非特权用户设立了非常严格的限制,而不是提供完整的安全策略。如果你需要的是有完善的安全策略的隔离方案,可以考虑下 LXC、Docker、vservers等等。Debootstrap 和 Schroot

使用 chroot 环境需要安装 debootstrap 和 schroot,这两个软件都在 Ubuntu 的镜像源中。其中 schroot 用于创建 chroot 环境。

Debootstrap 可以让你通过镜像源安装任何 Debian(或基于 Debian 的)系统,装好的系统会包含最基本的命令。

Schroot 命令允许用户使用相同的机制去创建 chroot 环境,但在访问 chroot 环境时会做些权限检查,并且会允许用户做些额外的自动设置,比如挂载一些文件系统。

在 Ubuntu . LTS 上,我们可以通过两步来实现这个功能:1. 安装软件包

第一步,在Ubuntu . LTS 主机系统上安装 debootstrap 和 schroot:

复制代码代码如下:$ sudo apt-get install debootstrap $ sudo apt-get install schroot

2. 配置 Schroot

现在我们有工具在手,需要指定一个目录作为我们的 chroot 环境。这里创建一个目录先:

复制代码代码如下:sudo mkdir /linoxide

编辑 schroot 的配置文件:

复制代码代码如下:sudo nano /etc/schroot/schroot.conf

再提醒一下,我们现在是在 Ubuntu . LTS 系统上。如果我们想测试一个软件包能不能在 Ubuntu .(代号是“Saucy Salamander”) 上运行,就可以在配置文件中添加下面的内容:

复制代码代码如下: [saucy] description=Ubuntu Saucy location=/linoxide priority=3 users=arun root-groups=root

根据你的系统要求,调整上面的配置信息。3. 使用 debootstrap 安装位 Ubuntu 系统

Debootstrap 命令会在你的 chroot 环境里面下载安装一个最小系统。只要你能访问镜像源,你就可以安装任何基于 Debian 的系统版本。

前面我们已经创建了 /linoxide 目录用于放置 chroot 环境,现在我们可以在这个目录里面运行 debootstrap 了:

复制代码代码如下:cd /linoxide sudo debootstrap --variant=buildd --arch amd saucy /linoxide/ sudo chroot /linoxide /debootstrap/debootstrap --second-stage

在Ubuntu系统中配置chroot环境的教程(ubuntu20.04安装配置)

你可以将 --arch 的参数换成 i 或其他架构,只要存在这种架构的镜像源。你也可以把镜像源 换成离你最近的镜像源,具体可参考 Ubuntu 官方镜像主页。

注意:如果你是在位系统中创建位系统,你需要在上面第3行命令中加入 --foreign 选项,就像下面的命令:

复制代码代码如下:sudo debootstrap --variant=buildd --foreign --arch i saucy /linoxide/ 完成 chroot 环境

安装完系统后,我们需要做一些收尾工作,确保系统运行正常。首先,保证主机的 fstab 程序能意识到 chroot 环境的存在:

复制代码代码如下: sudo nano /etc/fstab

在文件最后面添加下面的配置:

复制代码代码如下:proc /linoxide/proc proc defaults 0 0 sysfs /linoxide/sys sysfs defaults 0 0

保存并关闭文件。

挂载一些文件系统到 chroot 环境:

复制代码代码如下:$ sudo mount proc /linoxide/proc -t proc $ sudo mount sysfs /linoxide/sys -t sysfs

复制 /etc/hosts 文件到 chroot 环境,这样 chroot 环境就可以使用网络了:

复制代码代码如下:$ sudo cp /etc/hosts /linoxide/etc/hosts

最后使用 schroot -l 命令列出系统上所有的 chroot 环境:

复制代码代码如下:$ schroot -l

使用下面的命令进入 chroot 环境:

复制代码代码如下:$ sudo chroot /linoxide/ /bin/bash

测试安装的版本:

复制代码代码如下:# lsb_release -a # uname -a

为了在 chroot 环境中使用图形界面,你需要设置 DISPLAY 环境变量:

复制代码代码如下:$ DISPLAY=:0.0 ./apps

目前为止,我已经成功地在 Ubuntu . LTS 上安装了 Ubuntu .。

退出 chroot 环境:

复制代码代码如下:# exit

清理一下,卸载文件系统:

复制代码代码如下:$ sudo umount /test/proc $ sudo umount /test/sys

九个能够提高生产效率的bash命令技巧 技巧一、用命令行往文件的顶部添加文字每次我都会重新寻找这个命令的写法。下面就是如何使用sed往一个文件顶部添加一行的方法:复制代码代码如

Linux中apt-get和apt-cache命令使用详解 apt-get和apt-cache是UbuntuLinux中的命令行下的包管理工具。apt-get的GUI版本是Synaptic包管理器。本篇中我们会展示apt-get和apt-cache命令的个不同例子。示例:1

在Ubuntu系统中使用APT-mirror本地软件仓库的教程 今天,我们将向你展示如何在你的Ubuntu个人电脑或Ubuntu服务器中,直接通过Ubuntu官方软件仓库来配置本地软件仓库。在你的电脑中创建一个本地软件仓

标签: ubuntu20.04安装配置

本文链接地址:https://www.jiuchutong.com/biancheng/356325.html 转载请保留说明!

上一篇:初步清理Ubuntu系统的教程(ubuntu如何清理缓存)

下一篇:九个能够提高生产效率的bash命令技巧(提高生殖能力)

  • 企业准备注销了怎么恢复
  • 自有住房出租
  • 账面成本包含增值税吗
  • 税务申报有什么技巧
  • 汇算清缴上年度金额怎么填
  • 合并业务的好处
  • 季度预缴所得税可以不交吗
  • 丢失发票已报税证明单取消
  • 软件 退税
  • 持有至到期投资账务处理
  • 支付资金占用费怎么记账进项税
  • 事业单位取得了应税收入如何纳税?
  • 暂估成本跨年后未收到票如何处理
  • 开票金额和实际金额不一致
  • 替票可以写入费用报销制度吗?
  • 企业所得税汇算清缴时间
  • 税务会计学知识点
  • 收汇结汇的账务处理
  • 现金流量表编制依据和方法
  • 如何批量查询发票
  • 企业销售产品的会计分录
  • 原材料账户期末贷方余额反映
  • 个人银行卡流水达到多少要交税
  • Win10中macos big sur虚拟机无法连接网络怎么办?
  • 在Linux系统中安装了一块虚拟磁盘大小的2G
  • 王者荣耀露娜的故事
  • 安全库存的三种算法
  • 小规模纳税人安装费税率
  • php面向对象是什么意思
  • php字符串定义
  • 出口收汇可以收人民币吗
  • mac osx10.11
  • php新手入门
  • 防伪税控盘全额抵扣政策
  • 内斯塔特点
  • 增值税专用发票上注明的价款含税吗
  • Vue3入门笔记----登录功能
  • php获取访问者信息
  • Laravel 5.1 on SAE环境开发教程【附项目demo源码】
  • 负数发票的销售成本怎么做?
  • 帐没做完怎么报增值税
  • 赔付支出计算公式
  • 建筑业增值税预缴管理办法
  • 长期资产包含哪些
  • 会计凭证大小写不一致
  • 印花税所得税汇算清缴
  • 套期保值是什么意思举个例子
  • 已经认证抵扣的发票怎么红冲
  • 预收账款可以用吗
  • 其他权益工具的公允价值变动计入哪里
  • 企业增值税征收范围
  • 托收承付和委托收款区别
  • 所得税汇算清缴调整后要账务处理吗
  • 2018年所得税税收优惠
  • 会计物料超损费怎么算
  • 社会保险费结算表怎么打印
  • 办公费项目内容
  • 托盘费用怎么核算
  • 发票作废怎么写说明
  • 进项税额转出加计抵减填在哪里
  • 为什么总成本费用不变
  • 公司注销往来账要消吗
  • 固定资产净值怎么算
  • sql存储过程的作用
  • SQL语句查询数据量
  • Windows10 64位安装MySQL5.6.35的图文教程
  • windows提示无法完成更新
  • 电脑系统文件受损
  • 如何激活windows2008server
  • Win10虚拟内存怎么转移
  • swupdtmr.exe - swupdtmr进程是什么意思 什么作用
  • WIN10系统中没有接入音频设备 要启动gui
  • win8如何打开开始菜单
  • mtask.exe - mtask是什么进程 有什么用
  • python算法怎么用
  • javascript怎么学
  • Android-SQLite商业化数据库操作
  • 什么是核心征管申报
  • 税务更名需要什么材料
  • 超豪华小汽车需要在什么环节纳税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号