Chinaunix首页 | 论坛 | 博客
  • 博客访问: 868519
  • 博文数量: 69
  • 博客积分: 10434
  • 博客等级: 上将
  • 技术积分: 1941
  • 用 户 组: 普通用户
  • 注册时间: 2005-05-28 16:10
文章存档

2012年(1)

2009年(14)

2008年(54)

分类: LINUX

2008-05-17 19:44:16

chroot(change root)

功能说明:改变根目录。

语  法:chroot [--help][--version][目的目录][执行指令...]

补充说明:把根目录换成指定的目的目录。

参  数:
 --help  在线帮助。
 --version  显示版本信息。
 

描述

注意:如果新根目录中的特殊文件具有与实际根目录不同的主要和次要设备号,则可能会覆盖文件系统。

只有具有 root 用户权限的用户才可以使用 chroot 命令。如果具有 root 用户权限,则 chroot 命令将根目录更改到当执行 CommandDirectory 参数指定的目录。任何路径名中的第一个 /(斜杠)更改为指定 Command 及其子命令的 Directory

Directory 路径名始终相对于当前 root。即使 chroot 命令生效,Directory 路径名相对于运行进程的当前 root。

chroot 命令运行后,大多数程序可能不能正常运行。例如,如果共享库不在新的 root 文件系统中,则使用共享库的命令将失败。最常用的共享库是 /usr/ccs/lib/libc.a 库。

如果当前 root 用户位置使 文件不能到达,则 命令不会成功给出用户名和组名。此外,如果文件(/usr/lib/nls/*)不在新的 root 文件系统中,取决于这些本地化文件的实用程序也可能会失败。您的职责是确保所有重要的数据文件都在新的 root 文件系统中,并确保已更改访问此类文件的必要路径名。

参数

Command 指定命令以使用 chroot 命令运行。
Directory 指定新的根目录。

示例

注意:以下示例中的命令可能取决于共享库。在运行 chroot 命令之前,请确保共享库在新的 root 文件系统中。
  1. 要运行 pwd 命令将 /usr/bin 目录作为 root 文件系统,请输入:

    mkdir /usr/bin/lib
     
    cp /usr/ccs/lib/libc.a /usr/bin/lib
     
    chroot /usr/bin pwd
  2. 要运行 Korn shell 子 shell 将另一个系统文件作为 root 文件系统,请输入:

    chroot /var/tmp /usr/bin/ksh

    这使目录名 /(斜杠)在 /usr/bin/ksh 命令持续时间指向 /var/tmp。它还使得原始的 root 文件系统不可访问。/var/tmp 文件上的文件系统必须包含 root 文件系统的标准目录。特别是,shell 查找 /var/tmp 文件系统中 /bin/usr/bin 文件中的命令。

    运行 /usr/bin/ksh 命令创建作为原始 shell 的单独进程运行的子 shell。按下 END OF FILE(Ctrl-d)键控顺序以结束子 shell 并返回到您在原始 shell 中的位置。这恢复原始 shell 的环境,包括 .(当前目录)和 /(根目录)的意义。

  3. 要创建与原始 root 相关的文件,而非新文件,请输入:

    chroot directory Command > file

文件

/etc/passwd 指定包含基本用户属性的文件。
/usr/ccs/lib/libc.a 指定标准 I/O 库和标准 C 库。
/usr/ccs/lib/libcurses.a 指定 curses 库。
/usr/lib/liblvm.a 指定 LVM(逻辑卷管理器)库。
/usr/ccs/lib/libm.a 指定 math 库。
/usr/lib/libodm.a 指定 ODM(对象数据管理器)库。
/usr/sbin/chroot 包含 chroot 命令。
阅读(1975) | 评论(0) | 转发(0) |
0

上一篇:sort和uniq命令介绍

下一篇:协调世界时--UTC

给主人留下些什么吧!~~