跳转至

linux加载目录到内存

linux 修改开机启动,将个别目录添加到内存当中运行

Bash
root@pts/0 # vim /etc/rc.sysinit
.......
# Remount the root filesystem read-write.
update_boot_stage RCmountfs
if remount_needed ; then
  action $"Remounting root filesystem in read-write mode: " mount -n -o remount,rw /
fi

.......

# create RAM var by chaichuan
action $"Create Private tmp: " mount -n -t ramfs none /tmp -o 'size=100m'
chmod 1777 /tmp
mkdir /tmp/var1
cp -apr /var/* /tmp/var1/
action $"Create Private var: " mount -n -t ramfs none /var -o 'size=500m'
cp -apr /tmp/var1/* /var/
rm -rf /tmp/var1
# end chaichuan

.......

# Clean up SELinux labels
if [ -n "$SELINUX_STATE" ]; then
   restorecon /etc/mtab /etc/ld.so.cache /etc/blkid/blkid.tab /etc/resolv.conf >/dev/null 2>&1
fi

添加....中间部分

1、引导启动挂载tmp目录到内存,大小size=100m

action $"Create Private tmp: " mount -n -t ramfs none /tmp -o 'size=100m'

2、给权限

chmod 1777 /tmp

3、在tmp创建临时目录,将/下的想加载到内存的目录内容copy到新建的临时目录,这里演示/var目录

Bash
mkdir /tmp/var1
cp -apr /var/* /tmp/var1/

4、挂载/var目录到内存,大小size=500m,根据目录大小与以后写入的预估值,还要考虑本机内存大小

action $"Create Private var: " mount -n -t ramfs none /var -o 'size=500m'

5、再将刚才copy的var目录下的文件copy回来,然后删除临时目录

Bash
cp -apr /tmp/var1/* /var/
rm -rf /tmp/var1