gpt4 book ai didi

linux - 启动时在 ramdisk 上挂载/var - Bash 脚本问题

转载 作者:太空狗 更新时间:2023-10-29 11:22:52 30 4
gpt4 key购买 nike

我有一个嵌入式设备,我需要将/var 和/tmp 放入 ram 中,以减少驱动器(闪存)上的写入次数。我知道如何使用/tmp 执行此操作,因为我无需在每次重启或关机时恢复任何内容。

但是/var 目录有重要的东西。我一直在研究并发现了这个,但它似乎不起作用。

这是脚本:

# insert this on file 'rc.sys.init'
# after the mount of the root file system
# to create the /var on ramdisk


echo "Create ramdisk........."
#dd if=/dev/zero of=/dev/ram0 bs=1k count=16384
mkfs.ext2 -j -m 0 -q -L ramdisk /dev/ram0
if [ ! -d /mnt/ramdisk ]; then
mkdir -p /mnt/ramdisk
fi
mount /dev/ram0 /mnt/ramdisk
if [ -L /var ]; then
tar -xf /vartmp.tar -C /mnt/ramdisk
else
tar -C / -cf /vartmp.tar var
cp -a /var /mnt/ramdisk
rm -rf /var
ln -s /mnt/ramdisk/var /var
fi

# insert this into file 'halt'
# to stop the ram disk properly on shutdown.
#

if [ -e /vartmp.tar ]; then
rm -f /vartmp.tar
fi;
tar -C /mnt/ramdisk -cf /vartmp.tar var

这个脚本有什么问题吗?如果不是,我应该将它们包含在哪个初始化和终止脚本中?

最佳答案

对于所有遇到同样问题的人,我已经解决了我的问题(某种程度上)

我发布的两个脚本是正确的并且完成了工作。你必须小心的是你把它们放在哪里。

在 Slackware 中,第一个运行脚本是 rc.S。起初我将我的第一个脚本复制粘贴到那个脚本的中间。它绝对应该在那里,只是不在我放它的地方。您必须查看脚本 rc.S 从何处调用/var 中的特定目录或文件。 ramdisk 的创建应该在这些行之前。

在rc.6脚本(shutdown script)的底部应该添加shutdown脚本

另外我要指出的是,虽然这提高了驱动器的预期生命周期,但它有点不稳定,有时会随机重启,所以要小心。

关于linux - 启动时在 ramdisk 上挂载/var - Bash 脚本问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11075459/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com