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

zb'*_*zb' 7 debian 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
Run Code Online (Sandbox Code Playgroud)

函数调用点

 if read_fstab_entry /run/lock; then
            if [ "$MNT_TYPE" = "tmpfs" ] ; then
                RAMLOCK="yes"
            else
                RAMLOCK="no"
            fi
        fi
Run Code Online (Sandbox Code Playgroud)

之后

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
Run Code Online (Sandbox Code Playgroud)

Gil*_*il' 2

目前尚不清楚您想要实现什么目标。默认情况下(至少在 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