免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: iceage2008
打印 上一主题 下一主题

[FreeBSD] 关于BSD分区问题讨论一下 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2007-01-07 20:03 |只看该作者
恩  原来读过minix的源码,inode的原理还略知一二
我的理解是,就像win下的快捷方式一样,或者说是一个链接,新挂接的“文件夹”只在它挂载的点下占了inode表的一个项,它的inode号是唯一的,但和普通的文件(夹)不同

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
12 [报告]
发表于 2007-01-07 20:05 |只看该作者
  1. 装置的代号由 0 开始算,第一个 IDE 硬盘的代号是 ad0,第二个是 ad1,依此类推。如果您有一个 IDE 硬盘,则可以在 /dev/ 中看到一个档名为 /dev/ad0 的装置文件。

  2. 大多数的操作系统都支持将一个硬盘分割成多个扇区,以 Windows 而言,我们可以将一个硬盘分割成 C:、D: 等多个扇区。在 Windows 中,我们称这个分割区为 Partition。然而,在 FreeBSD 中,我们称之为 slice。不管是 Windows 的 Partition 或是 FreeBSD 的 slice,在这里我们统称为主要扇区。PC 架构下,BIOS 认得的主要扇区最多只有四个。

  3. FreeBSD 和其它操作系统不同的地方是我们会先分割在主要扇区 (slice) 下再细分成多个分割区,而这个细分之后的分割区才叫做 Partition。以下面这个图为例:

  4. 图 6-1



  5. 我们看到第一个主要扇区是 Windows 用的掉的,它在 FreeBSD 中的代号是 ad0s1,而第二个主要扇区是 FreeBSD 所使用,其代号是 ad0s2,代号 s1、s2 指的就是主要扇区 slice 1 及 slice 2。而在 ad0s2 这个主要扇区中,我们又细分为三个分割区,分别是 ad0s2a、ad0s2b 及 ad0s2d。

  6. 分割区代号 a、b、d 等在 FreeBSD 有一些规则:

  7. a:代号 a 通常会分配给根目录使用。
  8. b:代号 b 通常是给 swap 空间使用。
  9. c:代号 c 通常是代表整个主要扇区,所以不会被拿来使用。
  10. defgh:其它的代号都是可以被用在任何分割区上。以前代号 d 有一些特别用意,不过现在已经没有了。
  11. 所以当您看到一个分割区代号 ad0s1a 时,就可以知道它是第一个 IDE 硬盘 (ad0) 的第一个主要扇区 (ad0s1) 的第一个分割区 (ad0s1a)。

  12. 让我们回到硬盘分割区和目录之间的关系。在 FreeBSD 中,硬盘分割区会被挂在目录下使用,例如下列的 df 指令输出结果:

  13. # df -h
  14. Filesystem     Size    Used   Avail Capacity  Mounted on
  15. /dev/ad0s1a    1.9G    389M    1.4G    21%    /
  16. devfs          1.0K    1.0K      0B   100%    /dev
  17. /dev/ad0s1d    989M     54K    910M     0%    /var
  18. /dev/ad0s1e    4.8G    3.8G    657M    86%    /usr
  19. /dev/ad1s1d    10.9G   149M   10.6G     1%    /usr/local


  20. 我们可以看到分割区 ad0s1a 是挂在根目录 (/) 下,而 ad0s1d 挂在 /var 中。上述 df 指令输出的范例中,/、/dev、/var、/usr 等都是磁盘分割区的挂入点 (mount points)。下图即为分割区示意图:

  21. 图 6-2



  22. 除了根目录外,每一个挂入点都可以被卸载。例如 ad1s1d 被挂在 /usr/local 中,我们可以动态卸载它。/usr/local 在挂入磁盘分割区前,它可能空的或是已经有一些档案或目录,但挂入后,我们看到该目录中的东西会全部变成存在于 ad1s1d 这个硬盘中的数据。通常这些系统用的挂入点在还没挂入磁盘前都是一些空目录,而挂入后才会出现该目录下的其它档案及数据。以 /var 为例,在挂入前它是空的目录,而挂入后,才会出现 db、mail 等目录。

  23. 请注意,挂入点和磁盘分割区之间并没有什么特殊关联。例如,如果您有二个挂入点 /volume1 及 /volume2,而有二个分割区 ad0s1d 及 ad0s1e,您可以任意将 ad0s1d 挂在 /volume1 或 /volume2。以上图中的挂入点为例,您也可以将 ad1s1d 挂在 /mnt 下,只是 ad1s1d 这个分割区原本是挂在 /usr/local 下,已有一些 /usr/local 下的目录结构及数据,所以还是挂在 /usr/local 下才不会有系统档案找不到的问题。
复制代码

ch06_01.png (48.2 KB, 下载次数: 34)

6-1

6-1

ch06_02.png (85.91 KB, 下载次数: 36)

6-2

6-2

论坛徽章:
0
13 [报告]
发表于 2007-01-07 20:07 |只看该作者
原帖由 defyer 于 2007-1-7 20:03 发表
恩  原来读过minix的源码,inode的原理还略知一二
我的理解是,就像win下的快捷方式一样,或者说是一个链接,新挂接的“文件夹”只在它挂载的点下占了inode表的一个项,它的inode号是唯一的,但和普通的文件(夹 ...


Windows 下的快捷方式是用常规文件实现的,这点和软/硬连接不同。另外,Windows 的文件系统实现原理和 UNIX 系统的有较大区别。我不很清楚细节,解释起来可能出错。

技术上的问题,我还是让给这里的版主来解决吧

论坛徽章:
0
14 [报告]
发表于 2007-01-07 20:10 |只看该作者
在一次 UNIX 系统会话中,“根目录” 是唯一的,不可能有两个根目录同时出现的情况;但可以在运行的时候另行指定一个根目录,这个目录也一定是原来根目录的第 n 级子目录(n>=1 且 n 为整数)。
==============================================
那真正的根目录就是/了吧,如果有/home,那每次会话的“根目录”就是不同的用户对应在/home下的目录了吧?

论坛徽章:
0
15 [报告]
发表于 2007-01-07 20:18 |只看该作者
原帖由 defyer 于 2007-1-7 20:10 发表
在一次 UNIX 系统会话中,“根目录” 是唯一的,不可能有两个根目录同时出现的情况;但可以在运行的时候另行指定一个根目录,这个目录也一定是原来根目录的第 n 级子目录(n>=1 且 n 为整数)。
====== ...


不是这个意思。我是说:

你可以在系统中另行建立一个目录,把 /bin /usr/bin /usr/lib /etc 等等必要的库、可执行文件以及相关配置文件复制进去,比如 /jail:

/jail/bin/...
/jail/usr/bin/...
/jail/usr/lib/...
/jail/etc/...

然后以 root 身份执行:

chroot /jail

这样你会发现,里面又是一番新天地

请查看手册:

man 1 chroot (可能不存在)
man 2 chroot
man 8 chroot

--

论坛徽章:
0
16 [报告]
发表于 2007-01-07 20:29 |只看该作者
好的,谢谢langue了
我问的问题有点离题了

论坛徽章:
0
17 [报告]
发表于 2007-01-08 22:55 |只看该作者
原帖由 大大狗 于 2007-1-7 20:05 发表
[code]装置的代号由 0 开始算,第一个 IDE 硬盘的代号是 ad0,第二个是 ad1,依此类推。如果您有一个 IDE 硬盘,则可以在 /dev/ 中看到一个档名为 /dev/ad0 的装置文件。

大多数的操作系统都支持将一个硬盘分割 ...



这个说明很是好
不知道这是哪儿的资料啊?
可不可以共享一下全部的资料啊
先替大家谢谢了

论坛徽章:
0
18 [报告]
发表于 2007-01-09 13:38 |只看该作者
应该是台湾方面的。其实新手更应该多看看HandBook,解释的很详细。

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
19 [报告]
发表于 2007-01-09 14:16 |只看该作者
原帖由 iceage2008 于 2007-1-8 22:55 发表



这个说明很是好
不知道这是哪儿的资料啊?
可不可以共享一下全部的资料啊
先替大家谢谢了

去剑心通明的FTP 里面就有
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP