|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
PC主机:Ubuntu 和 redhat 9.0
9 ]0 N: D% o( `0 v/ m# ^% p$ K; A7 Y8 S& @( E: f; i9 [0 }
目标板:TQ2440开发板 cpu:s3c2440 linux内核:2.6.30' W7 W) H; M- t0 Y9 S
+ J3 z6 p+ I" L下文中所输入的命令就是在开发板中执行。
, c' ?" t$ L: L, {- c+ a7 ~) ^/ e
1. fstab的作用
' A" R$ k# D* x( B1 g5 G
5 g* _" X# i% @: \) w fstab包含了需要挂载的设备,相应的挂载点,以及属性等。在两种情况下,fstab中的内容将被读取。9 y5 |& d2 D6 B
g! f+ l) P- o4 G1 u; L( B 1) 当执行mount -a的时候,fstab配置文件中的所有条目将被一一执行。# [7 I2 E+ ?" ]' Z( x' a7 v
5 i) h! W' b$ l( R7 I5 O5 C
2) fstab配置文件中的内容将作为默认的配置,也就是说当mount命令只知道挂载设备或者是挂载点时,它将搜索fstab文件。,比如,执行mount /tmpfs的时候,此时我并没有给出需要挂载的设备,仅给出了挂载点,但是mount命令会首先查询fstab,如果查找到/tmpfs,将使用该默认配置进行挂载。请看例子:( `8 ?$ R8 u' _ |' C2 @
+ M V4 |" t1 E* j0 x
9 S+ } d7 U, [# A
[root@yj423 /root]#cat /etc/fstab | grep /tmp
+ j3 w. L7 L6 A b3 Ntmpfs /tmp tmpfs defaults 0 0 7 |# R( W) {& m( g
[root@yj423 /root]#mount /tmp
! d; [0 D" I7 `7 X0 V5 j[root@yj423 /root]#mount | grep /tmp
, S5 ?* n4 }+ ]$ ptmpfs on /tmp type tmpfs (rw,relatime), S- H( G! R* z2 Q1 T A9 E, Y
6 v8 f! [1 t1 x8 P6 w+ s但是如果我们把fstab中/tmp所在的该行删除,则会. K: n* B2 {/ m! ]
5 M9 I' _' t! R# {. G4 z( J) {
[root@yj423 /root]#mount /tmp
: b& T2 Q" R6 ^- G% q! a, n% S& N" gmount: can't find /tmp in /etc/fstab! L7 ?1 ]. C# E5 f: O
: d& W8 U# J2 }* |% Z2 H8 {5 X0 \3 p0 m
2. fstab语法9 n5 \* M! x: C& x8 \, A7 ~- |$ s
* g$ C* S4 T, a8 D
首先,先来看下完整的fstab内容
& h' {! E) C% y* T
. O# P( v- j+ K4 T& q0 l; n[root@yj423 /root]#cat /etc/fstab $ N+ d- y/ }4 R
<filesystem> <mountpoing> <type> <options> <dump> <pass># Z$ P5 Q$ v) }6 ~% ]- Q
proc /proc proc defaults 0 00 u8 g$ b* {" r. F1 D
tmpfs /tmp tmpfs defaults 0 07 b# b! v- P/ [7 @$ O/ E
sysfs /sys sysfs defaults 0 0
" P0 h+ H9 \) h; E" y) B* Itmpfs /dev tmpfs defaults 0 08 r* t. @9 \- S2 K, e# j# v
var /dev tmpfs defaults 0 0
- [5 n" z& e) n) b4 u$ X' ?- q6 tramfs /dev ramfs defaults 0 0
, w& v4 k1 T9 c) s( f. k0 y* A) p) N2 @3 x0 R0 @( _
第一列filesystem为mount命令所挂载的设备。1 I' A5 w3 f l: A0 s$ C: j+ [
, P0 a. P7 u. S! T, G( H
第二列mount point为mount命令的挂载点。挂载点必须是一个已存在的目录。
1 p5 `4 e/ ?4 s: l6 K/ {, n! l; s, E" O- C8 a |% ]3 y
第三列type为文件系统的类型。, u. Y G6 @: U1 q# E3 X
! `4 ]7 {3 |9 i0 g5 _7 |: }* z: o第四列option为mount命令的选项。
D7 S) O& L9 K7 M y
) o! P& p( L1 v s$ G这里的defaults表示:rw, suid, dev, exec, auto, nouser, and async。9 s: l" q5 Z4 O$ e; _
" }) z4 n; a; z6 Z% q) E! ^' K
rw表示文件系统可以读写。; y! u! z; j% W
* z. ?9 s1 P! A1 P: Y3 S8 x
suid表示当前用户权限和创建该文件的用户权限一样。
9 b0 C9 F" S( G: L' V5 n9 T! e0 Z( C$ k$ H
dev表示识别文件系统中的字符设备和块设备。与其对应的是nodev。$ {6 u# D4 E; q5 g$ E" d
; U8 n5 J# h. j; M- X* Hexec表示可以在设备上运行二进制文件。与其对应的是noexec。- u4 H9 g% Z5 L, a) K
+ B- I$ U3 j: q3 |; l1 v- B1 `auto表示执行mount -a是会执行该条目。与其对应的是noauto。$ m/ @/ h9 m$ ~* r; j7 }# \: P$ a
4 j; P( E& P( Z5 o, r( M
nosuer表示只有root才能挂载该设备。与其对应的是user。
+ @2 A; v6 t+ t$ l& P1 v
7 \9 X5 {5 m5 |# R: Hasync表示对该设备的写入操作不会立刻写入设备,而在随后的某个时刻写入。与其对应的是sync。0 z# h/ v2 K$ H$ f6 {- H
2 o' g% ~0 V9 c8 y5 X6 q( Z6 {
第五列dump表示是否使用dump备份该文件系统,如果是0,dump将忽略该文件系统。大多数情况下该列都为0.9 o0 ^: @' q4 R& @
% J# p, ~9 ^2 y1 k! z第六列pass表示fsck工具检查文件系统的顺序。0表示不使用fsck。) j1 Y* A, |9 ?3 w/ w+ p
) N1 i( T0 k9 w$ D- f
9 z$ ^1 u3 Q; L* a) e$ F6 r( X8 e9 ]! a# j e
! n C6 \3 m! M0 w( {) H! r- O& o' Z% I. k2 g
|
|