在 /run/shm 上禁用 tmpfs 的正确方法

在 /run/shm 上禁用 tmpfs 的正确方法

如何tmpfs禁用/run/shm?我搜索了 initscripts 并发现以下代码检查了 中的条目fstab,但是我应该更改什么以使其不挂载/run/shm?我正在运行 Debian sid。

/lib/init/mount-functions.sh

read_fstab_entry () {
        # Not found by default.
        found=1

        for file in "$(eval ls $(fstab_files))"; do
                if [ -f "$file" ]; then
                        while read MNT_FSNAME MNT_DIR MNT_TYPE MNT_OPTS MNT_FREQ MNT_PASS MNT_JUNK; do
                                case "$MNT_FSNAME" in
                                  ""|\#*)
                                        continue;
                                        ;;
                                esac
                                if [ "$MNT_DIR" = "$1" ]; then
                                        if [ -n "$2" ]; then
                                                [ "$MNT_TYPE" = "$2" ] || continue;
                                        fi
                                        found=0
                                        break 2
                                fi
                        done < "$file"
                fi
        done

        return $found

函数调用点

 if read_fstab_entry /run/lock; then
            if [ "$MNT_TYPE" = "tmpfs" ] ; then
                RAMLOCK="yes"
            else
                RAMLOCK="no"
            fi
        fi

之后

if [ yes = "$RAMLOCK" ]; then
                domount "$MNTMODE" tmpfs shmfs /run/lock tmpfs "-o${NODEV}noexec,nosuid$LOCK_OPT"
                # Make sure we don't get cleaned
                touch /run/lock/.tmpfs
        else
                chmod "$LOCK_MODE" /run/lock
        fi

答案1

目前尚不清楚您想要实现什么目标。默认情况下(至少在 Debian wheezy 上),/run/shm是 的子目录/run,挂载为 tmpfs。因此,如果您不想/run/shm成为挂载点,请不要更改默认配置。如果您为/run/shmin创建一个条目/etc/fstab,则仅当您指定文件系统类型时才会挂载该条目;否则/dev/shm绑定安装在那里。没有/run/shmtmpfs 不是受支持的配置。如果您想使用其他文件系统类型,请创建一个 fstab 条目并编辑/etc/init.d/mountall.sh/etc/init.d/mountdevsubfs.sh以便它们使用或mount_shm以外的参数进行调用。无论您做什么,请确保模式为 1777,并且没有上次启动留下的文件。mountmount_update/run/shm

答案2

放在#fstab-Entry 前面,将其标记为注释。

continue如果您查看将触发 - 语句中的 -分支的脚本case,使其跳过该行。

答案3

阅读 上的注释/etc/default/tmpfs,编辑文件(添加RAMSHM=no),保存并重新启动。

相关内容