濮阳杆衣贸易有限公司

主頁 > 知識庫 > 在Ubuntu系統(tǒng)中配置chroot環(huán)境的教程

在Ubuntu系統(tǒng)中配置chroot環(huán)境的教程

熱門標簽:北京點撥外呼系統(tǒng)好用嗎 外呼系統(tǒng)架構(gòu)流程 廣州400電話辦理推選易號網(wǎng) 最近外呼系統(tǒng)被封號 銀川外呼系統(tǒng)一般多少錢 ?? 宣威地圖標注app 直銷培訓(xùn)電銷機器人哪家便宜 長沙智能外呼電銷機器人供應(yīng)商

你可能會有很多理由想要把一個應(yīng)用、一個用戶或者一個環(huán)境與你的 linux 系統(tǒng)隔離開來。不同的操作系統(tǒng)有不同的實現(xiàn)方式,而在 linux 中,一個典型的方式就是 chroot 環(huán)境。

在這份教程中,我會一步一步指導(dǎo)你怎么使用 chroot 命令去配置一個與真實系統(tǒng)分離出來的獨立環(huán)境。這個功能主要可以用于測試項目,以下這些步驟都在 Ubuntu 14.04 虛擬專用服務(wù)器(VPS)上執(zhí)行。

學(xué)會快速搭建一個簡單的 chroot 環(huán)境是一項非常實用的技能,絕大多數(shù)系統(tǒng)管理員都能從中受益。
Chroot 環(huán)境

一個 chroot 環(huán)境就是通過系統(tǒng)調(diào)用,將一個本地目錄臨時變成根目錄。一般所說的系統(tǒng)根目錄就是掛載點"/",然而使用 chroot 命令后,你可以使用其它目錄作為根目錄。
原則上,任何運行在 chroot 環(huán)境內(nèi)的應(yīng)用都不能訪問系統(tǒng)中其他信息(LCTT譯注:使用 chroot 把一個目錄變成根目錄,在里面運行的應(yīng)用只能訪問本目錄內(nèi)的文件,無法訪問到目錄外的文件。然而,運行在 chroot 環(huán)境的應(yīng)用可以通過 sysfs 文件系統(tǒng)訪問到環(huán)境外的信息,所以,這里有個“原則上”的修飾語)。
Chroot 環(huán)境的用處

  •         測試一個不穩(wěn)定的應(yīng)用服務(wù)不會影響到整個主機系統(tǒng)。
  •         就算使用 root 權(quán)限做了些不當?shù)牟僮鳎?chroot 環(huán)境搞得一塌糊涂,也不會影響到主機系統(tǒng)。
  •         可以在你的系統(tǒng)中運行另外一個操作系統(tǒng)。

舉個例子,你可以在 chroot 環(huán)境中編譯、安裝、測試軟件,而不去動真實的系統(tǒng)。你也可以在64位環(huán)境下使用 chroot 創(chuàng)建一個32位環(huán)境,然后運行一個32位的程序(LCTT澤注:如果你的真實環(huán)境是32位的,那就不能 chroot 一個64位的環(huán)境了)。

但是為了安全考慮,chroot 環(huán)境為非特權(quán)用戶設(shè)立了非常嚴格的限制,而不是提供完整的安全策略。如果你需要的是有完善的安全策略的隔離方案,可以考慮下 LXC、Docker、vservers等等。
Debootstrap 和 Schroot

使用 chroot 環(huán)境需要安裝 debootstrap 和 schroot,這兩個軟件都在 Ubuntu 的鏡像源中。其中 schroot 用于創(chuàng)建 chroot 環(huán)境。

Debootstrap 可以讓你通過鏡像源安裝任何 Debian(或基于 Debian 的)系統(tǒng),裝好的系統(tǒng)會包含最基本的命令。

Schroot 命令允許用戶使用相同的機制去創(chuàng)建 chroot 環(huán)境,但在訪問 chroot 環(huán)境時會做些權(quán)限檢查,并且會允許用戶做些額外的自動設(shè)置,比如掛載一些文件系統(tǒng)。

在 Ubuntu 14.04 LTS 上,我們可以通過兩步來實現(xiàn)這個功能:
1. 安裝軟件包

第一步,在Ubuntu 14.04 LTS 主機系統(tǒng)上安裝 debootstrap 和 schroot:

   

復(fù)制代碼
代碼如下:
$ sudo apt-get install debootstrap
$ sudo apt-get install schroot

2. 配置 Schroot

現(xiàn)在我們有工具在手,需要指定一個目錄作為我們的 chroot 環(huán)境。這里創(chuàng)建一個目錄先:

   

復(fù)制代碼
代碼如下:
sudo mkdir /linoxide

編輯 schroot 的配置文件:

   

復(fù)制代碼
代碼如下:
sudo nano /etc/schroot/schroot.conf

再提醒一下,我們現(xiàn)在是在 Ubuntu 14.04 LTS 系統(tǒng)上。如果我們想測試一個軟件包能不能在 Ubuntu 13.10(代號是“Saucy Salamander”) 上運行,就可以在配置文件中添加下面的內(nèi)容:

   

復(fù)制代碼
代碼如下:
[saucy]
description=Ubuntu Saucy
location=/linoxide
priority=3
users=arun
root-groups=root

    

    根據(jù)你的系統(tǒng)要求,調(diào)整上面的配置信息。
3. 使用 debootstrap 安裝32位 Ubuntu 系統(tǒng)

Debootstrap 命令會在你的 chroot 環(huán)境里面下載安裝一個最小系統(tǒng)。只要你能訪問鏡像源,你就可以安裝任何基于 Debian 的系統(tǒng)版本。

前面我們已經(jīng)創(chuàng)建了 /linoxide 目錄用于放置 chroot 環(huán)境,現(xiàn)在我們可以在這個目錄里面運行 debootstrap 了:

   

復(fù)制代碼
代碼如下:
cd /linoxide
sudo debootstrap --variant=buildd --arch amd64 saucy /linoxide/ http://archive.ubuntu.com/ubuntu/
sudo chroot /linoxide /debootstrap/debootstrap --second-stage

你可以將 --arch 的參數(shù)換成 i386 或其他架構(gòu),只要存在這種架構(gòu)的鏡像源。你也可以把鏡像源 http://archive.ubuntu.com/ubuntu/ 換成離你最近的鏡像源,具體可參考 Ubuntu 官方鏡像主頁。

注意:如果你是在64位系統(tǒng)中創(chuàng)建32位系統(tǒng),你需要在上面第3行命令中加入 --foreign 選項,就像下面的命令:

   

復(fù)制代碼
代碼如下:
sudo debootstrap --variant=buildd --foreign --arch i386 saucy /linoxide/ http://archive.ubuntu.com/ubuntu/

下載需要一段時間,看你網(wǎng)絡(luò)帶寬性能。最小系統(tǒng)大概有500M。
4. 完成 chroot 環(huán)境

安裝完系統(tǒng)后,我們需要做一些收尾工作,確保系統(tǒng)運行正常。首先,保證主機的 fstab 程序能意識到 chroot 環(huán)境的存在:

   

復(fù)制代碼
代碼如下:
sudo nano /etc/fstab

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

   

復(fù)制代碼
代碼如下:
proc /linoxide/proc proc defaults 0 0
sysfs /linoxide/sys sysfs defaults 0 0

保存并關(guān)閉文件。

掛載一些文件系統(tǒng)到 chroot 環(huán)境:

   

復(fù)制代碼
代碼如下:
$ sudo mount proc /linoxide/proc -t proc
$ sudo mount sysfs /linoxide/sys -t sysfs

復(fù)制 /etc/hosts 文件到 chroot 環(huán)境,這樣 chroot 環(huán)境就可以使用網(wǎng)絡(luò)了:

   

復(fù)制代碼
代碼如下:
$ sudo cp /etc/hosts /linoxide/etc/hosts

最后使用 schroot -l 命令列出系統(tǒng)上所有的 chroot 環(huán)境:

   

復(fù)制代碼
代碼如下:
$ schroot -l

使用下面的命令進入 chroot 環(huán)境:

   

復(fù)制代碼
代碼如下:
$ sudo chroot /linoxide/ /bin/bash

測試安裝的版本:

   

復(fù)制代碼
代碼如下:
# lsb_release -a
# uname -a

為了在 chroot 環(huán)境中使用圖形界面,你需要設(shè)置 DISPLAY 環(huán)境變量:

   

復(fù)制代碼
代碼如下:
$ DISPLAY=:0.0 ./apps

目前為止,我已經(jīng)成功地在 Ubuntu 14.04 LTS 上安裝了 Ubuntu 13.10。

退出 chroot 環(huán)境:

   

復(fù)制代碼
代碼如下:
# exit

清理一下,卸載文件系統(tǒng):

   

復(fù)制代碼
代碼如下:
$ sudo umount /test/proc
$ sudo umount /test/sys

標簽:呼和浩特 保山 梅州 濰坊 濟寧 邵陽 吐魯番 揭陽

巨人網(wǎng)絡(luò)通訊聲明:本文標題《在Ubuntu系統(tǒng)中配置chroot環(huán)境的教程》,本文關(guān)鍵詞  在,Ubuntu,系統(tǒng),中,配置,chroot,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《在Ubuntu系統(tǒng)中配置chroot環(huán)境的教程》相關(guān)的同類信息!
  • 本頁收集關(guān)于在Ubuntu系統(tǒng)中配置chroot環(huán)境的教程的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    武鸣县| 木里| 社旗县| 平湖市| 宝丰县| 攀枝花市| 盐边县| 秦安县| 称多县| 阿克陶县| 宁南县| 霍山县| 大埔县| 淮南市| 巩义市| 宁蒗| 栾川县| 新巴尔虎左旗| 临城县| 綦江县| 华阴市| 衡水市| 苏尼特左旗| 叶城县| 仁寿县| 谢通门县| 新竹县| 盘锦市| 宁城县| 偏关县| 织金县| 什邡市| 梨树县| 芮城县| 永州市| 朝阳市| 桂林市| 砚山县| 沙田区| 通榆县| 巨鹿县|