fstab中不存在挂载。他们在哪?


3

我的debian系统正在使用tmfs做一些事情,特别是/ tmp

而且它使用的尺寸很小。在我的/ etc / fstab中找不到它

我想我可以在fstab中添加条目,它将生效,但是我真的很想了解发生了什么。

安装:

sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
udev on /dev type devtmpfs (rw,relatime,size=10240k,nr_inodes=219602,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=207432k,mode=755)
/dev/disk/by-uuid/xxx on / type ext4 (rw,noatime,errors=remount-ro,user_xattr,acl,barrier=1,data=ordered)
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)
tmpfs on /tmp type tmpfs (rw,nosuid,nodev,relatime,size=414864k)
tmpfs on /run/shm type tmpfs (rw,nosuid,nodev,relatime,size=414864k)
/dev/md0 on /DATA type ext4 (rw,noatime,errors=remount-ro,user_xattr,acl,barrier=1,data=ordered)
fusectl on /sys/fs/fuse/connections type fusectl (rw,relatime)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,nosuid,nodev,noexec,relatime)

fstab文件:

proc            /proc           proc    defaults        0       0
UUID=xxx /               ext4    noatime,errors=remount-ro 0       1
UUID=zzz none            swap    sw              0       0  
/dev/md0    /DATA   ext4    noatime,errors=remount-ro 0 0

我可以理解/ sys / proc / dev被fstab以外的东西启动,我也可以理解/ tmp和/ run作为fstmp的好处...但是在哪里定义呢?

这些坐骑从哪里来?


我可以在Debian系统上看到有/etc/init.d/mountoverflowtmp设计用来安装tmpfs的系统,/tmp即使在/etc/fstab不需要的情况下也可以挂载tmpfs /。这似乎不是您所遇到的(您实际上有多少可用空间/?),但是您可以检查一下吗?这是我在init脚本中唯一可以看到的内容。
Celada 2012年

26Gb免费/。将检查该脚本以查看是否还有其他提示。谢谢!编辑:您是对的...找到了这一部分“如果root是只读的,则默认为在/ tmp上安装tmpfs,除非要从fstab挂载它。” 非常奇怪的行为...不知道为什么在fs检查并重新安装为rw之前需要/ tmp。
gcb

很好地抓住了只读的东西。那很好笑。我应该以为根将在执行S35mountall.sh或更早的过程中重新安装rw S37mountoverflowtmp,顺序执行之前。
西拉达(Celada)2012年

您实际上想做什么?增加为/ tmp获得的自动tmpfs的大小?很多事情都需要一个可写的/ tmp,所以我可以理解为什么如果没有它,为什么会给你一个tmpfs。/etc/fstab远离规范位置列出所有已安装且已存在很长时间的所有内容。
grifferz 2012年

Answers:


4

/run是Debian在RAM中的通用tmpfs,而其他lock符号(等)是符号链接。默认情况下,/runtmpfs 的大小设置为物理内存的50%。

/tmp仅当RAMTMP=yes检测到或只读根文件系统时,才将tmpfs设置为tmpfs 。

Debian的维基,这些都是安装的步骤/run/tmp等等,通过执行初始化脚本initramfs的工具

阶段1:初始软件包安装

  • / run在软件包安装时创建
  • / var / run绑定安装到/ run
  • / var / lock绑定安装到/ run / lock
  • / dev / shm绑定安装到/ run / shm

这样可以确保存在/ run层次结构,但是/ var / run和/ var / lock仍用于存储通过/ run访问的文件和目录。

阶段2:系统重新启动后

  • 将tmpfs安装在/ run上
  • (可选)如果配置了RAMLOCK,则将tmpfs安装在/ run / lock上
  • (可选)如果配置了RAMSHM,则将tmpfs安装在/ run / shm上
  • (可选)如果配置了RAMTMP,则将tmpfs挂载在/ tmp上
  • 创建一个符号链接/ var / run→/ run(如果符号链接失败,则退回到绑定安装)
  • 创建了符号链接/ var / lock→/ run / lock(如果符号链接失败,则退回到绑定安装)
  • 创建了符号链接/ dev / shm→/ run / shm(如果符号链接失败,则退回到绑定安装)

什么RAMTMP啊 编译时有内核选项?开机选项?链接的Wiki在没有进一步说明的情况下提及了它,而搜索仅使我在错误报告上
引人注目,

1
在中/etc/default/rcS,链接的Wiki说。如果您想...那就在那儿进行切换
ish
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.