ubuntu chroot?ubuntu搭建家庭服务器

本篇文章给大家谈谈ubuntu chroot,以及ubuntu搭建家庭服务器对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

使用Ubuntu Live CD修复Grub引导教程

本文以 Ubuntu Live CD修复 Grub引导为例,已在/dev/sda3安装 Fedora。

首先制作 Ubuntu启动 USB

复制代码

   

代码如下:

sudo dd if=ubuntu-13.10-desktop-amd64.iso of=/dev/sdb#/dev/sdb为 USB盘符

1.使用启动 USB进入 Ubuntu试用环境

2.查看硬盘分区状况,获取 Linux系统安装分区编号

复制代码

   

代码如下:

sudo fdisk-l

查看输出结果,然后根据文件类型和分区大小来判定 Linux系统安装在哪块硬盘和安装的分区。我的电脑是在/dev/sda3安装了 Fedora。

或者,打开 Gparted图形化工具来查看分区信息也可以。

挂载 Fedora安装分区

3.已知 Fedora安装在了/dev/sda3上,所以我们可以用下面命令来挂载 Fedora安装分区。你需要将/dev/sda3换成自己的 Linux安装分区。

复制代码

   

代码如下:

sudo mount/dev/sda3/mnt

4.挂载其他所需的目录(使用--bind)

复制代码

   

代码如下:

sudo mount--bind/dev/mnt/dev

   sudo mount--bind/proc/mnt/proc

   sudo mount--bind/sys/mnt/sys

5.Chroot到硬盘上的 Linux系统

复制代码

   

代码如下:

sudo chroot/mnt

6.安装更新 Grub

复制代码

   

代码如下:

grub2-install/dev/sda

   grub2-mkconfig-o/boot/grub2/grub.cfg

7.Grub已经修复成功,我们还需要退出 chroot环境、卸载已经挂载的设备与目录:

复制代码

   

代码如下:

exit#退出 chroot环境

   sudo umount/mnt/dev

   sudo umount/mnt/proc

   sudo umount/mnt/sys

   sudo umount/mnt

8.重启!

如何在 Ubuntu 14.04 里面配置 chroot 环境

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

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

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

Chroot环境

一个 chroot环境就是通过系统调用,将一个本地目录临时变成根目录。一般所说的系统根目录就是挂载点"/",然而使用 chroot命令后,你可以使用其它目录作为根目录。

原则上,任何运行在 chroot环境内的应用都不能访问系统中其他信息(LCTT译注:使用 chroot把一个目录变成根目录,在里面运行的应用只能访问本目录内的文件,无法访问到目录外的文件。然而,运行在 chroot环境的应用可以通过 sysfs文件系统访问到环境外的信息,所以,这里有个“原则上”的修饰语)。

Chroot环境的用处

测试一个不稳定的应用服务不会影响到整个主机系统。

就算使用 root权限做了些不当的操作,把 chroot环境搞得一塌糊涂,也不会影响到主机系统。

可以在你的系统中运行另外一个操作系统。

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

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

Debootstrap和 Schroot

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

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

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

在 Ubuntu 14.04 LTS上,我们可以通过两步来实现这个功能:

1.安装软件包

第一步,在Ubuntu 14.04 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 14.04 LTS系统上。如果我们想测试一个软件包能不能在 Ubuntu 13.10(代号是“Saucy Salamander”)上运行,就可以在配置文件中添加下面的内容:

[saucy]

description=UbuntuSaucy

location=/linoxide

priority=3

users=arun

root-groups=root

根据你的系统要求,调整上面的配置信息。

3.使用 debootstrap安装32位 Ubuntu系统

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

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

cd/linoxide

sudo debootstrap--variant=buildd--arch amd64 saucy/linoxide/

sudo chroot/linoxide/debootstrap/debootstrap--second-stage

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

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

sudo debootstrap--variant=buildd--foreign--arch i386 saucy/linoxide/

下载需要一段时间,看你网络带宽性能。最小系统大概有500M。

4.完成 chroot环境

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

sudo nano/etc/fstab

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

proc/linoxide/proc proc defaults 00

sysfs/linoxide/sys sysfs defaults 00

保存并关闭文件。

挂载一些文件系统到 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 14.04 LTS上安装了 Ubuntu 13.10。

退出 chroot环境:

# exit

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

$ sudo umount/test/proc

$ sudo umount/test/sys

Ubuntu下使用Ubuntu Live CD 修复Grub引导

由于安装了windows系统,导致Grub出现问题,很多人会选择重装Ubuntu系统,其实完全没有必要,只要将Grub进行修复就可以了,下面小编就给大家带来使用Ubuntu Live CD修复Grub引导的方法,一起来学习下吧。

本文以 Ubuntu Live CD修复 Grub引导为例,已在/dev/sda3安装 Fedora。

首先制作 Ubuntu启动 USB

复制代码代码如下:

sudo dd if=ubuntu-13.10-desktop-amd64.iso of=/dev/sdb#/dev/sdb为 USB盘符

1.使用启动 USB进入 Ubuntu试用环境

2.查看硬盘分区状况,获取 Linux系统安装分区编号

代码如下:

sudo fdisk-l

查看输出结果,然后根据文件类型和分区大小来判定 Linux系统安装在哪块硬盘和安装的分区。我的电脑是在/dev/sda3安装了 Fedora。

或者,打开 Gparted图形化工具来查看分区信息也可以。

挂载 Fedora安装分区

3.已知 Fedora安装在了/dev/sda3上,所以我们可以用下面命令来挂载 Fedora安装分区。你需要将/dev/sda3换成自己的 Linux安装分区。

代码如下:

sudo mount/dev/sda3/mnt

4.挂载其他所需的目录(使用--bind)

代码如下:

sudo mount--bind/dev/mnt/dev

sudo mount--bind/proc/mnt/proc

sudo mount--bind/sys/mnt/sys

5.Chroot到硬盘上的 Linux系统

代码如下:

sudo chroot/mnt

6.安装更新 Grub

代码如下:

grub2-install/dev/sda

grub2-mkconfig-o/boot/grub2/grub.cfg

7.Grub已经修复成功,我们还需要退出 chroot环境、卸载已经挂载的设备与目录:

代码如下:

exit#退出 chroot环境

sudo umount/mnt/dev

sudo umount/mnt/proc

sudo umount/mnt/sys

sudo umount/mnt

8.重启!

上面就是使用Ubuntu LiveCD修复grub的方法介绍了,如果你在使用双系统安装windows中出现Grub引导错误,不妨使用该方法进行修复吧。

阅读剩余
THE END