1 votos

Montaje de un disco RAM en el inicio, pero parece ser desmontados de forma automática

Escribí un simple script que monta un disco ram:

%> cat /System/Library/LaunchDaemons/ramdisk.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>Ramdisk</string>
    <key>ProgramArguments</key>
    <array>
        <string>/usr/local/bin/setup_run_shm</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
    <key>UserName</key>
    <string>root</string>
</dict>
</plist>

Pero cuando he accedido, el disco se ha ido. Parece que el disco está desmontada. No estoy realmente seguro de por qué. De acuerdo a /tmp/log.1 no hay errores.

P. S adjunto el setup_run_shm secuencia de comandos:

%> cat /usr/local/bin/setup_run_shm
#!/bin/bash

exec &> /tmp/log.1
date
set -x

size=$(( 1024*1024*8 ))
path=/run/shm/
name="SHM"

if mount | grep -q '/run/shm'; then
    echo RAM disk already exist.
    echo 'Eject the disk and try again. (e.g hdiutil eject /dev/diskX)'
    exit
fi

disk=$(hdiutil attach -nomount ram://"$size")
echo Attached RAM disk $disk

newfs_hfs -v "$name" $disk
echo Formatted RAM disk with name $name

mount -t hfs $disk "$path"
echo Mounted ram disk of size $size to $path

1voto

Tetsujin Puntos 23061

Realmente no sé si esto es realmente una respuesta a su pregunta, pero este Applescript que funciona para mí, ejecutar como una Aplicación.

set RAMDisk to "RAM_Disk" as text
tell application "Finder"
    if not {exists disk RAMDisk} then
        set VolumeName to RAMDisk
        set SizeInMB to 1024
        set NumSectors to ((2 * 1024 * SizeInMB))
        set DeviceName to do shell script "hdid -nomount ram://" & NumSectors
        do shell script "diskutil eraseVolume 'HFS+' '" & VolumeName & "' " & DeviceName
        do shell script "SetFile -a V /Volumes/" & VolumeName       
    end if  
end tell

Se necesita Desarrollador de Herramientas de Línea de Comandos instalado para ejecutar, pero le pregunte y auto-instalar si no está presente.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X