chroot

위키百科, 우리 모두의 百科事典.

유닉스 運營 體制 에서 chroot 는 現在 實行 中인 프로세스와 차일드 프로세스 그룹에서 루트 디렉터리 를 變更하는 作業이다.

이렇게 修正된 環境에서 實行되는 프로그램은 指定된 디렉터리 트리 밖의 파일들의 이름을 指定할 수 없으므로(즉, 一般的으로는 接近이 不可能하므로) chroot 監獄으로 부른다. chroot는 chroot(2) 시스템 呼出 이나 chroot(8) 래퍼 프로그램을 가리킬 수 있다.

歷史 [ 編輯 ]

chroot 시스템 呼出은 1979年 버전 7 유닉스의 開發 中에 導入되었으며, 1982年 3月 18日 빌 조이 가 BSD에 追加하였다.

利用 目的 [ 編輯 ]

chroot는 다음의 目的에 有用하게 쓰일 수 있다:

  • 테스트 및 開發
  • 依存性 制御
  • 互換性
  • 復舊
  • 權限 分離

리눅스 호스트 커널 假想 파일 시스템 및 構成 파일 [ 編輯 ]

리눅스에서 chroot 環境을 使用하려면 커널 假想 파일 시스템과 構成 파일 또한 host에서 chroot로 마운트/複寫되어야 한다.

# Mount Kernel Virtual File Systems

TARGETDIR
=
"/mnt/chroot"

mount
 -t
 proc
 proc
 $TARGETDIR
/proc
mount
 -t
 sysfs
 sysfs
 $TARGETDIR
/sys
mount
 -t
 devtmpfs
 devtmpfs
 $TARGETDIR
/dev
mount
 -t
 tmpfs
 tmpfs
 $TARGETDIR
/dev/shm
mount
 -t
 devpts
 devpts
 $TARGETDIR
/dev/pts

# Copy /etc/hosts

/bin/cp
 -f
 /etc/hosts
 $TARGETDIR
/etc/

# Copy /etc/resolv.conf

/bin/cp
 -f
 /etc/resolv.conf
 $TARGETDIR
/etc/resolv.conf

# Link /etc/mtab

chroot
 $TARGETDIR
 rm
 /etc/mtab
 2
>
 /dev/null
chroot
 $TARGETDIR
 ln
 -s
 /proc/mounts
 /etc/mtab

chroot 上의 그래픽 應用 프로그램 [ 編輯 ]

다음의 方式을 利用하여 chroot로 된 環境에서 그래픽 應用 프로그램을 驅動할 수 있다. [1] [2]

같이 보기 [ 編輯 ]

各州 [ 編輯 ]

  1. “保管된 寫本” . 2014年 3月 26日에 原本 文書 에서 保存된 文書 . 2016年 2月 28日에 確認함 .  
  2. “保管된 寫本” . 2011年 8月 31日에 原本 文書 에서 保存된 文書 . 2011年 10月 13日에 確認함 .  

外部 링크 [ 編輯 ]