linux移植文件系统.pdfVIP

  • 0
  • 0
  • 约1.15万字
  • 约 8页
  • 2026-03-10 发布于河北
  • 举报

如果Linux是你每天必用的工作平台,应该已经熟悉以上提到的目录了。不过,现在

我们来进一步检查嵌入式Linux系统如何使用这些典型的根文件系统内容。

首先,为多用户提供可扩展的所有目录(如/home./mnt./opt./root)都应该省略。

调整根文件系统的时候,我们甚至可以进一步移除/mnt/和/var,不过这么做可能会危

害到某些软件的运行。因此不建议采用这种过于简化的做法。

根据引导加载程序和它的配置情况,可能不需要/boot目录。这取决于引导加载程序是否

会在内核被启动之前从根文件系统取回内核映像。在此我们可以不要,日后如果觉得有此需

要,还可以重新设计根文件系统。

其余的目录,/bin、/dev、/etc、/lib、/proc、/sbin和/usr,都是不可或缺的。

极端情况下我们还可以省略/proc,因为它只能用来安装与其同名的虚拟文件系统.然而

这么做之后,如果需要实地分析目标板,将会很难了解FI标板发生了什么事。如果为了缩减

存储空间,可能会将内核设定成不支持/proc,但是还是建议尽可能启用此功能。

/usr和/var这两个顶层目录与根目录非常像,有自己的目录结构。在接下.来的步骤中,

当我们在摆放这两个目录的时候,将会简述它们的目录结构。

令人困惑的相似性

根文件系统最令人困惑的一点就是有些目录看起来具有类似的用途。尤其是,新手常会问、

不同目录包含的二进制文件,以及不同目录包含的链接库,有何差异。

在根文件系统上,存放二进制文件的目录主要有四个:/bin、/sbin、/usr/bin和/usr/sbin。

二进制文件要放在其中哪个目录,这与它在系统中所扮演的角色有很大的关系。如果这是用

户和系统管理员必备的二进制文件,就会放在/bino如果这是系统管理员必备、但是一般

用户根本不会用到的二进制文件,就会放在/sbino相对而言,如果不是用户必备的二进

制文件,多半会放在/usr/bin:如果不是系统管理员必备的工具,多半会放在/usr/bin。

至于链接库的摆放位置,也是同样的道理。系统引导以及执行最基本命令需要的链接库摆在

/lib。所有其他的链接库则会摆在/usr/lib。通常,套件安装时,会在/usr/lib中产生子

目录,以便摆放它自己的链接库。以Perl5.x为例,它会产生/usr/lib/perl5目录,里面

摆放的是与Perl有关的链接库和模块。

回过头来看看自己使用的Linux工作站,可以从它的根文件系统看到,发行套件设计者应

用这些标准的实际范例。

为了建立根文件系统,我们可以建立以下目录:

[root@Binnary#mkdirrootfs

[root@Binnaryj#cdrootfs

现在我们可以针对系统的需要建立根攵件系统的顶层目录:

[root@Binnaryrootfs]#mkdirbindevetclibprocsbintmpusrvar

[root@Binnaryrootfs]#chmod1777tmp

请注意:我们并未建立/boot。如果日后需要再建立也不迟。同时请注意,我们变更了

/tmp目录的使用权,让它开启sticky位,为/tmp目录的使用权开启此位,可确保

/tmp目录底下建立的文件,只有建立它的用户有权删除。嵌入式系统多半是单用户系统,

不过有些嵌入式应用一定不能用root的特权来执行,因此需要遵照根文件系统权限位的一

些基本规定。如OpenSSH套件便

文档评论(0)

1亿VIP精品文档

相关文档