免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1405 | 回复: 0
打印 上一主题 下一主题

[FreeBSD] FreeBSD什么时候会为/var和/tmp创建内存盘 [复制链接]

论坛徽章:
54
2017金鸡报晓
日期:2017-02-08 10:39:42操作系统版块每日发帖之星
日期:2016-03-08 06:20:00操作系统版块每日发帖之星
日期:2016-03-07 06:20:00操作系统版块每日发帖之星
日期:2016-02-22 06:20:00操作系统版块每日发帖之星
日期:2016-01-29 06:20:00操作系统版块每日发帖之星
日期:2016-01-27 06:20:00操作系统版块每日发帖之星
日期:2016-01-20 06:20:00操作系统版块每日发帖之星
日期:2016-01-06 06:20:0015-16赛季CBA联赛之江苏
日期:2015-12-21 20:00:24操作系统版块每日发帖之星
日期:2015-12-21 06:20:00IT运维版块每日发帖之星
日期:2015-11-17 06:20:002015亚冠之广州恒大
日期:2015-11-12 10:58:02
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-10-31 08:24 |只看该作者 |倒序浏览
本帖最后由 lsstarboy 于 2014-10-31 08:25 编辑

在移动介质上运行FreeBSD,包括使用FreeBSD的官方光盘映像和U盘映像来安装系统,进入shell查看,都会发现/var和/tmp使用了内存盘,以防止程序需要读写这两个分区。
那么是哪个配置导致FreeBSD会使用内存盘呢?
我基本上查看了所有的启动脚本,都没有发现配置所在的地方。
最后实在没有办法,在/etc/default/rc.conf中逛了一圈,发现在两个配置选项:
tmpmfs和varmfs:

tmpmfs="AUTO"           # Set to YES to always create an mfs /tmp, NO to never
  tmpsize="20m"           # Size of mfs /tmp if created
  tmpmfs_flags="-S"       # Extra mdmfs options for the mfs /tmp
  varmfs="AUTO"           # Set to YES to always create an mfs /var, NO to never
  varsize="32m"           # Size of mfs /var if created
  varmfs_flags="-S"       # Extra mount options for the mfs /var


这两者默认的配置是AUTO,后面说明,设置为YES,表示将使用内存盘来挂载这两个分区,设置为NO,表示不使用内存盘。
那设置为AUTO呢?这个说明没有解释。
接着看这两个配置的脚本,在中间部分有个描述:
# If we do not have a writable /tmp, create a memory
# filesystem for /tmp.  If /tmp is a symlink (e.g. to /var/tmp,
# then it should already be writable).
#


tmp的脚本比较简单一些:
case "${tmpmfs}" in
[Aa][Uu][Tt][Oo])
        if _tmpdir=$(mktemp -d -q /tmp/.diskless.XXXXXX); then
                rmdir ${_tmpdir}
        else
                if [ -h /tmp ]; then
                        echo "*** /tmp is a symlink to a non-writable area!"
                        echo "dropping into shell, ^D to continue anyway."
                        /bin/sh
                else
                        mount_tmpmfs
                fi
        fi
        ;;
*)
        if checkyesno tmpmfs; then
                mount_tmpmfs
        fi
        ;;
esac

综合说明,结论是:当类型为auto的时候,只检测到目录只读,就会创建一个md内存盘,并挂载到/tmp去。
/var稍微麻烦一些,但是原理差不多,只不是/var需要做的工作要多一些。





http://bbs.landingbj.com/t-0-244461-1.html

评分

参与人数 1可用积分 +6 信誉积分 +2 收起 理由
gvim + 6 + 2 赞一个!

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP