EDA365电子论坛网
标题:
解读一下etc配置文件——fstab
[打印本页]
作者:
pulbieup
时间:
2020-6-30 15:05
标题:
解读一下etc配置文件——fstab
PC主机:Ubuntu 和 redhat 9.0
% L1 t! r' n7 | j9 G4 Y$ M
% }$ g$ w6 @/ n9 t" i
目标板:TQ2440开发板 cpu:s3c2440 linux内核:2.6.30
, p# ^; ^2 _% w* Y0 R0 ]4 r
) @; N7 \! z9 Y2 z$ O
下文中所输入的命令就是在开发板中执行。
: S9 a; J( h' O" Y+ K U
: \" N6 ?& E' Q3 g* U, G( ~" s
1. fstab的作用
) C; C2 A! B' {& [2 p
; a, K+ F% Y r, `2 b6 x
fstab包含了需要挂载的设备,相应的挂载点,以及属性等。在两种情况下,fstab中的内容将被读取。
; T- J3 i0 U6 `4 q: o9 M
# @4 T! l2 S0 V) C9 u
1) 当执行mount -a的时候,fstab配置文件中的所有条目将被一一执行。
1 x) W: [2 t: ^7 u) N: q9 u
9 K& h4 ~7 `) ?" i0 b2 Y, u
2) fstab配置文件中的内容将作为默认的配置,也就是说当mount命令只知道挂载设备或者是挂载点时,它将搜索fstab文件。,比如,执行mount /tmpfs的时候,此时我并没有给出需要挂载的设备,仅给出了挂载点,但是mount命令会首先查询fstab,如果查找到/tmpfs,将使用该默认配置进行挂载。请看例子:
1 N, \/ ^! @+ H3 k+ J, G5 h o
( n* @. G) ?; {
9 p/ V$ x6 Q5 p% v" ~ Y t
[root@yj423 /root]#cat /etc/fstab | grep /tmp
/ D O% u9 R7 W/ d$ e" x
tmpfs /tmp tmpfs defaults 0 0
& X! S3 N! W2 L' `
[root@yj423 /root]#mount /tmp
/ O2 b& E7 K. Z. b& B
[root@yj423 /root]#mount | grep /tmp
0 \6 m( N8 {" u% F) M- g
tmpfs on /tmp type tmpfs (rw,relatime)
0 M3 v' K0 D' P$ v y) G$ l
/ \0 s" h9 L9 A+ p I, c5 k! L
但是如果我们把fstab中/tmp所在的该行删除,则会
+ K( x. ?6 d) l9 U* G; u; `. h
+ a) v# \" l. j4 _% P
[root@yj423 /root]#mount /tmp
: S( @$ D' g1 Q& W; t5 [" n
mount: can't find /tmp in /etc/fstab
" n2 D" B$ s. l! T; v
2 t3 [1 e! I0 `2 @# f* f: h
) O2 L. l9 e, J( d) {& u S* \. P
2. fstab语法
# ~6 `# N! O9 T: |# E+ U
0 P! ^# g p# h0 |; R
首先,先来看下完整的fstab内容
, V! e$ X2 Y9 K
+ x# i+ x8 k' X. M( Y
[root@yj423 /root]#cat /etc/fstab
5 Y! y* T. U+ Y8 l/ G0 h
<filesystem> <mountpoing> <type> <options> <dump> <pass>
2 ^( Q# ^0 K. ?
proc /proc proc defaults 0 0
7 j) s3 O6 A5 E9 I: U1 e7 {* s4 z
tmpfs /tmp tmpfs defaults 0 0
* D u" N* u# ~# m9 ]0 d: p
sysfs /sys sysfs defaults 0 0
! B4 `$ O/ e) T, }2 f
tmpfs /dev tmpfs defaults 0 0
6 K9 s- H2 j. `/ G! @ e" s$ B
var /dev tmpfs defaults 0 0
' i% y( B, u# \* I, p
ramfs /dev ramfs defaults 0 0
1 E( Q. t, X0 o8 b% t
4 \0 b% d6 t/ M$ f: X3 I. C9 C! b
第一列filesystem为mount命令所挂载的设备。
4 V. z! n# u' q* S9 g
' f: S/ t/ W: B' n
第二列mount point为mount命令的挂载点。挂载点必须是一个已存在的目录。
# L0 x8 j: Q2 s
* l. d( e' G! r5 g
第三列type为文件系统的类型。
0 p" r! M0 c# j5 ]. V6 D4 N
9 ]0 s4 q1 e2 j
第四列option为mount命令的选项。
3 X/ x8 W5 Z3 s1 a$ p
* l3 s4 p7 ?! t. \/ m2 l
这里的defaults表示:rw, suid, dev, exec, auto, nouser, and async。
4 N- a( F% ]: }! \& k) L+ \
: D1 P( y6 I7 V3 E( I- p+ J
rw表示文件系统可以读写。
1 m) g$ W& k( U5 L0 Y, n2 [
, z' U$ S" K! ^' }6 O" G
suid表示当前用户权限和创建该文件的用户权限一样。
: L( s7 r4 w& n9 c
) x7 n1 W/ n- _3 v8 _1 }( x
dev表示识别文件系统中的字符设备和块设备。与其对应的是nodev。
0 R, U1 W8 G8 Y& f) P; B0 m
3 e# o! u- [) v. a
exec表示可以在设备上运行二进制文件。与其对应的是noexec。
% D0 t- }" o8 M8 Y2 a$ x
4 R9 ^2 k9 v2 h7 n$ T1 x
auto表示执行mount -a是会执行该条目。与其对应的是noauto。
7 ^& p- j. C6 ?- T
4 ?8 A0 `1 [6 }
nosuer表示只有root才能挂载该设备。与其对应的是user。
9 e( K7 S$ I2 h) r3 }5 A
! ]0 V& U0 V( J, O, b6 ?
async表示对该设备的写入操作不会立刻写入设备,而在随后的某个时刻写入。与其对应的是sync。
9 D& I4 d+ z1 G4 G3 N4 j* j
4 b; C' L1 U9 o1 `
第五列dump表示是否使用dump备份该文件系统,如果是0,dump将忽略该文件系统。大多数情况下该列都为0.
# T5 \# c$ w, `. X$ ^, n
' q9 g" d$ U& o% M
第六列pass表示fsck工具检查文件系统的顺序。0表示不使用fsck。
2 r. i# {+ V8 i! e$ o( L
1 u1 e$ o8 P) ] n3 V x% u
4 U1 h9 O* E0 H" G% s
- h0 U$ E, ~* i1 q& M$ f
4 {# [1 E0 c9 X+ _( t- f8 h
3 f8 E/ I* a. K: O
作者:
SsaaM7
时间:
2020-6-30 16:31
etc配置文件——fstab
欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/)
Powered by Discuz! X3.2