#!/bin/bash # Copyright 2017 Matthew Thode # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. if [[ "${DIB_DEBUG_TRACE:-0}" -gt 0 ]]; then set -x fi set -eu set -o pipefail # make /dev/shm dir if it doesn't exist # mount tmpfs and chown it # existing programs could be using /dev/shm # This means it cannot be moved or backed # up as a copy easily. The only remaining # option is to move the link if it exists # as a link. Existing programs will still # hold the file handle of the original # location open and new programs can use # the fixed /dev/shm. [[ -e /run/lock/shm_fixed ]] && exit 0 # shm has already been fixed if [[ ! -d /dev/shm ]]; then if [[ ! -e /dev/shm ]]; then if [[ -L /dev/shm ]]; then mv /dev/shm /dev/shm.orig fi mkdir /dev/shm fi fi mount -t tmpfs none /dev/shm chmod 1777 /dev/shm mkdir -p /run/lock touch /run/lock/shm_fixed