3

ドライブ (コンパクト フラッシュ) への書き込み回数を減らすために、/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

このスクリプトに問題はありますか? そうでない場合、どの初期化および終了スクリプトに含める必要がありますか?

4

2 に答える 2

0

同じ問題を抱えているすべての人にとって、私は自分の問題を解決しました(一種の)

私が投稿した 2 つのスクリプトは正しく、仕事を遂行します。注意しなければならないのは、それらをどこに置くかです。

Slackware では、最初に実行されるスクリプトは rc.S です。最初に、最初のスクリプトをコピーして、そのスクリプトの途中に貼り付けました。私が置いた場所ではなく、間違いなくそこにあるはずです。スクリプト rc.S が /var から特定のディレクトリまたはファイルを呼び出す場所を確認する必要があります。RAM ディスクの作成は、これらの行の前に行う必要があります。

シャットダウン スクリプトは、rc.6 スクリプト (シャットダウン スクリプト) の最後に追加する必要があります。

また、これによりドライブの平均寿命が向上しますが、少し揮発性があり、ランダムに再起動する場合があるため、注意が必要です。

于 2012-06-18T03:37:18.603 に答える